关系型数据库Embedded / Serverless
嵌入式 是什么?
没有服务进程,数据库就是程序的一部分
类比:随身带的笔记本,不用去图书馆借
和客户端-服务端的区别
MySQL、PostgreSQL 是独立进程,应用通过网络协议连过去;SQLite 是一个库文件,链接进你的程序,函数调用直接读写本地文件。没有网络、没有认证、没有连接池。
所以 SQLite 的“连接”其实是打开文件句柄,延迟是微秒级。
带来的好处与代价
架构决定了能力边界。
- 好处:零运维、零配置、部署就是拷文件,断网可用
- 好处:没有网络开销,单机读性能极高
- 代价:无法多机共享,没有用户权限
- 代价:写是库级串行,高并发写入不适合
什么时候不该用
多个服务实例要共享数据、需要细粒度权限、写入 QPS 很高、数据量到几百 GB——这些场景请直接上 PostgreSQL / MySQL。SQLite 不是“小 MySQL”,它的定位是“程序内部的存储引擎”。