我在SQLite 3中有一个50MB大小的数据库。所有数据库对象都是通过Web服务访问的。对于大约500个并行用户的并发在线使用,SQLite是一个不错的选择。
注意:用户将使用相同的表但不使用相同的行。每个用户只能查看/更新/删除他的数据。
答案 0 :(得分:15)
SQLite通常可以作为中低流量网站(也就是所有网站的99.9%)的数据库引擎。当然,SQLite可以处理的Web流量大小取决于网站使用其数据库的程度。一般来说,每天点击次数少于100K的网站应该可以正常使用SQLite。 100K点击/天的数字是一个保守估计,而不是一个硬上限。 SQLite已被证明可以使用10倍的流量。
(Source)
答案 1 :(得分:3)
根据维基百科,如果对数据库有任何并发访问,SQLLite将fail a write。仅这一点就让我觉得它不适用于500个并发用户。
除非几乎没有任何更新。我认为500个并发用户肯定足以证明一个完整的DBMS。
注意,看起来维基百科的文章是错误的(在维基百科上很常见)。无论如何,如果这500个用户要进行大量更新,我仍然会厌倦500个并发用户,并发写0个并发。虽然Nifle引用的主题中的数字听起来不错,但这些数字很可能来自于设计使sqllite看起来很好的测试。我怀疑你会得到所有查询,所有表大小,所有缓存状态等相同的milage。
答案 2 :(得分:1)
我在VPS上运行了一些Web服务器,并在Pi计算机上本地运行了这些Web服务器,它们都在使用MySQL或MariaDB的Ubuntu Linux上运行
对于Web服务器,您必须具有事务管理功能,以确保来自多个用户的写入正常工作
SqLite适用于低使用率的单实例数据库,您可能会遇到数据完整性问题,写入失败以及其他问题
SqLite不适合Web服务器
您还必须了解Web安全和跨站点脚本和SQL注入攻击等问题,否则您可能会在几天之内将站点垃圾破坏
我建议您安装一个本地Web服务器套件,在Windows上称为WAMP,在Linux上称为LAMP,表示Windows(Linux),Apache,MySQL,PHP
PHPMyAdmin是用于Web服务器上数据库管理的出色工具,通常包含在WAMP,LAMP设置中
对于任何了解虚拟主机的人来说,这始终是一个很好的起点
答案 3 :(得分:-2)
MySQL是Web服务器的更好选择 大多数服务器上默认不安装SQLite,而MySQL经常安装 MySQL具有事务管理功能,因此适用于多个并发写入。