关于SQLite

来源:互联网 发布:淘宝证书错误怎么办 编辑:程序博客网 时间:2024/06/06 04:20

        SQLite是一个在线程序库,它实现了字包含、非服务、零配置、事务性的SQL数据库引擎。SQLite的代码在公共域中,因此对于任何目的都免费使用,商业的或私人的。目前,SQLite用在很多应用领域,包括很多高知名度的项目。

        SQLite是一个嵌入式的SQL数据库引擎。不像绝大多数的其它SQL数据库,SQLite不具有独立的服务器进程。SQLite直接读取与写入有序磁盘文件。一个完整的具有很多表、索引、触发器与试图的SQL数据库包含于一个单独的磁盘文件。该数据库文件格式是跨平台的,你可以在32位与64位系统间或在大端或小端体系架构间自由拷贝一个数据库。这些特征使SQLite是作为应用文件格式的通用选择。考虑SQLite并不是Oracle的替代物,而是fopen()的替代物。

        SQLite是一个简洁的库。在所有的功能开启的情况下,该库的大小可以小于500K,这依赖于目标平台与编译器优化设置。(64位代码稍微大点。并且一些编译器优化,如侵占性的内联函数与循环展开可以引起对象代码更大。)如果忽略可选功能,SQLite库的大小可以削减到300K以下。SQLite也可以运行在小的堆空间(4K)与很小的栈(100K),使SQLite在内存限制的组件下是非常受欢迎的数据库引擎,如手机、PDAs与MP3播放器。存在内存使用与速度的折中。SQLite通常随着你给予更多的内存而运行的更快。尽管如此,即使在低内存环境下性能也是很不多的。

        SQLite在每个版本发布之前都进行非常仔细的测试,并且拥有非常可靠的好名声。绝大多数的SQLite源代码都完全提供测试与验证。自动化测试组件运行数百万的测试示例,包括成千上万的独立SQL语句,且达到100%分支测试覆盖率。SQLite对于内存分配失败与磁盘I/O错误的响应很优雅。事物是ACID的,即使系统崩溃或电源坏掉。所有这些都经过自动测试验证,使用特殊的测试工具模拟系统错误。当然,即使经过这些测试,也存在bugs。不过与一些类似的项目(尤其是商业对手)不同,SQLite是于所有bugs是开放与坦诚的,并且提供bugs列表,包括严重bugs列表与每一分钟进行的bug报告和代码变更的同步。

        SQLite代码基础被国际化开发者小组支持,他们专职工作于SQLite。这些开发者持续扩展SQLite的功能,并且在保持向后兼容于已经发布的接口、SQL语法与数据库文件格式的同时,提升它的可靠性与性能。源代码对于任何需要它的人都是绝对免费的,并且专业支持也是可以的。