一种基于阵列模型的数据库系统的制作方法_3

文档序号:9865598阅读:来源:国知局
种类型即Q6、Q7、Q8语句的分析结果来看,运两种分析任务都有一个 共同的特征。运个特征表现在运Ξ个分析语句都至少包含一个join的分析语句。目前,分布 式的科学数据库并不能很好的支持join操作,因为join操作需要在所有FASTDB的worker节 点上操作数据,如此会造成频繁的网络数据包传输形成网络的性能瓶颈。对很多分布式数 据库来说,如果发生网络的堵塞,查询分析任务往往不能被有效的执行。此外,FASTSDB在存 储数据时会将数据压缩,运样会给join查询带来一部分的解压开销,运部分开销无法避免, 运本身会导致FASTDB在执行join查询语句时的性能下降。但是对于其他的查询,该开销的 影响不是很大,因为其他查询可W并行实现解压运一过程。更进一步分析,join操作需要在 协调节点进行大量的计算,随着数据集的增大运种情形往往会造成巨大的内存开销。
[0067] 为了更明显的得到FASTDB和SkyServer性能表现,对Q5在不同系统中的响应时间 换算成不同的单位得到结果如图11和图12所示。
[0068] 从图可知,随着数据集的增大,FASTDB和SkyServer执行Q5所需的时间开销也随之 增大,然而,数据集从20GB增加到50GB时,两者都有一个明显的性能转折,FASTDB在此区间 的性能变化相对SkyServer系统较小时因为其把数据分割分布到所有节点中进行并行的分 析处理,而且返回的结果的数据量达不到网络瓶颈,因而查询速度快,同时FASTDB在把数据 分发给每个数据库节点时,也对数据做了压缩处理。因此其性能比SkyServer提升了 10到30 倍左右。
【附图说明】
[0069] 图1是本发明的基础构架框图;
[0070] 图2是本发明的系统监控子系统结构框图;
[0071] 图3是Q1的处理时间内FASTDB和SkyServer在不同数据集大小上的总体性能表现 对比图;
[0072] 图4是Q2的处理时间内FASTDB和SkyServer在不同数据集大小上的总体性能表现 对比图;
[0073] 图5是Q3的处理时间内FASTDB和SkyServer在不同数据集大小上的总体性能表现 对比图;
[0074] 图6是Q4的处理时间内FASTDB和SkyServer在不同数据集大小上的总体性能表现 对比图;
[0075] 图7是Q5的处理时间内FASTDB和SkyServer在不同数据集大小上的总体性能表现 对比图;
[0076] 图8是Q6的处理时间内FASTDB和SkyServer在不同数据集大小上的总体性能表现 对比图;
[0077] 图9是Q7的处理时间内FASTDB和SkyServer在不同数据集大小上的总体性能表现 对比图;
[007引图10是Q8的处理时间内FASTDB和化yServer在不同数据集大小上的总体性能表现 对比图;
[0079] 图11是化yServer执行Q5的响应时间随数据量变化图;
[0080] 图12是FASTDB执行Q5的响应时间随数据量变化图。
[OOW]附图中的标记为:1-数据处理子系统,2-数据存储子系统,3-系统监控子系统,4- 协调者引擎,5-元数据库,6-监控客户端,7-监控代理端,8-监控服务端,9-数据库节点,10- 监控系统界面,11-基于Web浏览器的前端界面,12-第一执行引擎,13-本地存储,14-FASTDB 编程接口,15-第二执行引擎,16-KVM虚拟机。
【具体实施方式】
[0082] 实施例1。一种基于阵列模型的数据库系统,包括数据处理子系统1,数据处理子系 统1分配任务给数据存储子系统2,系统监控子系统3对数据存储子系统2进行收集监控数据 后,反馈给数据处理子系统1,系统监控子系统3通过分配方法对数据处理子系统1的分配任 务进行调节;
[0083] 数据处理子系统1用于数据处理、分析和转换;
[0084] 数据存储子系统2用于支持数据到阵列数据库引擎的无缝存储;
[0085] 系统监控子系统3用于实时监控所有数据库节点,并且获得系统监控日志。
[0086] 所述系统监控子系统3,包括监控客户端6,监控客户端6收集监控数据传送到监控 代理端7,监控代理端7再将监控数据反馈到监控服务端8,监控服务端8按分配方法对数据 处理子系统1的分配任务进行调节。
[0087] 所述的数据处理子系统1,包括协调者引擎4,协调者引擎4内设有第一执行引擎 12,协调者引擎4负责将用户要加载进本数据库系统的数据加载到各数据库节点9的本地存 储13中,并在元数据库5中更新各数据库节点9的本地数据的统计信息。
[0088] 所述的数据存储子系统2,设有1个W上数据库节点9,每个数据库节点9对应安装 有监控客户端6,数据库节点9内还设有第二执行引擎15。
[0089] 所述系统监控子系统3收集的监控数据,包括:CPU利用率、内存量、磁盘读写速率、 网络带宽利用率、过去t秒内任务的平均等待时间、任务数量和数据库节点负载,其中,600 < t< 7200。
[0090] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0091] 如果某数据库节点9上的CPU利用率超过a%,则不让该数据库节点9参与任务T及 其子任务的执行,其中,65%如%。;,本系统默认设置a% =65%,本数据库系统的系统 管理员可W根据系统实际运行情况对本参数进行调整;
[0092] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0093] 如果任务T及其子任务在某数据库节点9上运行时所需要的内存量,超过该数据库 节点9的可用内存量的b%,则不让该数据库节点9参与任务T及其子任务的执行,其中60% <b%含1;本系统默认设置b%=60,本数据库系统的系统管理员可W根据系统实际运行情 况对本参数进行调整;
[0094] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[00M]如果某数据库节点9上的磁盘读写速率超过了最高速度的C%,则不让该数据库节 点9参与任务T及其子任务的执行,其中60%含C%含1;本系统默认设置C% =60%,本数据 库系统的系统管理员可W根据系统实际运行情况对本参数进行调整;
[0096] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0097] 如果某数据库节点9上的网络带宽利用率超过了最高带宽的d%,则不让该数据库 节点9参与任务T及其子任务的执行,其中60%含d%本系统默认设置d%=60%,本数 据库系统的系统管理员可W根据系统实际运行情况对本参数进行调整;
[0098] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0099] 如果某数据库节点9上当前正在等待执行的任务队列中的任务,其预估的平均等 待时间超过了ti秒,则不让该数据库节点9参与任务T及其子任务的执行,其中,300含ti < 7200;本数据库系统的系统管理员可W根据系统实际运行情况对本参数进行调整。预估的 平均等待时间的取值为本数据库节点9在过去t秒内的任务平均等待时间;
[0100] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0101] 如果某数据库节点9上的等待执行的任务数量超过了 m,则不让该数据库节点9参 与任务T及其子任务的执行,其中10 ^ m。本系统默认设置m= 10,本数据库系统的系统管理 员可W根据系统实际运行情况对本参数况进行调整。
[0102] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[010引如果某数据库节点9在过去的时间t2秒内,其CPU平均利用率超过了e%,且CPU当 前的利用率已经超过了 rXe%,则不让该数据库节点9参与任务T及其子任务的执行,其中, 0.6<r< 1,300 < t2< 7200,65% <e% < 1;本系统默认设置r = 0.6,t2 = 300,e%=65%,本 数据库系统的系统管理员可W根据系统实际运行情况对各参数进行调整;
[0104] 进行任务分配时,根据系统监控子系统3收集的监控数据按照如下的分配方法分 配任务:
[0105] 如果某数据库节点9在过去的时间t3秒内,其内存平均利用率超过了f %,且内存 当前的使用率已经超过了rXf %,而任务T及其子任务在该数据库节点9上运行时所需要的 内存量超过该数据库节点9的可用内存量的g%,则不让该数据库节点9参与任务T及其子任 务的执行,其中,〇.6<r^,g<f,300 < t3^200,60% <f%。,75% <g%本系统默 认设置r = 0.6,t3 = 300,f % = 65 %,g % = 75 %,本数据库系统的系
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1