基于共享存储的MPP数据库连接执行研究

合集下载

数据库中的数据集成与共享研究

数据库中的数据集成与共享研究

数据库中的数据集成与共享研究一、引言数据库是现代信息化环境中最常用的数据管理工具之一。

在大数据时代,数据量以及数据类型的多样性不断提高,导致数据的管理和利用变得愈发困难。

因此,数据集成和共享成为了数据管理的重要领域之一。

本文将对数据库中的数据集成和共享的研究进行介绍和分析。

二、数据集成数据集成是指将不同源的数据通过某种方式集中到一起,形成统一的数据资源。

将不同源的数据集成起来,可以实现数据的无缝整合,方便用户进行数据的查询和分析。

数据集成一般分为以下几种技术:1、ETLETL(Extract-Transform-Load)是数据仓库中常用的一种技术,通过抽取、转换和装载数据来实现不同数据源的集成。

该技术可以处理大量数据,同时也可以将数据进行标准化处理,提高数据的质量和可用性。

2、元数据管理元数据是指描述数据的数据,包括数据的定义、格式、结构、来源和用途等信息。

元数据管理可以根据元数据对数据进行整合和匹配,从而实现不同数据源的集成和管理。

3、虚拟化虚拟化技术是将数据源看作虚拟的数据集合,用户可以通过查询语言来获取所需的数据,而无需了解数据源的具体细节。

虚拟化技术可以避免数据移动和复制的过程,大大提高了数据集成的效率和可行性。

三、数据共享数据共享是指对数据进行开放访问,允许不同用户在一定规则下使用数据资源。

数据共享的前提是保证数据的安全性和隐私性。

数据共享可以帮助用户更好地利用数据资源,提高数据的价值和应用。

数据共享主要包括以下几种模式:1、开放式数据共享开放式数据共享是指将数据资源开放给任何有需要的用户。

数据的共享和管理由数据拥有方进行控制,用户可以通过一定的方式来获取数据资源。

该模式适用于可以公开的数据资源,例如政府和科研机构发布的数据等。

2、协议式数据共享协议式数据共享是在数据资源提供方和使用方之间达成一定的协议和合作关系,共同使用数据资源。

协议式数据共享可以保证数据的访问和使用符合一定的规定和标准,同时也可以保护数据资源的安全和隐私。

基于分布式文件系统的MPP数据库扫描调度研究

基于分布式文件系统的MPP数据库扫描调度研究

基于分布式文件系统的MPP数据库扫描调度研究郭凯;龚才鑫;龚奕利;雷迎春【摘要】MPP (Massive Parallel Processing) database over distributed file systems has become one of research hotspots currently. In order to improve the procedure that schedule execution units to read data blocks before executing query scan operations, a scheduling strategy NLS based on nodes workload is proposed, which combines data locality and nodes workload. On the one hand, the phase of data locality allocating ensures that the scheduling results meet good data locality. On the other hand, reallocating on middle scheduling results based on nodes workload attains the goal of reducing the makespan of scanning data. The experimental results show that compared with the continuity strategy FCS, NLS keeps data locality over 90%. Moreover, the improvement on makespan achieves 32% at most and the average improvement is 25% in all nine test cases.%基于分布式文件系统的MPP(大规模并行处理)数据库是目前的研究热点,为改善其执行查询扫描操作前调度执行单元读取数据块的过程,提出一种基于节点负载的调度策略NLS.这种策略同时结合数据本地性和节点负载,通过本地读分配保证调度结果满足良好的数据本地性,基于节点的实时工作负载对中间调度结果进行重分配调整,以达到减少数据扫描操作完成时间的目标.实验结果表明,相比连续性调度策略FCS,NLS在保持90%以上数据本地性的同时,在完成时间上的优化最多达到32%,在测试的9种情况中平均优化25%.【期刊名称】《计算机工程与应用》【年(卷),期】2018(054)013【总页数】5页(P84-87,174)【关键词】分布式文件系统;数据库;查询调度;负载优化【作者】郭凯;龚才鑫;龚奕利;雷迎春【作者单位】武汉大学计算机学院,武汉 434000 ;武汉大学计算机学院,武汉434000 ;武汉大学计算机学院,武汉 434000 ;北京达沃时代科技有限公司,北京100000【正文语种】中文【中图分类】TP311.133.11 引言传统数据仓库受限于集中式的设计,很难同时满足海量数据在存储、管理和处理上的要求。

高级计算机体系结构作业汇总(非标准答案)

高级计算机体系结构作业汇总(非标准答案)

1.Explain the ConceptsComputer Architecture系统结构由程序设计者所看到的一个计算机系统的属性。

即计算机系统的软硬件界面。

Advanced CA高级系统结构新型计算机系统结构。

基于串行计算机结构,研究多指令多数据计算机系统,具有并发、可扩展和可编程性。

为非冯式系统结构。

Amdahl lawAmdahl定律系统中某部件由于采用某种方式时系统性能改进后,整个系统性能的提高与该方式的使用频率或占的执行时间的比例有关。

SCALAR PROCESSING标量处理机在同一时间内只处理一条数据。

LOOK-AHEAD先行技术通过缓冲技术和预处理技术,解决存储器冲突,使运算器能够专心与数据的运算,从而大幅提高程序的执行速度。

PVP向量型并行计算处理机以流水线结构为主的并行处理器。

SMP对称多处理机系统任意处理器可直接访问任意内存地址,使用共享存储器,访问延迟、带宽、机率都是等价的。

MPP大规模并行计算机系统物理和逻辑上均是分布内存,能扩展至成百上千处理器,采用专门设计和定制的高通信带宽和低延迟的互联网络。

DSM分布式共享存储系统内存模块物理上局部于各个处理器内部,但逻辑上是共享存储的。

COW机群系统每个节点都是一个完整的计算机,各个节点通过高性能网络相互连接,网络接口和I/O总线松耦合连接,每个节点有完整的操作系统。

GCE网格计算环境利用互联网上的计算机的处理器闲置处理能力来解决大型计算问题的一种科学计算。

CISC复杂指令集计算机通过设置一些复杂的指令,把一些原来由软件实现的常用功能改用硬件实现的指令系统实现,以此来提高计算机的执行速度。

RISC精简指令集计算机尽量简化计算机指令功能,只保留那些功能简单,能在一个节拍内执行完的指令,而把复杂指令用段子程序来实现。

VMM虚拟机监视器作为软硬件的中间层,在应用和操作系统所见的执行环境之间。

SUPERCOMPUTER超级计算机数百数千甚至更多的处理器组成的能计算普通计算机不能完成的大型复杂问题的计算机。

内存MPP数据库介绍

内存MPP数据库介绍

特点: 1、数据流实时导出。 2、 数据流输出格式多样性。 3、数据流内存溢出保护。 4、自定义数据流导出接收 器,方便用户扩展 5、批量写HDFS,写入速度快
数据库复制
在线扩展

增加存储容量
提高事务处理能力 缓解服务器压力 新增节点在后台移动数据,不影响线上应用 可控制数据移动速度


SQL LIKE
子查询 视图


JSON值
SQL支持仍在不断增加

不支持的功能可通过Java存储过程实现

针对在线事务处理优化

非分析型事务引擎
企业版功能

持续化 数据库集成 数据库复制 在线扩展 管理与监控
持续化
可调节fsync*频率
可调节快照频率
1、所有磁盘数据均配有CRC32校验码
作为开发者,只需指定每个分区表的分区键,RapidsDB会 自动根据键值将数据分区。
RapidsDB扩展模型

分区表被自动切分到不同分区 每个分区绑定一个CPU核心 复制表在每台服务器有一个副本
分区内部结构

每个分区存储不同数据,有独立的执行 引擎 单线程执行该分区所有事务 事务执行不中断

事务执行
事务会被自动传到数据所在分区执行
事务执行(续)

单分区事务

集群
节点1
分区1 分区2 分区3
所需数据在一个分区

完全独立于其他分区执行

多分区事务

所有分区需同时执行该事 务
节点2
分区4 分区5 分区6
节点3
分区7 分区8 分区9
容错机制:k-safety

海量并行(MPP)内存数据仓库技术实现探讨_v1.0-9-刘睿民

海量并行(MPP)内存数据仓库技术实现探讨_v1.0-9-刘睿民

Hadoop
In-memory Data Grid
计算及存储节点 – 商业标准服务器
18
Q&A
NoSQL集群
Big SQL
Hadoop
NoSQL
Unifed Analytics Infrastructure
Hadoop 集群
优化
Private Public
• 共享的资源 = 更高的利用率 Decision Support 集群 • 可伸缩的资源 = 快速的即需资源访问
5
并行内存计算 及 持久化
企业级 文件系统功能
Cloudera CDH
EMC / GP UAP
MAPR
Impala
No
only
No
No
HortonWorks
Open Source
No
No
No
No
MPP Inmemory with
Hadoop
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
2015/4/21 Tuesday
市场对大数据的要求 – 阶段II
实时的流数据分析 - 解决流数据的分析
◦ 针对导入的数据执行实时的 “流式”的分析查询 ◦ 全速更新即时导入的数据 ◦ 调度及执行上百个复杂查询 ◦ 能够进行亿级维表和事实表JOIN,同时无需对维表及事实表进行预处理
◦ 性能
能以>GB/Sec的速率来进行流数据分析 在使用高度规范的标准SQL查询时,能有可预期的毫秒级反应速度

云原生数据库mysql对共享存储分布式文件系统的接口需求分析【原创】

云原生数据库mysql对共享存储分布式文件系统的接口需求分析【原创】

云原⽣数据库mysql对共享存储分布式⽂件系统的接⼝需求分析【原创】1. 引⾔ 云原⽣数据库跟分布式mpp数据库是有差异的,虽然两者都是计算与存储分离,但是在资源的占⽤上有所不同。

云原⽣数据库是shard everything架构,其依赖的存储资源、内存资源、事务资源在云中都是共享、弹性伸缩的。

由分布式⽂件系统提供按需分配、租户隔离的块存储,由分布式内存池提供buffer pool占⽤的⼤块内存。

分布式mpp数据库则是shard nothing架构,其依赖的存储资源、内存资源、事务资源是单个物理节点上的资源,在SQL计算层进⾏了分布式计算逻辑的分发。

本⽂重点介绍共享存储,如果分布式⽂件系统的iops、每秒刷盘数能够⽐单个物理节点上的性能线性提升,那么云原⽣数据库mysql的tps也会随之提升,⽽且mysql的原⽣SQL语法都是⽀持的,包括嵌套⼦查询、存储过程、函数等。

分布式mpp在SQL计算层做分布式计算逻辑的分发,这些可能会被裁减掉。

单机mysql的事务型存储引擎innodb的表空间数据存储依赖于单个linux节点的VFS提供的posix标准的⽂件操作接⼝。

VFS作为各个具体⽂件系统(ext4、xfs、ext3等)的抽象层,屏蔽了各个具体⽂件系统的实现差异,对应⽤层提供了统⼀、标准的posix⽂件操作接⼝。

类似于阿⾥云的polardb对polarfs的依赖,其实polardb就是mysql的内核源码的⼆次开发⽽成的。

本⽂重点罗列云原⽣数据库mysql在各个场景下对posix⽂件操作接⼝需求。

分布式弹性⽂件系统要具体地实现这些接⼝,各个接⼝的语义要完全符合posix标准。

并提供mount挂载的功能,将其实现的具体接⼝注册到VFS内部,mysql将表空间放置到挂载了分布式弹性⽂件系统的路径下,innodb内部对表空间⽂件操作时候,实际上就调⽤了分布式⽂件系统提供的⽂件操作的api。

innodb的表空间有⽤户表空间、系统表空间、Redo⽇志、Undo表空间。

基于MPP数据库的多源异构数据分布式集成平台构建

基于MPP数据库的多源异构数据分布式集成平台构建
张军;冯向科;周剑
【期刊名称】《信息产业报道》
【年(卷),期】2024()3
【摘要】对多源异构数据进行集成,是实现数据共享、打破“信息孤岛”的关键。

运用分布式并行计算技术,对基于 MPP 数据库的多源异构数据分布式集成平台的构建进行分析研究,文章分析了多源异构数据集成的发展动态,阐述了 MPP 数据库基本架构及运行机制,分四个层次设计了基于 MPP 数据库的多源异构数据分布式集成平台的框架结构,并对数据规划进行了分析。

为多源异构数据分布式集成的实践应用提供了方法和思路上的借鉴。

【总页数】3页(P0182-0184)
【作者】张军;冯向科;周剑
【作者单位】湖南铁道职业技术学院
【正文语种】中文
【中图分类】TN
【相关文献】
1.分布式文件系统与MPP数据库的混搭架构在电信大数据平台中的应用
2.基于ontology的分布式异构数据库集成研究
3.基于分布式异构数据库的企业信息集成平台
4.基于Web服务的分布式异构数据库集成研究
5.基于XML虚拟数据库的异构数据源集成模型研究
因版权原因,仅展示原文概要,查看原文内容请购买。

基于分布式存储的数据共享方案研究

基于分布式存储的数据共享方案研究近年来,随着互联网的快速发展和普及,人们生产、生活等方面都涉及到了大数据。

大数据的处理和存储成为了人们关注的焦点,而分布式存储技术也因此应运而生。

在日常的生产和生活中,我们需要不断地共享数据和信息,因此,如何利用分布式存储技术实现数据共享方案也成为了越来越多人关注的话题。

一、分布式存储技术分布式存储是指将数据存储在多个物理设备或服务器上,通过分布式计算和网络技术将多个设备或服务器进行协调,实现数据的高可用和高性能的存储方案。

相对于传统的集中存储方式,分布式存储更加灵活和安全,不会因为单点故障而导致数据丢失。

二、分布式存储的应用场景1. 云存储云存储是分布式存储技术在云计算领域的应用,可以通过云计算平台的服务来为用户提供可靠的、高可用的存储服务。

比如著名的Amazon S3就是一种基于云存储的服务。

2. 大数据平台大数据平台需要承载大量的数据,因此采用了分布式存储技术。

目前较为流行的分布式存储技术有HDFS、Ceph、GlusterFS等,可以保障大数据的高可用性和高性能。

3. 文件共享在工作和生活中,我们需要经常共享文件,而将文件移动到U盘或者发送邮件是比较繁琐而且不安全的。

而分布式存储技术可以实现文件的即时共享,普及的Dropbox就是这样的一个例子。

4. 图像和视频存储随着图像和视频的应用范围越来越广泛,传统的存储方式已经难以满足需求。

而分布式存储技术可以实现跨区域的数据存储传输,可以保障图像和视频的高速传输和高可用性。

三、基于分布式存储的数据共享方案在日常的工作和生活中,我们需要通过共享数据来提高效率,而基于分布式存储的数据共享方案可以解决传统共享数据方式存在的问题。

1. 数据存储基于分布式存储的数据共享方案需要先将数据存储在分布式存储系统中,可以使用GlusterFS、HDFS等分布式存储平台。

这样可以保障数据的安全性和可靠性。

2. 数据共享数据共享需要先将数据存储到共享目录下,分别从不同的计算机中读取数据。

基于分布式技术的数据存储与共享方案研究

基于分布式技术的数据存储与共享方案研究
在现代信息时代,数据的存储与共享是企业和个人不可避免的需求之一。然而,传统的数据存储形式和共享方式往往会受到多方面的影响,如网络安全、存储空间和成本等问题。为了解决这些问题,分布式技术被越来越多地应用于数据存储和共享领域。本文将研究基于分布式技术的数据存储与共享方案。
2.数据备份和恢复
在数据备份和恢复时,可以采用多副本存储的方式,即将数据分别存储在不同的服务器上,并定期备份数据,以防止数据因服务器故障而丢失。
3.设置权限和加密算法
在分布式共享数据时,首先要设置权限,确保只有授权用户可以访问共享数据。其次,可以采用加密算法来保护共享数据,防止非法访问和修改。
4.动态数据平衡
3.数据安全
在传统的共享模式中,数据容易被非法访问或者修改,而在分布式共享模式中,可以通过权限设置和加密算法来保障共享数据的安全。
五、基于分布式技术的数据存储与共享方案
基于分布式技术的数据存储与共享方案可以分为以下几个步骤:
1.设计数据存储结构
在设计数据存储结构时,可以采用分块存储的方式,即将将数据分为若干个块,每个块都存在不同的服务器上,并且每个块都以副本的形式存在于不同的服务器上,以提高数据的可靠性和持久性。
二、分布式存储技术的优点1.高 Nhomakorabea靠性由于数据以副本的形式存在,即使某台服务器出现故障,数据也可以从其他服务器上获取,不会造成数据丢失。这种方式大大提高了数据的可靠性和持久性。
2.强大的扩展性
在分布式存储中,可以动态添加或删除服务器,以适应存储需求的增加或减少。同时,由于数据被分散在多台服务器上,可以实现横向扩展,即增加服务器的数量来提高整体性能。
在数据存储过程中,由于存储空间的限制,可能会出现某些服务器存储数据过多,而其他服务器存储数据过少的情况。此时可以采用动态数据平衡的方式,将数据分布到不同的服务器上,以优化存储空间的利用率和提高整体性能。

数据库中的数据共享与协同工作

数据库中的数据共享与协同工作在现代信息时代,数据成为了组织和企业的重要资产之一。

数据库的兴起和发展,使得数据管理变得更加高效和可靠。

在数据库中,数据共享和协同工作是促进信息流动和提升工作效率的关键因素。

本文将探讨数据库中的数据共享和协同工作的相关概念、挑战和解决方法。

首先,数据库中的数据共享是指多个用户或多个应用程序可以同时访问和使用同一份数据。

在传统的数据管理方式中,每个用户或应用程序都使用自己的独立数据副本,这导致了数据冗余和一致性的问题。

而数据库中的数据共享可以避免这些问题,使得多个用户或应用程序可以使用一份数据副本,减少了数据冗余并提高了数据一致性。

数据库中的数据共享可以通过不同的方式实现。

首先,可以通过数据库管理系统(DBMS)提供的访问控制机制来实现数据共享。

DBMS可以定义不同用户或应用程序可以访问的数据对象和权限,从而实现数据的共享和限制访问。

其次,可以通过数据集成工具来实现数据共享。

数据集成工具可以将不同来源和格式的数据集成到一个统一的数据库中,并提供对整个数据库的共享和访问。

最后,可以通过数据交换标准来实现数据库中的数据共享。

通过定义和实施数据交换标准,不同数据库系统可以实现数据的互操作和共享。

然而,数据库中的数据共享也面临着一些挑战和问题。

首先,数据安全是一个重要的问题。

在数据共享过程中,需要确保数据的机密性、完整性和可用性。

同时,需要对数据进行访问控制和权限管理,防止未经授权的用户或应用程序获取敏感数据。

其次,数据一致性是另一个重要的问题。

在多个用户或应用程序同时对数据进行读写操作时,可能会出现数据不一致的问题。

因此,需要实施合适的事务管理和并发控制机制来保证数据一致性。

此外,数据冲突的处理也是一个挑战。

当多个用户或应用程序同时对同一份数据进行修改时,可能会出现数据冲突,需要采取合适的策略来解决这些冲突。

为了解决这些挑战,可以采取一些方法和技术来促进数据库中的数据共享和协同工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第44卷第6期V o l.44N o. 6计算机工程C om puter Engineering2018年6月June 2018•先进计算与数据处理•文章编号:1000-3428(2018)06-0024-05文献标志码:A中图分类号:TP391基于共享存储的M PP数据库连接执行研究孙庆鑫\雷迎春2,龚奕利1(1.武汉大学计算机学院,武汉430072; 2.北京达沃时代科技股份有限公司,北京100020)摘要:为解决哈希分布表转换为随机分布表后连接效率低的问题,提出一种大规模并行处理数据库中哈希表的 并行连接操作算法。

根据共享存储环境下哈希分布表的数据块分布特性,并结合随机读取的扫描优势,利用数据 多副本分布式存储提高本地读比率,且不损失数据块哈希分布的特性。

T P C-H标准测试结果表明,与传统并行连 接算法相比,该算法能有效提高连接操作效率,连接查询语句最高可降低30%的响应时间。

关键词:连接操作;并行连接;大规模并行处理;大数据;在线分析处理中文引用格式:孙庆鑫,雷迎春,龚奕利.基于共享存储的M P P数据库连接执行研究[J].计算机工程,2018,44(6): 24-28.英文引用格式:SUN Q ingxin,L E I Y ingchun, GONG Yili. Research on MPP database connection execution based on shared storage[ J]. Computer Engineering ,2018 ,44 (6) :24-28.Research on MPP Database Connection Execution Based on Shared StorageSUN Q ingxin1,L E I Y ingchun2, G O N G Y ili1(1. Computer School,W uhan University,Wuhan 430072,China;2. Beijing Daowoo Time Technology Co. ,Ltd. ,Beijing 100020,China)[A b stra c t] In order to solve the problem of low connection efficiency after the Hash distribution table is converted into a random distribution table, a parallel connection operation algorithm for Hash tables in Massively Parallel Processor (M PP) database is presented. According to the data block distribution characteristics of the hash distribution table in the shared storage environm ent, combining with the scanning advantage of random reading, data multiple copies distributed storage is used to improve the local reading rate without losing the characteristics of data hash distribution. TPC-H standard test results show that compared with the traditional parallel connection algorithm, this algorithm can effectively improve the connection operation efficiency and reduce the response time of the connection query up to 30% .[K ey w ords] connection operation ; parallel connection; Massively Parallel Processing (M PP) ; big data; Online Analytical Processing( OLAP)D O I:10. 19678/j. issn. 1000-3428.0047104〇概述随着信息技术的发展和应用,在互联网浪潮下 产生了海量的数据,发掘海量数据下隐藏的价值成 为当前主要任务,于是对于海量数据的分析越来越 受到各行业的重视。

文献[1-3]阐述了大数据和在 线数据分析引擎的现状。

文献[4-6]讨论了在线数 据分析平台所面临的问题和诸多挑战。

文献[7 -10 ]主要介绍了被大量分析平台使用的Hadoop分布式 文件系统(HDFS)的系统特性以及关系型数据库中 连接操作的实现算法。

上述系统特性和算法可以加 速共享平台下连接操作的执行效率。

传统的大规模 并行处理(MPP)架构分析引擎是将计算资源和存储资源为同一单位进行并行,如文献[11]提到的 GreenplumDB架构,每个计算节点只负责处理存储在 本地的数据,这种架构借助哈希分布有着高吞吐量和 低查询延迟的优点,但是系统扩展性差。

文献[12]提 出的基于共享存储的MI>P数据仓库,是将用户海量 数据以关系型数据库中关系表的格式存储到H D F S 中,通过MI>P架构执行查询语句的在线数据分析平 台,它是一种将传统MI>P架构的计算和存储资源进 行分离的新型结构,即它的计算节点和存储节点可以 分别按需扩展。

在扩展性增强的同时,由于计算节点 读取的数据总不在本地,需要通过高延迟的网络读 取,导致查询处理速度变慢。

文献[12]提出可以通过 将哈希分布的数据表转换为随机分布可以获取大量基金项目:国家自然科学基金青年科学基金(61100020);国家自然科学基金面上项目(61572373)。

作者简介:孙庆鑫(1990—),男,硕士研究生,主研方向为分布式数据库、数据仓库技术;雷迎春,博士;龚奕利,副教授、博士。

收稿日期:2017-05-08 修回日期=2017-06-09 E-mail:qingxinwhu@ qq. com第44卷第6期孙庆鑫,雷迎春,龚奕利:基于共享存储的M P P数据库连接执行研究25的本地数据读取优势,加速查询的执行,但是由于失 去了数据记录分布的特性,导致连接效率较低。

在关 系型数据库中连接2个表有3种连接方式,其中的哈 希连接由于其具有较低的执行代价,并且适合传统流 水线类型的查询执行方式,在查询执行计划中被经常 使用。

文献[13 ]提出Hybrid Hash Join算法,该算法 用于改进普通Hash Join连接的执行效率,算法通过 最大限度地命中缓存,从而提高查询执行速度。

通过 以上分析发现,基于共享存储的M PP分析引擎存在 用户数据表的分布和连接执行方式之间的矛盾,导致 连接效率低下。

本文针对基于共享存储环境下的M PP数据库 分析引擎,提出一个高效的分类并行哈希连接(Classified Parallel Hash Join,CPHJ)操作符操作算 法。

在M PP环境下,一个查询语句的执行需要多个 逻辑查询执行进程同时执行,每个进程处理一个关 系表的部分数据。

CPHJ算法通过执行节点被查询 优化器分配的表数据块的哈希特性进行归类,并为 存在的每一类数据块集合启动相应的连接操作线 程,连接节点设有缓冲区用于保存中间临时结果。

1问题描述基于共享存储的MI>P分析引擎将数据读写操 作分配给分布式文件系统,引擎中的计算节点通过 客户端访问关系表。

在分布式文件系统中,一个关 系表A由数据块< A p A i,…,A… >组成,每个数据 块由存储在不同节点上的3个备份<A m,A n,A i2 > 组成。

M PP查询优化器根据集群计算资源和数据量 大小为每个查询语句分配不同数量的逻辑查询执行 节点(VSeg)。

一个关系表有2种分布方式:随机分 布和哈希分布。

哈希分布的关系表在逻辑上被划分 成了多个子文件,每个子文件的数据块被共享存储 系统分布到集群中。

查询优化器在哈希分布表上做 连接时为每个逻辑查询执行节点分配一个子文件。

随机分布在逻辑上是一个大文件,它的文件数据块 被查询优化器按照一定策略分配给执行节点VSeg,即查询优化器分配关系表文件数据块到逻辑执行进 程上时如果表是哈希分布,则分配单位是子文件,如果表是随机分布,则分配单位是数据块。

如表1所示,查询优化器为一个查询语句分配 了 8个执行节点< VSegl ~ VSeg8 >,A表数据具有 42个数据块,每个块用A i;.(0幻<42,0句•矣2)表 亦,其中,〖表亦块号,J'表亦备份号。

当表A为哈希 分布时,每个执行节点被分配一个完整的子文件,那 么就必须通过网络读取被分配的子文件的所有数据 块,而数据块分布在集群中,所以,扫描表操作具有 较高的读取代价。

因此,在基于共享存储的皿1^系 统中,查询优化器将哈希分布关系表按照随机分布 表对待,根据最大本地读取量原则为每个逻辑执行节点分配本地的数据块。

同时,因为数据块有3个备 份,如果一个逻辑执行节点所在的物理存储节点上 具有连续的数据块(不同数据块在同一物理节点有 备份),则分配连续的数据块。

这样可以减少扫描操 作符多次打开同一文件的系统消耗。

表1 A表数据块分配示例节点数据块1A l,0 + A2,l + A3,2 + A4,l +八5,〇+ A7,i2A6,l + A S,2 + A9,2 + A10,l 4'-^11,2 + -^12,1 + -^13,03A14,0 +A15,2 +A16,0 +A17,:l + A19,24A i s,〇+A20,2 +A21,0 +A22”l5八23,0 +A24,0 +A25,2 +A26,<〕+ A27,i+ A2S,26八29,0 +八3〇,2 +A31,〇+A32,:l + A33,27八34,0 +A35,2 +A36,〇+A39,:l8八37,〇+A3S,2 +A4〇,〇+A41”l + A42,2在查询优化阶段可以获取如表1所示的每个逻 辑执行节点所处理的数据块集合,当关系表体积变 大后每个逻辑执行节点会被分配大量的数据块,由于按照随机分布方式分配数据块,因此没有哈希关 系表数据块的分布特性,且只有一个进程在处理庞 大数据块的连接,这将导致在大量数据情况下执行 进程响应时间过长的性能问题。

相关文档
最新文档