我在SQLite 3中有一个50MB大小的数据库。所有的db对象都是通过web服务访问的。对于大约500个并行用户的并发在线使用,SQLite是不错的选择。SQLite是否适合网站使用
注意:用户将使用相同的表格但不是相同的行。每个用户只能看到/更新/删除他的数据。
我在SQLite 3中有一个50MB大小的数据库。所有的db对象都是通过web服务访问的。对于大约500个并行用户的并发在线使用,SQLite是不错的选择。SQLite是否适合网站使用
注意:用户将使用相同的表格但不是相同的行。每个用户只能看到/更新/删除他的数据。
SQLite的通常会低到中等流量的网站(这是说工作的伟大的数据库引擎,99.9所有网站的百分比)。 SQLite可以处理的网络流量的大小取决于网站使用数据库的程度。一般来说,任何每天点击次数少于100K的站点应该可以很好地使用SQLite。 100K点击/日数是一个保守的估计,而不是一个硬性上限。 SQLite已被证明可以处理10倍的流量。
(Source)
根据wikipedia,如果有任何并发访问数据库,SQLLite将fail a write。这一点让我觉得它不适用于500个并发用户。
除非几乎没有任何更新正在进行。我认为500个并发用户肯定足以对全面发展的数据库管理系统发出警告。
请注意,它看起来像维基百科文章是错误的(维基百科上很常见)。无论如何,如果这500位用户将要更新很多,我仍然会对500个并发用户感到厌倦,并发写数为0。虽然Nifle引用的线程中的数字听起来不错,但这些很可能来自测试,这些测试旨在让sqllite看起来不错。我怀疑你会得到相同的milage与所有查询,所有表的大小,所有的缓存状态等
如果启用事务并正确使用锁,则Sqlite不会失败。这是由一个体面的ORM正确,透明地做出的,但这也是一个好习惯。 – alexroat 2017-06-12 19:59:55
MySQL是Web服务器好得多的选择。
大多数服务器上默认情况下不安装SQLite,而经常安装MySQL。
MySQL具有事务管理功能,因此它适用于多个并发写入。
更多权威信息 https://www.sqlite.org/whentouse.html – 2016-04-13 07:48:11
显然,SQLite更简单,MySQL,postgresql,Oracle ......它只是一个200KB的库。事实上,它不存在你错了,事实上,sqlite的端口数量实际上比MySQL或其他数据库引擎更好。默认情况下未安装的事实并不相关,因为每台服务器都需要使用所需软件配置的系统管理员。这是恕我直言。 – alexroat 2017-06-12 19:54:11
你是什么意思平行?在线的同时,或者会有500个文件句柄到数据库? – Novikov 2010-10-05 20:59:41