云原生数据库系列谈(贰):全新Vertica 9.0 核心架构揭秘
导语 上回书( 云原生数据库系列谈(壹):节点越多,性能越高? )我们说到,提升MPP数据库性能的关键在于Micro Focus Vertica全新的9.1版本中的Eon模式。从宏观上来说,它是未来大数据&云计算时代中,数据库未来的发展方向;从微观上来说,它让我们基本上远离了曾经让我们苦不堪言的“宕掉”二字。 我相信小伙伴一定跟我一样对这个神奇的Vertica充满了好奇,它到底是何方神圣,能让桀骜不驯的数据们变得瞬间乖巧呢?这,就要先从它的物理设计谈起了。 1 天才之作――用投影实现有序、分布式存储 Vertica是一个基于无共享分布式开放平台构建的列式存储和计算的关系SQL分析数据库。它支持多种机制,通过良好的物理设计来提高查询性能。 关键词:分布式 Vertica将表数据物理组织成投影(Projection),这些投影将表的部分属性子集有序、分布式存储。 如图所示,每个投影都有一个特定的排序顺序,数据完全按此排序。具有适当排序顺序的投影起到了传统索引的作用。有序的数据通常会取得更好的压缩效果,从而提高 I/O 性能,并有效减少CPU周期开销,提高了系统的处理能力。 表和投影之间的关系:销售表有2个投影: (1)按date排序、按HASH(sale_id)分段的全列投影,和(2)仅包含(customer, price)属性、按customer排序、按HASH(customer