主要观点:在 SQLite 之上构建了分布式存储,近期数据库产品多基于存储分离,可将数据库系统分为前端和后端,传统数据库受磁盘空间限制,分离计算和存储即存储分离可突破此限制,但会带来延迟等问题,同时需有可靠存储服务器,还有如 Vitess 等水平扩展系统及一些降低延迟的方法,且存储分离主要适用于数据库供应商和大公司。
关键信息:
- 近期数据库产品如 Amazon Aurora、Neon、Snowflake、TiDB 等基于存储分离。
- 数据库系统前端负责处理连接等,后端存储数据,传统数据库受磁盘空间限制。
- 存储分离将数据存于分离机器,通过网络 I/O 获取数据,可独立扩展资源。
- 存储分离带来延迟问题,需可靠存储服务器,有降低延迟的方法如缓存和批处理等。
重要细节: - 传统数据库如 PostgreSQL 等前端后端架构相似,数据存于 B-Tree 结构。
- 存储分离后启动和关机快,数据库故障恢复快。
- 存储分离会导致网络 I/O 增多,传统模式只需 10 次磁盘 I/O,分离后需 10 次网络 I/O 加 10 次磁盘 I/O。
- 另一种水平扩展系统如 Vitess 可智能分片和管理连接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。