2 Greenplum 架构

2 Greenplum 架构

Pivotal Greenplum数据库引擎是一个专为管理大规模的分析数据仓库和商业智能工作负载的大规模并行处理(MPP)数据库服务器

MPP(也称为不共享架构)是指具有两个或更多个处理器协作来执行任务,每个处理器都有自己的内存,操作系统和磁盘。Greenplum使用这种高性能系统架构来分发TB级数据仓库的负荷,并且可以使用所有的系统资源来并行处理查询。

Greenplum 数据库基于开源的PostgreSQL。它将多个PostgreSQL数据库实例整合在一起,对外以一个数据库管理系统的形式提供服务。它是基于PostgreSQL 8.2.15, 在大多数情况下和PostgreSQL 在SQL支持、特性、配置、终端用户功能等方面都很类似。数据库用户可以将Greenplum 作为一个PostgreSQL数据库实例一样来使用。

PostgreSQL的内核已被修改或补充,以支持Greenplum的数据库的并行结构。例如,系统目录,优化器,查询执行器,以及事务管理器部件已经修改和改进,以能够在所有并行PostgreSQL数据库实例的同时执行查询。Greenplum的互连(网络层)使不同的PostgreSQL实例之间的通信并使得系统表现为一个逻辑数据库。

Greenplum的数据库还包括旨在优化PostgreSQL的商业智能(BI)工作负载的特征。例如,Greenplum的增加并行数据加载(外部表),资源管理,查询优化,存储增强等,这些特性在标准的PostgreSQL是找不到的。Greenplum开发了许多特性和优化并使它们进入PostgreSQL社区。例如,表分区是首先由Greenplum的开发的功能,它现在是标准的PostgreSQL的功能。

Greenplum通过将数据和工作负载分发到不同的服务器或主机上来存储和处理大量的数据。Greenplum是一个基于通过将多个PostgreSQL 8.2节点协作起来的一个单独的数据库。Master是系统的入口,客户端连接到master并提交SQL查询,master协调其他存储和处理数据的称为segment的数据库实例来进行工作。

 

 

Figure1: High-Level Greenplum Database Architecture

 

以下主题描述了构成Greenplum数据库系统组件,以及它们如何协同工作的。

1.1            Greenplum Master

Greenplum master是数据库系统的入口,接受客户端的连接和SQL查询,并将工作负载分发到区段实例上。

Greenplum最终用户在通过master使用像使用普通PostgreSQL数据库一样来使用Greenplum。都是通过诸如psql或应用编程接口(API),诸如JDBC或ODBC客户程序来连接到数据库。

在master上保存着global system catalog。这个全局目录保存着一组关于Greenplum的数据库系统本身的元数据的系统表。在master上并不包含任何用户数据,所有的用户数据都在区段服务器保存。Master节点校验客户端连接的身份验证,处理传入的SQL命令,在区段服务器之间分配工作负载,通过协调各区段的返回结果,并将最终结果返回给客户端程序。

1.2            Greenplum 段服务器

Greenplum区段实例是一个独立的PostgreSQL实例,用以保存用户数据的一部分,并执行大多数的SQL查询。

当用户经由Greenplum的主节点连接到数据库并发出查询后,各个区段数据库就会创建进程来处理查询工作,详情参见AboutGreenplum Query Processing.

用户定义的表和索引分布在Greenplum数据库的所有可用区段中,每个段包含数据的不同部分。数据库服务器的各个段实例都运行着相应的数据,用户通过master来和段实例进行交互。

每个段都运行一个称为段主机的上面运行。一个段服务器通常执行2-8个Greenplum段实例,取决于CPU的核心数,内存,存储,网络接口和系统负载情况。所有的主机配置要相同。Greenplum能取得最佳性能的关键是要在大量同样的段上均匀的分布数据和负载,使得所有的段都可以同时处理负载工作并且同时完成。

1.3            关于Greenplum 的互联

 

互联是Greenplum数据库架构的网络层。

互联是段和在上面通信所依赖的网络基础设施之间的进程间通信。Greenplum互联是采用标准的万兆以太网结构。默认情况下,该互联使用用户数据报协议(UDP)来通过网络发送消息。Greenplum软件所运转的包验证已超过了UDP提供的特性,这意味着其可靠性等同于传输控制协议(TCP),而且性能和可扩展性超过TCP。如果互联采用TCP,则Greenplum数据库将受到1000个段实例的扩展性限制。随着UDP作为互联的默认协议,这些限制将不复存在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值