请问SQLite数据库能不能完美地代替文本数据库?
请问SQLite数据库在稳定可靠、并发访问、全文检索、服务器资源占用等几方面的性能是否理想?能不能完美地代替文本文件(文本数据库)而成为论坛、BLOG、CMS等程序的嵌入式数据库引擎方案的首选?(这样,嵌入式数据库SQLite用于中低访问量网站的解决方案,客户/服务器型数据库MySQL等用于中高访问量网站的解决方案,而程序的框架设计和细节实现基本一致,稍微调整数据库接口等细节实现不同数据库的支持。)
此外,在没有安装DBD-SQLite模块的虚拟主机上,有没有在perl中使用SQLite的解决方案?
非常感谢。
根据介绍,SQLite的多数常见操作的速度和综合速度比MySQL、PostgreSQL快,因为是嵌入式数据库而不需要server守护进程,支持大多数SQL92标准,整个数据库保存成一个文件的形式。
这里是SQLite和PostgreSQL、MySQL的速度对比,包括速度差别的理论解释:
http://sqlite.org/speed.html
这里是SQLite和PostgreSQL、MySQL、FirebirdSQL的速度对比:
http://www.sqlite.org/cvstrac/wiki?p=SpeedComparison
这里介绍什么时候应当选择SQLite:
http://www.sqlite.org/cvstrac/wiki?p=WhenToUseSqlite
其中有一段关于用于网站的介绍,简单翻译如下:
SQLite用作中低访问量的网站的数据库引擎,能满意地工作。所有Web网站中,99.9%是中低访问量的网站。当然,SQLite处理的访问量,要看网站使用数据库的程度,一般地讲,每天低于十万点击的网站,会工作得很好,每天十万点击是保守的评估,不是实际的上限,SQLite已经示范工作于十倍于此的访问量。
(SQLite usually will work great as the database engine for low to medium traffic websites (which is to say, 99.9% of all websites). The amount of web traffic that SQLite can handle depends, of course, on how heavily the website uses its database. Generally speaking, any site that gets fewer than a 100000 hits/day should work fine. The 100000 hits/day figure is a conservative estimate, not a hard upper bound. SQLite has been demonstrated to work with 10 times that amount of traffic.)
更多介绍可以google或者从SQLite中文站开始:
http://sqlitecn.feuvan.net
下面是几个主要特性:
* 事务操作是原子,一致,孤立,并且持久的(ACID),即使在系统崩溃和电源故障之后。
* 零配置――不需要安装和管理。
* 实现了绝大多数SQL92标准。
* 整个数据库存储在一个单一的文件中。
* 数据库文件可以在不同字节序的机器之间自由地共享。
* 支持最大可达2T的数据库。 (2^41 字节)
* 字符串和BLOB类型的大小只受限于可用内存。
* 小的代码: 完整配置的少于250KB,忽略一些可选特性的少于150KB。
* 在大多数常见操作上比流行的客户/服务器数据库引擎更快。
* 简单,易于使用的API。
* 内建TCL绑定。 另外提供可用于许多其他语言的绑定。
* 具有良好注释的源代码,95%经过测试。
* 独立:没有外部依赖。
* 源代码位于公共域。 可用于任何用途。