2010-12-17 8 views
3

私は最終的に私の最初のレールアプリを終了し、それをリリースしたいと思います。 しかし、SQLiteが十分かどうかはわかりません。 デプロイされた本番環境にもこれを使用していますか?SQLiteは十分ですか?

私はテキストベースのエントリを読み書きできる私の学校のアプリのようなクレイグリストを作った。

+0

何のために?あなたのアプリケーションが何をするかというアイデアは役に立ちます。私はsqliteを比較的少量のアプリケーションで使用していますが、そこではうまく動作します。 –

+0

Dupe:http://stackoverflow.com/questions/913067/sqlite-as-a-production-database-for-a-low-traffic-site – jyoseph

答えて

2

これは始めるのに最適な方法ですが、負荷の軽い環境でも動作しますが、読み取り/書き込み環境ではうまく調整できません。

MySQLやPostgresのような完全なRDBMSへの切り替えは、通常非常に簡単です。

3

何にでも十分です。負荷とは何ですか、1秒あたりのトランザクション数です。あなたはどんな並行性を期待していますか?詳細はどうぞ。全体デシベルファイルが書き込み時にロックされているため、http://www.sqlite.org/whentouse.html

2

SQLiteの性能は、データベースの行を更新する際に高遅延につながる、同時負荷の下で吸う:

また、このページを参照してください。 Mysqlなどは行レベルのロックを行うため、より高いレベルの同時リクエストが可能です。

+2

-1。 SQLiteが並行処理をサポートしていないことが明確に文書化されています。 –

+1

@Aseem:技術的には、* write *の並行性はほとんどありません。それはまさにデータベースサーバプロセスの使用に払うときです。読み込みの並行処理はサポートされています(2つのプロセスが同時に同じファイルから読み込んでいる場合、大きな問題は発生しません)。 –

+0

これは、単一のユーザ向けにのみ使用されます。 SQLiteはマルチスレッドアプリケーションで複数のSELECTSをサポートしていません。 2人のユーザーが同時に使用する場合でも、sqliteを使用することはお勧めしません。読み取り/書き込み時間が長いと、 'db is locked'例外がスローされます。 –

関連する問題