EMC Greenplum技术浅析.doc

EMC Greenplum技术浅析.doc

ID:49199645

大小:248.50 KB

页数:5页

时间:2020-03-01

EMC Greenplum技术浅析.doc_第1页
EMC Greenplum技术浅析.doc_第2页
EMC Greenplum技术浅析.doc_第3页
EMC Greenplum技术浅析.doc_第4页
EMC Greenplum技术浅析.doc_第5页
资源描述:

《EMC Greenplum技术浅析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Greenplum技术浅析说起Greenplum这个产品,故早是SUN來推他们的数据仓库产品DWA时接触到的,对这个山PgSQL堆叠出來的数据库产品还不是很了解,当时的焦点还在DWA本身的硬件上,当然不可否认,DWA还是有一些特点的。后來,我们发现普通的PC+SAS磁盘具备非常好的吞IH.能力,完全不逊于某些昂贵的存储设备。这样我们就尝试用PC+Greenplum搭建了…个环境,效果完全超出了我们的预期,吞吐量完全超过了我们的大型存储。从那时开始,我们不再迷信那些昂贵的主机和存储,开始尝试一些新的东

2、西,比如用PC+SAS/SATA來堆猪廉价存储,用Greenplum來搭建数据仓库计算环境,搜索的hadoop集群,PC+SSD搭建OLTP数据库,用IntelNehalem来替代小型机等等。昨天,去参加了数据仓库部门关于Greenplum的一个技术分厚,期间大量列举了一些性能数据的对比,尤其定和当前的一套0racleRAC的对比。结果不言血喻,在数据仓库的应用I:,尤其是大数据最的处理,性能相差悬殊。这时问题就來了,很多人感觉这个产品太神奇了,可以解决数据仓库的一切问题,好像它就是上帝賜予我们的礼

3、物。最后好多人都在问:Oracle太烂了,用这么好的设备,性能还这么差,我们干嘛还要用?呜呼哀哉,Greenplum好,但并不“神奇”,我们不要被这些”神奇“的数据扌半住了视线。对于Greenplum,我其实也处于一知半解的状态,给大家讲原理未免有些力不从心,这里只简单给大家分析一下Greenplum为什么会快?他用了什么”神奇“的技术?如何提升数据仓库的处理能力,有以下两个主要因索:第一,呑吐能力,就是所谓的10:第二,并行计算能力。我们都知道OracleRAC是sharedeverything架

4、构,而Greenplum是sharednothing架构。整个集群由很多个segmenthost(数据节点)+masterhost(控制节点)组成,其中每个segmenthost上运行了很多个PgSQL数据库(segment).SegmentHostClientWKSegmentHostSegmentHost数据在进入数据廊时,首先要做数据分布的工作,即把一个表的数据尽可能均匀的分布到每个segment上,我们需要为毎个表指定一个distribute列,然后根据hash來做数据分布。这样做的H的就是

5、要充分利用毎个节点的10能力,我们知道现在PC机的10能力相当可观,象DWA这种专门设计的数据节点,SunFireX4500Server,在•个box内集成了48块SATA盘,号称“Scan1Terabyteofdatain60seconds”。英实没必要买DWA,国内丿商都令那种磁盘密集型的PC,价格便直量又足,我们一岚用它。GreenplumDatabaseHighSpeedLoader石盲oct诃Oct2045Oct2d.46Oct2fk2flQ^旨77Oct?2

6、48Oct2(?200512

7、50Oct56Oct2扌63Oct20-诚544Oct53Oct2孑?005^55Oct2&痂555---77—很多人在看到Greenplum架构的时候,第一个问题就是master机器承担了什么功能?它会不会成为系统的瓶颈?这也是Greenplum系统的…个重要特点,masterR承担非常少量的控制功能,以及和客户端的交互,完全不承担任何计算。如果存在一个屮心节点的话,那意味着这个系统根木没有办法线性扩展,因为master-定会成为系统的瓶颈。而Greenplum不存在这个问题,节点间的数据交互,不

8、需要经过master,而是直接在节点间就完成了。现在,如果我们要杳询某个表的数据,只要把工作分配给毎个节点就行了,10不再是问题,接下来要解决并行计算的问题,核心问题是多表做join。因为表是通过DT列做分布的,所以每个节点通过DT列就知道数据在某个节点上,假设两个表用DT列做join,因为相同的数据都在相同的节点上,所以只盂要对应节点计算,然后合并结果就可以J'。如果是非DT列做join,因为节点间不知道数据的分布,所以就会做一个数据重分布的过程(redistribute).我们看下面的例子,三个

9、表都是用id列作为DT列,首先用id做join,因为设计到非DT列的join,这时Greenplum会作redistribute的丁.作,作用就是匝新按照hash做数据分布,这样做的H的就是要让节点知道数据在哪个节点上,以便完成join的动作。我们看到后面的groupby也做(redistribute.因为groupby的也是非DT歹ij,jfuhashaggregate动作也需要节点间交互数据,节点间也必须知道数据的分布。如果有redistribute动作,效率会高

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。