简介
sqlite是一个开源的嵌入式关系型数据库。与常规数据库不同的地方是:
- 零配置
- 没有账号概念
- 客户端和服务端运行在应用程序的进程空间,不需要网络配置
sqlite可以编译到应用程序中。依赖于文件系统、占用资源少、支持数据库级别锁。sqlite的适用场景主要在嵌入式等资源比较紧张的领域。
架构
sqlite采用模块化设计,分为3个子系统和1个附件。3个主要系统又分为8个模块。
sqlite主要包括:内核(core)、 SQL编译器(compiler)、后端(backend)及附件(accessories)。进一步细分为:接口(interface)、词法分析器(tokenizer)、语法分析器(parser)、代码生成器(code generator)、虚拟机(virtual machine)、B树(B-Tree)、页面缓存(page cache)、操作系统接口(OS interface)、实用工具(utilities)及测试代码(test code)。
示意图: