蟒蛇&生产中的SQLite

时间:2011-06-05 18:22:41

标签: python sqlite

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

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

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

2 个答案:

答案 0 :(得分:7)

也许你会看到this page标题为“sqlite的合适用途”。引用:

  

它的基本经验法则   适合使用SQLite是这样的:使用   SQLite在简单的情况下   管理,实施和   维护比重要   无数复杂的功能   企业数据库引擎提供。   事实证明,情况在哪里   简约是更好的选择   比许多人意识到的更为常见。

     

另一种看待SQLite的方法是:   SQLite不是为了取代而设计的   甲骨文。它旨在取代   fopen()函数。

答案 1 :(得分:0)

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

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

至于尺寸限制,请查看http://www.sqlite.org/limits.html; SQLite项目认真测试,包括数据库限制。最大BLOB大小为2 GB,这意味着他们测试的数据库在测试套件中至少是那么大,因此最多500MB的数据库应该是轻而易举的。