SQLite是一个进程内库,实现了自包含,无服务器,零配置,事务性SQL数据库引擎。SQLite的代码处于公有领域,因此可以免费用于任何目的,无论是商业用途还是个人用途。

sqlite-logo.jpg

    SQLite是一个嵌入式SQL数据库引擎。与大多数其他SQL数据库不同,SQLite没有单独的服务器进程。SQLite直接读写到普通的磁盘文件中。一个包含多个表、索引、触发器和视图的完整的SQL数据库包含在一个磁盘文件中。数据库文件格式是跨平台的——您可以在32位和64位系统之间或在大端和小端架构之间自由复制数据库。这些特性使SQLite成为一种流行的应用程序文件格式的选择。SQLite数据库文件是美国国会图书馆推荐的存储格式。将SQLite视为对Oracle的替代方案。但是作为fopen()的替代品

    SQLite是一个紧凑的库。启用所有功能时,库的大小可以小于750KiB,这取决于目标平台和编译器优化设置。(64位代码更大。某些编译器优化如激进的函数内联和循环展开会导致目标代码变得更大。)内存使用和速度之间存在权衡。SQLite通常运行得越快,给它提供的内存就越多。然而,即使在低内存环境中,性能通常也相当好。根据使用方式,SQLite可以比直接的文件系统I/O更快。

    SQLite在每次发布前都经过非常仔细的测试,并且以其高可靠性而闻名。SQLite的大部分源代码纯粹用于测试和验证。自动化测试套件运行了数以百万计的测试案例,涉及数十亿个单独的SQL语句,并实现了100%的分支测试覆盖。SQLite能够优雅地应对内存分配失败和磁盘I/O错误。事务是ACID即使在系统崩溃或停电中断的情况下也是如此。这一切都通过使用特殊测试工具进行自动化测试来验证,这些测试工具模拟系统故障。当然,即使有所有这些测试,仍然会有错误。但与一些类似的项目(尤其是商业竞争对手)不同,SQLite对所有错误都是开放和诚实的,并提供错误列表和逐分钟的代码更改时间表。

    SQLite代码库由一个国际团队的开发人员支持,这些开发人员全职致力于SQLite的开发。开发人员继续扩展SQLite的功能,并在保持已发布接口规范、SQL语法和数据库文件格式的向后兼容性的同时提升其可靠性和性能。源代码对任何想要的人都绝对免费,但专业支持也随时提供。

    SQLite项目于2000-05-09开始。未来总是难以预测,但开发者的意图是支持SQLite到2050年。设计决策都是以这个目标为指导的。