1

我们喜欢 sqlite3 的简单性,但担心它优雅地处理并发更新的能力。我们的网络应用程序适用于大约 30 个有权更新的用户(最多 50 个用户)和一些只能阅读该页面的网络用户(比如说 500 个网络用户)。这 30 (50) 个用户可能不会同时进行更新。对数据库的每日更新应不超过 1000 次更新(考虑将一个数据库记录作为 ONE 更新保存到表中)。更新活动最有可能发生在上午 9 点至下午 5 点的工作时间内。

由于 sqlite3 锁定整个数据库以进行更新(不确定它是否锁定读取请求),我们的问题是 sqlite3 是否足够强大,可以在我们的情况下优雅地处理并发更新而不会显示异常错误。非常感谢。

4

1 回答 1

2

我认为您已经掌握了有关 SQLite 工作原理的足够信息。所以你的问题的答案是“是的”它可以处理。但真正的问题是性能如何?这取决于更新/插入数据库的频率。更新将锁定并保持读取等待。

假设性能可以接受并且您使用它。如果您的数据库损坏了怎么办?即使是最先进的 DBMS 系统也可能包含损坏的数据。从服务器关闭到错误可能有很多原因。如果您的 SQLite 损坏,据我所知,恢复数据库文件会更加困难。

我强烈建议不要冒险使用非嵌入式 DBMS。

于 2012-04-09T18:00:03.103 回答