2010-10-05 58 views
5

我在SQLite 3中有一个50MB大小的数据库。所有的db对象都是通过web服务访问的。对于大约500个并行用户的并发在线使用,SQLite是不错的选择。SQLite是否适合网站使用

注意:用户将使用相同的表格但不是相同的行。每个用户只能看到/更新/删除他的数据。

+3

你是什么意思平行?在线的同时,或者会有500个文件句柄到数据库? – Novikov 2010-10-05 20:59:41

回答

12

SQLite的通常会低到中等流量的网站(这是说工作的伟大的数据库引擎,99.9所有网站的百分比)。 SQLite可以处理的网络流量的大小取决于网站使用数据库的程度。一般来说,任何每天点击次数少于100K的站点应该可以很好地使用SQLite。 100K点击/日数是一个保守的估计,而不是一个硬性上限。 SQLite已被证明可以处理10倍的流量。

Source

+7

这是一个真正尝试过的人http://stackoverflow.com/questions/54998/how-scalable-is-sqlite – Nifle 2010-10-05 21:11:16

+1

每天100K点击率是每秒1.15点(假设每天工作8个小时3-4点)。一个拥有500个并发用户的网站将变得更像每秒100-500次点击。 – tster 2010-10-05 21:11:54

+0

@tster - 听起来正确。我只是提供数据,而不是提供意见。 – Nifle 2010-10-05 21:15:23

3

根据wikipedia,如果有任何并发​​访问数据库,SQLLite将fail a write。这一点让我觉得它不适用于500个并发用户。

除非几乎没有任何更新正在进行。我认为500个并发用户肯定足以对全面发展的数据库管理系统发出警告。

请注意,它看起来像维基百科文章是错误的(维基百科上很常见)。无论如何,如果这500位用户将要更新很多,我仍然会对500个并发用户感到厌倦,并发写数为0。虽然Nifle引用的线程中的数字听起来不错,但这些很可能来自测试,这些测试旨在让sqllite看起来不错。我怀疑你会得到相同的milage与所有查询,所有表的大小,所有的缓存状态等

+0

如果启用事务并正确使用锁,则Sqlite不会失败。这是由一个体面的ORM正确,透明地做出的,但这也是一个好习惯。 – alexroat 2017-06-12 19:59:55

-2

MySQL是Web服务器好得多的选择。
大多数服务器上默认情况下不安装SQLite,而经常安装MySQL。
MySQL具有事务管理功能,因此它适用于多个并发写入。

+0

更多权威信息 https://www.sqlite.org/whentouse.html – 2016-04-13 07:48:11

+1

显然,SQLite更简单,MySQL,postgresql,Oracle ......它只是一个200KB的库。事实上,它不存在你错了,事实上,sqlite的端口数量实际上比MySQL或其他数据库引擎更好。默认情况下未安装的事实并不相关,因为每台服务器都需要使用所需软件配置的系统管理员。这是恕我直言。 – alexroat 2017-06-12 19:54:11