1

私たちは sqlite3 のシンプルさを気に入っていますが、同時更新を適切に処理する能力について懸念しています。私たちの Web アプリは、更新する権利を持つ約 30 人のユーザー (最大 50 ユーザー) と、ページを読むことしかできない多数の Web ユーザー (500 人の Web ユーザーとしましょう) を対象としています。これらの 30 (50) 人のユーザーが同時に更新することはおそらくありません。データベースへの毎日の更新は、定期的に 1000 回を超えないようにする必要があります (1 つのデータベース レコードを 1 回の更新としてテーブルに保存することを検討してください)。更新アクティビティは、午前 9 時から午後 5 時までの勤務時間中に発生する可能性が最も高いです。

sqlite3 は更新のためにデータベース全体をロックするため (読み取り要求のためにロックするかどうかは不明)、私たちの質問は、例外エラーを表示することなく、この状況で並行更新を適切に処理するのに十分強力な sqlite3 であるかということです。本当にありがとう。

4

1 に答える 1

2

SQLiteがどのように機能するかについてはすでに十分な情報があると思います。したがって、あなたの質問に対する答えは、それが処理できる「はい」です。しかし、本当の問題は、パフォーマンスはどうなるかということです。これは、データベースの更新/挿入の頻度によって異なります。更新はロックされ、読み取りを待機し続けます。

パフォーマンスが許容範囲内であり、それを使用するとします。データベースが破損した場合はどうなりますか?最も高度なDBMSシステムでさえ、データが破損している可能性があります。サーバーのシャットダウンからバグまで、これには多くの理由が考えられます。SQLiteが破損した場合、私が知る限り、データベースファイルを回復するのは困難です。

リスクを冒さず、埋め込まれていないDBMSを使用することを強くお勧めします。

于 2012-04-09T18:00:03.103 に答える