分解存储 - 简要介绍 - blag

主要观点:在 SQLite 之上构建了分布式存储,近期数据库产品多基于存储分离,可将数据库系统分为前端和后端,传统数据库受磁盘空间限制,分离计算和存储即存储分离可突破此限制,但会带来延迟等问题,同时需有可靠存储服务器,还有如 Vitess 等水平扩展系统及一些降低延迟的方法,且存储分离主要适用于数据库供应商和大公司。
关键信息:

  • 近期数据库产品如 Amazon Aurora、Neon、Snowflake、TiDB 等基于存储分离。
  • 数据库系统前端负责处理连接等,后端存储数据,传统数据库受磁盘空间限制。
  • 存储分离将数据存于分离机器,通过网络 I/O 获取数据,可独立扩展资源。
  • 存储分离带来延迟问题,需可靠存储服务器,有降低延迟的方法如缓存和批处理等。
    重要细节:
  • 传统数据库如 PostgreSQL 等前端后端架构相似,数据存于 B-Tree 结构。
  • 存储分离后启动和关机快,数据库故障恢复快。
  • 存储分离会导致网络 I/O 增多,传统模式只需 10 次磁盘 I/O,分离后需 10 次网络 I/O 加 10 次磁盘 I/O。
  • 另一种水平扩展系统如 Vitess 可智能分片和管理连接。
阅读 6
0 条评论