Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python&;SQLite在生产中的应用_Python_Sqlite - Fatal编程技术网

python&;SQLite在生产中的应用

python&;SQLite在生产中的应用,python,sqlite,Python,Sqlite,当使用python时,SQLite是否可以用作生产数据库来管理10000个数据库文件(每个文件位于一个单独的文件中,大小为500[MB]) 只有一个线程将用于将数据写入数据库文件(无并发) 是否有其他库可以更好/更快/更可靠地工作?也许您可以看看标题为“sqlite的适当使用”。引述: 基本的经验法则是 使用SQLite的合适方法是:使用 SQLite在简化的情况下 管理、实施和管理 维护比维护更重要 数不清的复杂特征 企业数据库引擎提供。 事实证明 简单是你最好的选择 比许多人意识到的更普遍

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

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

是否有其他库可以更好/更快/更可靠地工作?

也许您可以看看标题为“sqlite的适当使用”。引述:

基本的经验法则是 使用SQLite的合适方法是:使用 SQLite在简化的情况下 管理、实施和管理 维护比维护更重要 数不清的复杂特征 企业数据库引擎提供。 事实证明 简单是你最好的选择 比许多人意识到的更普遍

查看SQLite的另一种方法是: SQLite的设计目的不是替换 神谕它的设计目的是取代 fopen()


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

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


至于大小限制,请看一看;SQLite项目认为它的测试很严肃,并且包括了数据库限制。最大BLOB大小为2 GB,这意味着他们测试的数据库在其测试套件中至少有这么大,因此高达500 MB的数据库应该很容易处理。

谢谢。它似乎很适合。您知道吗w如果它能处理10000个大小为~500[MB]的数据库文件?我一次只能处理一个文件,但是,我希望获得良好的性能。最重要的是,是否存在任何完整性问题?(文件损坏等)?我认为任何事情都无法理智地处理。即使一个数据库中有10k个表也在“大毛茸茸的ERP”中区域-10k个不同的数据库听起来像是一场噩梦。如何正确地进行架构升级?@Mat:不会有任何架构升级;这些基本上是单独的文件,每个文件都将被单独访问/处理。没有连接/没有架构更改;只有单个文件。@Mat,他说的不是10k个表,只是10k个不同的SQL文件系统中的ite文件,这是完全不受SQLite影响的,真的。由于他一次只处理其中一个文件,我们基本上是在讨论“SQLite能否以可靠和安全的方式处理500MB的数据库?” here@Jim:您在这里获得了100%的资金。感谢您的帮助。对此有任何反馈吗?谢谢您。
SQLite
可以轻松处理大小为500[MB]的数据库文件吗?请参阅;最大BLOB大小为2GB,这一限制经过了很好的测试,也是您的数据库大小上限的4倍。我想说这是一个响亮的“是!”。