簡體   English   中英

使用SQLite作為生產數據庫,但不好的想法

[英]Using SQLite as production database, bad idea but

我們目前正在使用postgresql作為我們在rails中的生產數據庫,很棒的數據庫,但我正在圍繞SQLite構建我們的應用程序的新版本。 實際上,我們不使用postgres的高級功能,如全文搜索或PL / SQL。 考慮到SQLite,我喜歡用一個文件移動數據庫的想法,它在服務器和Rails中的簡單集成,性能似乎非常好 - > Benchmark

我們的應用程序的流量相對較高,我們每天的觀看次數達到了120萬次。 因此,我們從數據庫中進行了大量讀取,但是我們做了一些寫操作。

你對那個怎么想的 ? 任何使用或嘗試(像我們)使用SQLite像生產數據庫的人的反饋?

如果你進行大量的讀取和少量寫入,那么將SQLite與某種內存緩存機制結合起來( memcacheredis對此非常有用)。 這將有助於最小化對數據庫的訪問(讀取)次數。 這種方法有助於任何多讀取少量寫入環境,並且在特定情況下有助於不會遇到SQLite缺陷。

SQLite專為嵌入式系統而設計。 它可以與單個用戶一起使用,但不能很好地處理並發請求。 每天1.2M的觀看次數可能意味着你將獲得足夠的后者。

對於僅進行讀取,我認為理論上它可以比進程外數據庫服務器更快,因為您不必將數據序列化到內存或網絡流,它們都在進程中訪問。 在實踐中,它可能更快; RDBMS可能更快; 例如,MySQL具有非常好的查詢緩存功能,對於某些可能是改進的查詢,因為所有的rails進程都會使用相同的緩存。 使用sqllite,他們不會共享緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM