1 .一种数据库中分布式计算的实现方法,其特征在于 ,包括如下步骤:
根据数据均匀的原则和减少网络数据传输的原则,制定数据分发策略;
基于制定的数据分发策略,生成分布式计算的网络拓扑,网络拓扑由发起节点进行统
一调度,驱动整个执行流程,并将所有计算节点的执行结果进行汇总;
算子是网络拓扑中完成设定计算功能的最小单元,数据流连接不同算子,发起节点执
行算子,算子和数据流共同完成一个完整的分布式计算。
2 .根据权利要求1所述的一种数据库中分布式计算的实现方法,其特征在于,根据数据
均匀的原则,制定数据分发策略,具体如下:
获取数据库系统中的直方图信息,直方图信息作为统计信息的一部分,统计了各个物
理表中每一列的数量,通过直方图信息,能够估算出某个列值或某个值范围的数据量在一
张表中所占有的比例;
根据数据库系统中的直方图信息和参与计算的节点数据,将数据按照列值的范围进行
分发,使得每个计算节点负责计算的数据量相对均匀。
3 .根据权利要求2所述的一种数据库中分布式计算的实现方法,其特征在于,使用直方
图信息前,会先校验统计信息时效性,如果统计信息超出设定时间未进行更新,则采用默认
的hash数据分布方式作为数据分发策略,即对分发数据计算hash值,对参与计算的节点取
余,之后再异步触发统计信息的更新操作,同时采集实际执行时候的数据特征,作为之后的
决策依据。
4 .根据权利要求1所述的一种数据库中分布式计算的实现方法,其特征在于,根据减少
网络数据传输的原则,制定数据分发策略,具体如下:
在分析型场景中,根据表的数据行数来决策连接计算的数据分发策略,如果两表的数
据总量的分发代价大于将小表复制到各个计算节点的代价,则采用hash重分布的方式分发
数据到各个计算节点,然后各个计算节点做本地的连接运算;否则采用复制小表的策略,各
个计算节点读取大表的本地部分数据做连接运算;
在事务型场景中,让计算都在一个节点中发生,以减少网络速度,提升数据库整体的响
应速度。
5 .根据权利要求1所述的一种数据库中分布式计算的实现方法,其特征在于,将分布式
计算的网络拓扑看做一个有向无环图,每个计算节点的拓扑作为整个有向无环图的一个连
通子图,连通子图中的顶点作为一个算子,每个算子执行设定的计算操作,有向无环图中的
有向边表示数据流,不同算子之间通过数据流连接;
某个计算节点作为发起节点,统一调度分布式计算的网络拓扑,驱动整个执行流程,并
将所有计算节点的执行结果进行汇总。
6 .根据权利要求5所述的一种数据库中分布式计算的实现方法,其特征在于,一个算子
只完成一类功能的实现;
每个算子具有自己的输入和输出,
执行网络拓扑中的数据流,则连接算子之间的输入和输出。
7 .一种数据库中分布式计算的实现插件,其特征在于,其包括:
策略指定模块,用于根据数据均匀的原则和减少网络数据传输的原则,制定数据分发
策略;
权 利 要 求 书
1/2 页
2
评论