sqlite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起MysqL、Postgresql这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。sqlite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,sqlite也迎来了一个版本 sqlite 3已经发布。
sqlite特性:
事务是原子的,一致的,独立的,持久的(ACID),即使在使系统崩溃或掉电之后。
零配置——无需安装或管理。
实现了sql92标准的绝大部分。(未能支持的特性)
将一个完整的数据库存储在一个单一的跨平台磁盘文件上。
支持TB级的数据库和GB级的字符串和二进制大对象。(请见limits.html)
代码轻巧:完全配置小于350KB;省略部分特性,可小于200KB。
对大部分常见的操作,快于流行的C/S数据库引擎。
API简单,易用。
用ANSI-C所写。与命令行工具相结合。对其他语言的支持单独可用。
源代码良好注释,分支测试覆盖率达100%。
单一的ANSI-C形式的源代码可用,可以简单地拖放到其他项目当中。
自包含:没有外部依赖。
跨平台:直接支持Unix (Linux and Mac OS X),OS/2,和Windows (Win32 and WinCE);可以很容易地移植到其他操作系统。
源代码在公共知识域中,可用于任何目的。(不过“May you do good and not evil. ”——愿你做好事,不要做坏事。)
附带一个独立的命令行界面客户端,可用于管理sqlite引擎。
sqlite建议应用场合:
作为应用文件格式。在应用中使用sqlite,而不是使用fopen()来生成XML文件或某些专有格式的文件来存储数据。这样你将避免额外写一个问题重重的分析器,你的数据将变得更加容易访问,更加跨平台,更新操作将具备事务性。
作为小电子器件的数据库。sqlite是手机、PDA、MP3、机顶盒以其其他小电子器件常用的数据库引擎。sqlite代码轻巧,能充分利用内存空间、磁盘空间以及带宽;高度可靠,并且无需数据库管理的维护。
作为网站数据库。因为它无需配置,将信息存储在磁盘文件上,sqlite是支撑中小型网站数据存储受欢迎的选择。
企业RDBMS的代用品。sqlite常被用作用于演示与测试目的的企业RDBMS的借用品。sqlite速度快,无需配置,使得它为测试省去很多事,也很容易搭建演示系统。