Greenplum数据仓库技术架构介绍
- 格式:pptx
- 大小:634.63 KB
- 文档页数:43


1
数据库系统Greenplum研究
目录
1. Greenplum简介 ........................................ 1
2. Greenplum技术特点 .................................... 1
2.1 无共享架构 ....................................... 2
2.2 基础架构MPP ..................................... 3
2.3 Greenplum应用实例 ................................ 5
3. Greenplum同其他数据仓库的对比研究 .................... 6
4. 总结 ................................................. 7
摘 要
Teradata 作为渤海商业银行使用的的数据库仓库系统,为银行查询统计功能提供了稳定和高可用性的服务。作为2014 年重点项目,目前我司的Teradata 版本已经升级到13.1,有效存放数据的容量到到18TB。本文对时下新兴的数据库系统Greenplum 进行探索和研究,并将Greenplum 同其他主流数据库进行技术分析和对比。
2
1. Greenplum 简介
Greenplum 成立于2003 年6 月,总部位于美国的加利福尼亚州,最初由Sun 公司资助,由Teradata 的几位资深工程师合作创建的为全球大型企业用户提供新型企业级数据仓库(EDW)、企业级数据云(EDC)和商务智能(BI)解决方案和咨询服务的公司。2010 年7 月,EMC公司将Greenplum 收购,使得其研发和资本实力大大增强,成为数据
仓库的一名新锐。目前已经在纽约证券交易所、eBay、中信银行、淘
宝、支付宝等具有较大型数据业务的公司中使用。
⼏款分布式数据库的对⽐
1 概述
随着海量数据问题的出现,海量管理能⼒,多类型,变化快,⾼可⽤性,低成本,⾼端可扩展性等需求给企业数据战略带来了巨⼤的挑战。企业数据仓库、数据中⼼的技术选型变得尤其重要!所以在选型之前,有必要对⽬前市场上各种⼤数据量的解决⽅案进⾏分析。2 主流分布式并⾏处理数据库产品介绍
2.1 Greenplum 2.1.1 基础架构
Greenplum 是基于Hadoop 的⼀款分布式数据库产品,在处理海量数据⽅⾯相⽐传统数据库有着较⼤的优势。
Greenplum 整体架构如下图:
数据库由Master Severs 和Segment Severs 通过Interconnect 互联组成。Master 主机负责:建⽴与客户端的连接和管理;SQL 的解析并形成执⾏计划;执⾏计划向Segment 的分发收集Segment 的执⾏结果;Master 不存储业务数据,只存储数据字典。Segment 主机负责:业务数据的存储和存取;⽤户查询SQL 的执⾏。
2.1.2 主要特性
Greenplum 整体有如下技术特点: Shared-nothing 架构
Network Interconnect
...
Master Severs 查询解析、优化、分发
Segment Severs 查询处理、数据存储
External
Sources 数据加载
海量数据库采⽤最易于扩展的Shared-nothing架构,每个节点都有⾃⼰的操作系统、数据库、硬件资源,节点之间通过⽹络来通信。
◆基于gNet Software Interconnect
数据库的内部通信通过基于超级计算的―软件Switch‖内部连接层,基于通⽤的gNet (GigE,10GigE) NICs/switches在节点间传递消息和数据,采⽤⾼扩展协议,⽀持扩展到1000个以上节点。
◆并⾏加载技术
利⽤并⾏数据流引擎,数据加载完全并⾏,加载数据可达到4。5T/⼩时(理想配置)。并且可以直接通过SQL语句对外部表进⾏操作
1. Greenplum 分布式数据仓库软件特性介绍
Greenplum数据仓库软件是业界首创将大规模并行计算技术,应用到了数据库软件领域。该类技术同样应用在Google搜索引擎的中。
Greenplum数据仓库软件功能:
Ø 无共享/MPP核心架构
Greenplum数据库软件将数据平均分布到系统的所有节点服务器上,所以节点存储每张表或表分区的部分行,所有数据加载和查询都是自动在各个节点服务器上并行运行,并且该架构支持扩展到上万个节点。
Ø 混合的存储和执行(按列或按行)
Greenplum发明支持混合按列或按行存储数据,每张表或表分区可以由管理员根据应用需要,分别指定存储和压缩方式。基于这个功能,用户可以对任何表或表分区选择按行或按列存储数据和处理方式。这些是在建表或表分区的DDL语句中配置的,只需在建表或表分区时指定。这个功能基于Greenplum的多态维数据存储技术。 Ø 多层次的容错能力
Greenplum 数据仓库软件自己包含多层次容错和冗余能力,这是云计算架构软件的一个重要特征。该功能保证整个数据仓库系统在遇到硬件、软件的故障的情况下,仍然自动继续运行。
Ø 在线系统扩容(永不停机)
在系统中增加节点服务器即可增加存储容量,处理性能和加载性能。当系统扩展时,数据仓库保持在线,并且完全可用,扩展进程在后台运行。增加节点服务器,性能和容量线性增加。
Ø 负载管理(Workload Management)
具有系统资源管控能力,并且可控制给各个查询分配各自系统资源。允许管理员指派资源队列,从而管理数据仓库的队列进入执行情况。在运行的查询的优先级可以随时调整。
Ø PB级的装载能力
基于MPP Scatter/Gather 流技术的高性能并行加载功能。加载速度随着节点线性增加,实际超过4TB/小时。
Ø 灵活的外部数据访问 数据仓库软件可在任意外部数据源上并行运行常规SQL,不论外部数据源的位置,格式或存储介质。
greenplum集群原理
Greenplum是一种基于PostgreSQL的开源数据仓库系统,设计用于处理大规模数据集。它使用MPP(大规模并行处理)架构,将数据分散到多个节点上,并使用这些节点进行并行查询处理,以提高查询性能。
Greenplum集群的基本原理是将数据分散到多个节点上,每个节点都有自己的存储和计算资源。这种分布式架构允许多个节点同时处理查询,从而显著提高了大规模数据的查询性能。
在Greenplum集群中,有一个主节点(Master)和多个工作节点(Segment)。主节点负责管理集群中的所有节点,协调查询请求并分发数据。工作节点负责存储数据和执行查询操作。
当客户端发送查询请求时,主节点首先将查询计划分发给工作节点。每个工作节点执行查询计划并返回结果给主节点。主节点再将这些结果合并并返回给客户端。
Greenplum集群还具有强大的数据并行处理能力。它将查询分成多个子任务,并将这些子任务分发给多个工作节点。这些工作节点可以并行处理子任务,并在执行过程中自动进行数据分片和负载均衡。这使得Greenplum集群能够高效地处理大规模数据集,提高查询性能。