
作者介绍
作者介绍:marklv(吕夫洋),腾讯云数据库高级工程师,专注于数据库存储、事务、高可用方向,具有多年的数据库内核研发经验。曾供职于华为2012高斯实验室;加入腾讯后负责CDW PG数据库全新存储引擎的设计和研发工作。
Effective Storage Engine设计背景

传统数据库按行进行表的存储和访问。由于表中每行的数据连续地存储在一起,对于交易性业务(OLTP)这样频繁以行作为单位存储表中数据的负载,行存储性能较好。
但是对于分析性业务(OLAP)这种经常对表中某些列进行查询计算的负载,行存储会将不相关的列数据读入内存中,导致性能欠佳。列存储模型通过将表中的列连续地存储在一起,能够很好地解决这个问题,减少不必要数据的读取与解析带来的磁盘I/O代价、数据压缩解压代价以及CPU执行代价,提高磁盘存储和使用效率,从而提升查询性能。
在混合的业务负载(Hybrid transaction/analytical processing,HTAP)场景下,针对OLTP优势的行存与针对OLAP优势的列存都无法很好地同时应对两种类型的业务,大多需要牺牲其中一种场景下的表现,或是最终造成两种场景下的能力都无法达到业务的预期。
应对两种完全不同的业务负载的实现往往无法避免以下问题:
-
需要额外的系统资源(存储资源、计算资源);</

本文介绍了腾讯云数据库CDWPG的新型存储引擎Estore,专为OLAP和HTAP混合负载设计。Estore结合行存和列存优势,通过registry、silo和stash表构建,优化了存储结构以提升查询性能。特别强调了Stash表在应对碎片数据和流数据时的作用,以及Estore的自动和手动合并机制,确保稳定且优质的存储支持。
最低0.47元/天 解锁文章
1401

被折叠的 条评论
为什么被折叠?



