2010-12-17 22 views
3

我終於完成了我的第一個rails應用程序,我想發佈它。 但我不確定SQLite是否足夠好。 人們是否也將其用於部署的生產環境?SQLite夠好嗎?

我爲我的學校製作了一個類似craiglist的應用程序,在這裏人們可以讀寫基於文本的條目。

+0

對於什麼?對你的應用程序做些什麼會有所幫助。我在一個相對較低的應用程序中使用sqlite,它在那裏效果很好。 – 2010-12-17 19:48:11

+0

Dupe:http://stackoverflow.com/questions/913067/sqlite-as-a-production-database-for-a-low-traffic-site – jyoseph 2010-12-17 19:57:38

回答

2

這是一種很好的入門方式,它甚至可以在輕載環境下工作,但在讀/寫環境下不能很好地擴展。

好消息是,切換到像MySQL或Postgres這樣的完整RDBMS通常非常簡單。

2

SQLite的性能很爛,更新數據庫行時導致高延遲,因爲整個數據庫文件寫期間被鎖定。 Mysql等進行行級鎖定,從而允許更高級別的併發請求。

+2

-1。它清楚地表明SQLite不支持併發。 – 2010-12-17 19:54:00

+1

@Aseem:從技術上講,它不支持很多* write *併發性;這正是使用數據庫服務器進程的時候。讀併發支持,但(因爲它不會造成太多的麻煩,如果兩個進程同時從同一個文件讀取,當然!) – 2010-12-17 20:08:45

+0

它只能用於單用戶應用程序,它表現出色。 SQLite甚至不支持多線程應用程序中的多個SELECTS。即使兩個用戶同時使用它,也不建議使用sqlite。冗長的讀/寫操作會導致'數據庫被鎖定'異常。 – 2010-12-17 20:34:54