python & SQLite in Production



使用python时,SQLite是否可以用作生产数据库来管理10000个数据库文件(每个文件都在一个单独的文件中,大小为500[MB])?

只有一个线程将用于向数据库文件写入数据(无并发)。

是否存在可以更好/更快/更可靠地工作的替代库?

也许您会看到标题为"sqlite的适当用途"的页面。报价:

当它是适合使用SQLite的是:使用SQLite在简单的情况下管理、实施和维护比无数复杂的特征企业数据库引擎提供。事实证明简单是更好的选择比许多人意识到的更普遍。

另一种看待SQLite的方法是:SQLite不是为了取代神谕它旨在取代fopen()。

如果一次处理一个SQLite数据库,则可以处理的数据库文件数量没有限制。只要确保在打开下一个数据库之前正确清理(关闭每个数据库连接),就不会出现任何问题。

一次打开一个数据库与只使用一个数据库文件没有什么不同。SQLite是一种很好的格式,我还没有看到任何完整性问题,而且我已经广泛滥用了这种格式,包括在重新打开数据库之前将更新的数据库同步到位(只读取过被覆盖的数据库),或者从第二个进程执行完全清除和重建(封装在一个大事务中,同样是第一个进程只读取过它)。你不应该用它做的一件事是把它存储在网络共享上。

至于尺寸限制,请查看http://www.sqlite.org/limits.html;SQLite项目认真对待它的测试,并包含了数据库限制。BLOB的最大大小为2GB,这意味着他们测试的数据库在测试套件中至少有那么大,因此高达500MB的数据库应该很容易处理。

最新更新