阅界资讯

[嵌入式数据库/RDBMS] SQLite 3.x: 全球部署最广泛的零配置、单文件、嵌入式 ACID 关系型数据库引擎

阅阅界编辑部1阅读11分钟

刷到《[嵌入式数据库/RDBMS] SQLite 3.x: 全球部署最广泛的零配置、单文件、嵌入式 ACID 关系型数据库引擎》,内容很实在,值得细读。这篇把它的关键做法提炼出来,帮你省下通读的时间,结尾附行动建议。

0 序 缘起 Chroma、Weixin 、Windows、Android 等都在使用 SQL Lite 两年前开始、至近期多次使用、研究 DB-GPT 这个 Data-Agent 开源项目。 DB-GPT 项目基于 Chroma 向量数据库做 Data-Agents Chroma 向量数据库自 0.4.0 开始,基于 SQL Lite 构建,将其作为元数据库。 [DataAgents] DB-GPT 源码剖析 - 博客园/数据知音 查看 本地嵌入式向量存储 chroma 的信息 - 查看 Chroma 的 嵌入式 SQL Lite 数据库 1 概述 产品介绍 SQLite 是一个自包含(self-contained)、零配置(zero-configuration)、事务性、嵌入式 SQL 数据库引擎 。它不是 传统的客户端/服务端数据库 ,而是一个被直接链接(或以动态库形式加载)到应用进程中的 C 语言库 ,整个数据库通常就是磁盘上的 一个普通文件 。 产品定位 :嵌入式/进程内关系型数据库引擎(embedded SQL database engine),面向"不需要 DBA、不需要单独服务器、部署越简单越好"的场景。

0 序 缘起 Chroma、Weixin 、Windows、Android 等都在使用 SQL Lite 两年前开始、至近期多次使用、研究 DB-GPT 这个 Data-Agent 开源项目。 DB-GPT 项目基于 Chroma 向量数据库做 Data-Agents Chroma 向量数据库自 0.4.0 开始,基于 SQL Lite 构建,将其作为元数据库。 [DataAgents] DB-GPT 源码剖析 - 博客园/数据知音 查看 本地嵌入式向量存储 chroma 的信息 - 查看 Chroma 的 嵌入式 SQL Lite 数据库 1 概述 产品介绍 SQLite 是一个自包含(self-contained)、零配置(zero-configuration)、事务性、嵌入式 SQL 数据库引擎 。它不是 传统的客户端/服务端数据库 ,而是一个被直接链接(或以动态库形式加载)到应用进程中的 C 语言库 ,整个数据库通常就是磁盘上的 一个普通文件 。 产品定位 :嵌入式/进程内关系型数据库引擎(embedded SQL database engine),面向"不需要 DBA、不需要单独服务器、部署越简单越好"的场景。 诞生背景与原因 :SQLite 由 D. Richard Hipp 于 2000 年 8 月 设计并发布第一个版本,最初是为美国海军舰艇(Navy shipboard)项目打造的——当时团队希望摆脱对客户端/服务端数据库(如 PostgreSQL)"需要安装、配置、管理"的依赖,得到一个 开箱即用、崩溃后能自愈、随程序一起发布 的小型数据库。

0 序 缘起 Chroma、Weixin 、Windows、Android 等都在使用 SQL Lite 两年前开始、至近期多次使用、研究 DB-GPT 这个 Data-Agent 开源项目。 DB-GPT 项目基于 Chroma 向量数据库做 Data-Agents Chroma 向量数据库自 0.4.0 开始,基于 SQL Lite 构建,将其作为元数据库。 [DataAgents] DB-GPT 源码剖析 - 博客园/数据知音 查看 本地嵌入式向量存储 chroma 的信息 - 查看 Chroma 的 嵌入式 SQL Lite 数据库 1 概述 产品介绍 SQLite 是一个自包含(self-contained)、零配置(zero-configuration)、事务性、嵌入式 SQL 数据库引擎 。它不是 传统的客户端/服务端数据库 ,而是一个被直接链接(或以动态库形式加载)到应用进程中的 C 语言库 ,整个数据库通常就是磁盘上的 一个普通文件 。 产品定位 :嵌入式/进程内关系型数据库引擎(embedded SQL database engine),面向"不需要 DBA、不需要单独服务器、部署越简单越好"的场景。 诞生背景与原因 :SQLite 由 D. Richard Hipp 于 2000 年 8 月 设计并发布第一个版本,最初是为美国海军舰艇(Navy shipboard)项目打造的——当时团队希望摆脱对客户端/服务端数据库(如 PostgreSQL)"需要安装、配置、管理"的依赖,得到一个 开箱即用、崩溃后能自愈、随程序一起发布 的小型数据库。 解决的核心问题 : 消除传统 RDBMS 的 安装、配置、运维、网络协议 负担; 用一个文件解决 单机结构化数据持久化 问题; 在资源受限环境(嵌入式设备、手机、浏览器、桌面软件)提供完整的 SQL 与 ACID 事务。

0 序 缘起 Chroma、Weixin 、Windows、Android 等都在使用 SQL Lite 两年前开始、至近期多次使用、研究 DB-GPT 这个 Data-Agent 开源项目。 DB-GPT 项目基于 Chroma 向量数据库做 Data-Agents Chroma 向量数据库自 0.4.0 开始,基于 SQL Lite 构建,将其作为元数据库。 [DataAgents] DB-GPT 源码剖析 - 博客园/数据知音 查看 本地嵌入式向量存储 chroma 的信息 - 查看 Chroma 的 嵌入式 SQL Lite 数据库 1 概述 产品介绍 SQLite 是一个自包含(self-contained)、零配置(zero-configuration)、事务性、嵌入式 SQL 数据库引擎 。它不是 传统的客户端/服务端数据库 ,而是一个被直接链接(或以动态库形式加载)到应用进程中的 C 语言库 ,整个数据库通常就是磁盘上的 一个普通文件 。 产品定位 :嵌入式/进程内关系型数据库引擎(embedded SQL database engine),面向"不需要 DBA、不需要单独服务器、部署越简单越好"的场景。 诞生背景与原因 :SQLite 由 D. Richard Hipp 于 2000 年 8 月 设计并发布第一个版本,最初是为美国海军舰艇(Navy shipboard)项目打造的——当时团队希望摆脱对客户端/服务端数据库(如 PostgreSQL)"需要安装、配置、管理"的依赖,得到一个 开箱即用、崩溃后能自愈、随程序一起发布 的小型数据库。 解决的核心问题 : 消除传统 RDBMS 的 安装、配置、运维、网络协议 负担; 用一个文件解决 单机结构化数据持久化 问题; 在资源受限环境(嵌入式设备、手机、浏览器、桌面软件)提供完整的 SQL 与 ACID 事务。 许可证 :SQLite 采用 公有领域(Public Domain,官方称 "The Blessing") 方式发布, 无任何版权限制,可任意复制、修改、商用,无须授权、无须署名 。

0 序 缘起 Chroma、Weixin 、Windows、Android 等都在使用 SQL Lite 两年前开始、至近期多次使用、研究 DB-GPT 这个 Data-Agent 开源项目。 DB-GPT 项目基于 Chroma 向量数据库做 Data-Agents Chroma 向量数据库自 0.4.0 开始,基于 SQL Lite 构建,将其作为元数据库。 [DataAgents] DB-GPT 源码剖析 - 博客园/数据知音 查看 本地嵌入式向量存储 chroma 的信息 - 查看 Chroma 的 嵌入式 SQL Lite 数据库 1 概述 产品介绍 SQLite 是一个自包含(self-contained)、零配置(zero-configuration)、事务性、嵌入式 SQL 数据库引擎 。它不是 传统的客户端/服务端数据库 ,而是一个被直接链接(或以动态库形式加载)到应用进程中的 C 语言库 ,整个数据库通常就是磁盘上的 一个普通文件 。 产品定位 :嵌入式/进程内关系型数据库引擎(embedded SQL database engine),面向"不需要 DBA、不需要单独服务器、部署越简单越好"的场景。 诞生背景与原因 :SQLite 由 D. Richard Hipp 于 2000 年 8 月 设计并发布第一个版本,最初是为美国海军舰艇(Navy shipboard)项目打造的——当时团队希望摆脱对客户端/服务端数据库(如 PostgreSQL)"需要安装、配置、管理"的依赖,得到一个 开箱即用、崩溃后能自愈、随程序一起发布 的小型数据库。 解决的核心问题 : 消除传统 RDBMS 的 安装、配置、运维、网络协议 负担; 用一个文件解决 单机结构化数据持久化 问题; 在资源受限环境(嵌入式设备、手机、浏览器、桌面软件)提供完整的 SQL 与 ACID 事务。 许可证 :SQLite 采用 公有领域(Public Domain,官方称 "The Blessing") 方式发布, 无任何版权限制,可任意复制、修改、商用,无须授权、无须署名 。 URLs : 官网: (链接略) GitHub 镜像: (链接略) 注:官方源码以 Fossil SCM 为主仓库,GitHub 仅为只读镜像,自 2019 年起同步 发展历程 时间 版本 关键节点 2000-08-17 1.0.0 首次公开发布,确立嵌入式、零配置定位 2004-06-18 3.0.0 3.x 时代开端 :更紧凑的文件格式、 manifest 类型系统 、BLOB 支持、UTF-8/UTF-16 双编码、用户自定义排序规则、 64 位 ROWID 、并发能力显著提升 2005-01-21 3.1.0 完善触发器、视图、外键等关系型特性 2010-07-21 3.7.0 首次引入 WAL(Write-Ahead Logging) 模式,读不阻塞写、写不阻塞读,成为后续主力并发模式 2013-08-26 3.8.0 改进查询优化器(基于 bytecode 的 VDBE 重写)、可内存映射 I/O、CTE(WITH 子句) 2015-10-14 3.9.0 加入 JSON1 扩展、FTS5 全文检索、表达式索引、表值函数 ,并开始采用 语义化版本号 2018-09-15 / 09-18 3.25.0 / 3.24.0 支持 窗口函数(Window Functions) ;支持 UPSERT(ON CONFLICT ... DO UPDATE) 2020-01-22 3.31.0 支持 生成列(Generated Columns) ;JSON 增加 -> / ->> 运算符 2021-03-12 3.35.0 支持 ALTER TABLE DROP COLUMN 、 ALTER TABLE RENAME COLUMN 、 RETURNING 子句 2022-02-22 3.38.0 JSON 函数从扩展变为内置默认 (不再需要 -DSQLITE_ENABLE_JSON1 );新增 -> / ->> 与 MySQL/PG 兼容写法 2024-01-15 3.45.0 引入 JSONB(二进制 JSON 存储格式) ,解析更快、存储更紧凑 2026-04-09 / 2026-07-24 3.53.0 / 3.53.4 最新稳定线: ALTER TABLE 约束支持、自愈式表达式索引、WAL 损坏修复补丁等(当前主流 3.x 系列) 截至 2026-09,官方最新发布为 3.53.4(2026-07-24) ,3.x 系列已连续演进 20 余年,累计发布 300+ 个版本。

最后提醒:每个人的环境不一样,照抄之前先小步验证。有了自己的验证结果,这篇的价值才真正归你。你怎么看? 来源|博客园《[嵌入式数据库/RDBMS] SQLite 3.x: 全球部署最广泛的零配置、单文件、嵌入式 ACID 关系型数据库引擎》,https://www.cnblogs.com/johnnyzen/p/22955495.html

程序员技术场技术后端

评论(0)

暂无评论,来抢第一条。