sqlite数据库

最开始学习PHP编程的时候,一直希望linux下有个能与win下的access数据库类似的小型独立数据库,不需要安装相应的服务,想用就可以直接使用。由于E文有限,当时找了一圈都没发现合适的,也知道一点关于sqlite,但是不透彻。我一直以为sqlite是一种介于大型数据库如mysql与用户界面的一个中间缓存,所以没太多关注,自己做的些小程序都是基于win平台下的php+access,因为不需要用到mysql这种数据库.

SQLite 是 D. Richard Hipp 用 C 语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性。它是作为 PHP V4.3 中的一个选项引入的,构建在 PHP V5 中。SQLite 支持多数 SQL92 标准,可以在所有主要的操作系统上运行,并且支持大多数计算机语言。SQLite 还非常健壮。其创建者保守地估计 SQLite 可以处理每天负担多达 100,00 次点击率的 Web 站点,并且 SQLite 有时候可以处理 10 倍于上述数字的负载。

SQLite 对 SQL92 标准的支持包括索引、限制、触发和查看。SQLite 不支持外键限制,但支持原子的、一致的、独立和持久 (ACID) 的事务(后面会提供有关 ACID 的更多信息)。这意味着事务是原子的,因为它们要么完全执行,要么根本不执行。事务也是一致的,因为在不一致的状态中,该数据库从未被保留。事务还是独立 的,所以,如果在同一时间在同一数据库上有两个执行操作的事务,那么这两个事务是互不干扰的。而且事务是持久性的,所以,该数据库能够在崩溃和断电时幸免 于难,不会丢失数据或损坏。SQLite 通过数据库级上的独占性和共享锁定来实现独立事务处理。这意味着当多个进程和线程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进 程或线程向数据库执行写入操作之前,必须获得独占锁定。在发出独占锁定后,其他的读或写操作将不会再发生。
当然还有个选择是http://www.sleepycat.com,不过还不大清楚Berkeley DB的详细情况,用的人好像不多。

Published by 阿飞 on
Tags: sqlite

暂无评论