什么是MPP数据库?
人大金仓MPP数据库的
并行查询技术原理是什么?
如何实现并行查询?性能如何?
且听以下详细分解~
01
什么是人大金仓MPP数据库?
KingbaseAnalyticsDB(简称KADB)是人大金仓为应对大数据时代海量数据分析处理的需求推出的具备高性能、高扩展能力的MPP数据库。它具有分布式集群部署、数据分片无共享存储、大规模并行处理技术(MPP)、数据分区、行列混存、数据库内压缩、MapReduce、在线扩容、内嵌数十种AI算法等技术特点,能满足当前各行业对大量数据采集、存储、挖掘及分析等多种需求的能力。
目前,该产品主要定位于数据分析类应用市场,可处理PB级甚至更大存储量的数据,并能集成多种异构数据源进行数据挖掘和分析,在处理多表连接、聚合等各类复杂查询方面也体现出了很好的性能。
![8f9ce11dfa91145b133e8e68bd10b02e.png](https://i-blog.csdnimg.cn/blog_migrate/3bb8189b2711b91d2660ac704c80d3a3.jpeg)
▲KADB技术架构图
02
如何理解MPP数据库并行查询技术?
MPP数据库并行查询技术主要是为了提升多节点并行查询时的查询性能而设计的。
其设计思路如下:让用户的数据较均匀地分开存放在各集群计算节点上(采用哈希分布或随机分布等)——管理实例接受客户端查询请求——分析请求并生成查询计划——分发查询计划给计算实例并发查询。
以数据库中最常见的join操作为例,假如两张表的分片字段上是等值连接,则各计算节点可根据自己负责的分片数据得出查询结果(管理实例会将查询直接发给各相关计算实例执行);否则,各计算实例必须依赖于其他计算实例的数据才能完成查询。此时,就需系统在执行计划树中插入一个数据传输节点(Motion)负责在不同计算实例之间传输数据。
计算实例间的通信有