在单个系统中,你可以同时进行快速扫描和快速写入吗?

主要观点:
大多数数据库系统因数据访问模式不同而专注于分析或事务性能,而 CedarDB 凭借统一存储系统 Colibri 在两者(HTAP)中实现高性能,Colibri 结合压缩列数据和基于行的存储。

关键信息:

  • 现有数据库系统因数据格式和存储引擎内部的数据导向而专注单一工作负载,OLTP 系统用基于行的存储格式,OLAP 系统用压缩列格式,两者难以平衡。
  • 存储设备特性对系统设计和性能影响大,如 SSD 相比 HDD 带宽高、延迟低,云存储也有类似特点。
  • CedarDB 的 Colibri 是混合存储引擎,用 B⁺-树组织数据,根据行 ID 区分热数据和冷数据,热数据用未压缩基于行的格式,冷数据用压缩列格式,采用乐观锁耦合技术优化 B⁺-树以支持并发访问,同时使用基于时间戳的多版本并发控制机制保证事务隔离。
  • 基准测试显示 CedarDB 的混合存储在事务和分析工作负载方面性能出色,远超其他数据库系统,如在 TPC-C 测试中事务吞吐量最高,在 Ch-benCHmark 测试中能同时处理事务和分析查询。

重要细节:

  • 在 TPC-C 测试中,CedarDB 混合存储结合多版本控制提供最高事务吞吐量,PostgreSQL 是对比中较好系统,但 CedarDB 能处理更多事务。
  • 在 Ch-benCHmark 测试中,CedarDB 不仅在事务和分析工作负载上分别优于其他系统 3 倍以上,还能同时处理两者。
  • CedarDB 的混合存储解决方案采用两种不同日志路径,基于行的块的所有元组在记录级别进行全日志记录,对于不可变数据块只记录 B⁺-树操作。
  • 文中提到一些未在博客中详细阐述的优化内容,可参考相关研究论文。
阅读 11
0 条评论