Pivotal Greenplum® 6.9-安装指南--Greenplum简介

Greenplum简介

Greenplum数据库系统架构的高级概述。

Greenplum数据库通过在多个服务器或主机之间分配负载来存储和处理大量数据。Greenplum中的逻辑数据库是一单独的PostgreSQL数据库,这些数据库协同工作以呈现单个数据库的映像。master是到Greenplum的数据库的入口点。它是用户连接并提交SQL语句的数据库实例。master协调系统中其他数据库实例(称为segment)的工作负载,这些segment处理数据处理和存储,它们通过interconnect(Greenplum数据库的网络层)和彼此以及master进行通信 。

Greenplum数据库是纯软件的解决方案。硬件和数据库软件并未耦合。Greenplum数据库可在Greenplum认证的硬件供应商的各种商用服务器平台上运行。性能取决于安装它的硬件。由于数据库分布在Greenplum数据库系统中的多台计算机上,因此正确选择和配置硬件,对于实现最佳性能至关重要。

本章介绍了Greenplum数据库系统的主要组件以及与每个组件相关的硬件注意事项和概念:Greenplum MasterSegmentsInterconnect。此外,系统可能还具有可选的用于数据加载的ETL主机和监视查询负载和性能的Greenplum性能监控

Greenplum master

master是访问Greenplum的数据库系统的入口点。它是数据库服务器进程,它接受客户端连接并处理系统用户发出的SQL命令。用户使用兼容PostgreSQL的客户端程序,例如psql 或ODBC,通过master连接到Greenplum数据库。

master服务器维护系统目录(一组系统表,其中包含有关Greenplum数据库系统本身的元数据),但是master服务器不包含任何用户数据。数据仅驻留在segment上。master对客户端连接进行身份验证,处理传入的SQL命令,在segment之间分配工作负载,协调每个段返回的结果,并将最终结果呈现给客户端程序。

因为master服务器不包含任何用户数据,所以磁盘负载很小。master需要一个快速、专用的CPU来进行数据加载、连接处理和查询计划,因为通常需要额外的空间来加载文件和备份文件,尤其是在生产环境中。客户也可能会决定在master服务器上运行ETL和报告工具,这需要更多的磁盘空间和处理能力。

父主题: Greenplum简介

 

master冗余

您可以选择部署master实例的备份镜像。如果主master主机无法运行,则备用master主机将用作热备机。您可以将备用master部署在指定的冗余master主机上或segment主机之一上。

备用master通过事务日志复制处理保持最新状态,该事务日志复制处理在备用master主机上运行,​​并在主master和备用master主机之间同步数据。如果主master发生故障,则日志复制过程将关闭,管理员可以在备用master处激活它。当备用master处于活动状态时,复制的日志将用于重建上次成功提交事务时master主机的状态。

由于master不包含任何用户数据,因此仅系统目录表需要在主副本和备份副本之间进行同步。这些表被更新后,更改将自动复制到备用master,因此它始终与主master同步。

图1. Greenplum数据库中的master镜像 
 

Segment

在Greenplum数据库中,segment是数据存储和大多数查询处理发生的位置。用户定义的表及其索引分布在Greenplum数据库系统中可用的segment上。每个segment包含数据的不同部分。segment实例是为segment提供服务的数据库服务器进程。用户不会直接与Greenplum数据库系统中的segment互动,而是通过master进行互动。

在参考的Greenplum数据库硬件配置中,每个segment主机的segment实例数由有效CPU或CPU核心的数量确定。例如,如果segment主机有两个双核处理器,则每个主机可能有两个或四个主segment。如果segment主机具有三个4核处理器,则每个主机可能具有3个,6个或12个segment。性能测试将帮助确定所选硬件平台的最佳segment数。

父主题: Greenplum简介

 

Segment冗余

部署Greenplum数据库系统时,可以选择配置 镜像segment。如果主segment不可用,则镜像segment允许数据库查询故障转移到备份segment。镜像是Pivotal支持的生产Greenplum数据库系统的要求。

镜像segment必须始终驻留在与其主segment不同的主机上。镜像segment可以以两种标准配置当中的之一或您设计的自定义配置,在系统中跨主机排布。默认配置称为镜像,它将一台主机上的所有主segment的镜像segment,放置在另一台主机上。另一个选项称为“ 扩散镜像”,它将每台主机的主segment的镜像扩散到其余主机上。扩散镜像要求系统中的主机要多于主机上的主segment。在具有多个网络接口的主机上,主segment和镜像segment在网络接口之间平均分配。图2显示了配置默认的组镜像选项时,表数据如何在各segment中分布。

图2. Greenplum数据库中的数据镜像 

 

segment故障转移和恢复

在Greenplum数据库系统中启用镜像后,如果主副本不可用,系统会自动故障转移到镜像副本。如果segment实例或主机发生故障,只有当剩余活动segment的所有数据部分都可用时,Greenplum数据库系统才能保持运行。

如果master无法连接到segment实例,则会在Greenplum数据库系统目录中将该segment实例标记为无效。segment实例保持无效并且无法运行,直到管理员将该segment重新联机。管理员可以在系统启动和运行时恢复发生故障的segment。恢复过程仅复制segment未运行时错过的更改。

如果未启用镜像并且segment变为无效,则系统将自动关闭。管理员必须恢复所有失败的segment,然后才能继续操作。

segment主机硬件栈示例

无论选平择哪种硬件台,生产Greenplum数据库处理节点(一个segment主机),通常会按本节所述进行配置。

segment主机执行大多数数据库处理,因此对segment主机服务器进行配置,以便从Greenplum数据库系统中获得最佳性能。Greenplum数据库的性能将与阵列中最慢的segment服务器一样快。因此,重要的是要确保正在运行Greenplum数据库的基础硬件和操作系统都以其最佳性能水平运行。此外,建议Greenplum数据库阵列中的所有segment主机都具有相同的硬件资源和配置。

segment主机也应仅专用于Greenplum数据库操作。为了获得最佳查询性能,您不希望Greenplum Database与其他应用程序竞争服务器或网络资源。

下图显示了示例Greenplum数据库segment主机硬件堆栈。主机上有效CPU的数量是确定每个segment主机要部署多少个Greenplum数据库主segment实例的基础。本示例显示了具有两个有效CPU(一个双核CPU)的主机。请注意,每个CPU核心只有一个主segment实例(如果使用镜像,则为主/镜像对)。

图3. Greenplum数据库段主机配置示例 
 

segment磁盘布局示例

每个CPU通常都映射到一个逻辑磁盘。逻辑磁盘由一个主文件系统(以及可选的镜像文件系统)组成,可通过I/O通道或磁盘控制器访问物理磁盘池。逻辑磁盘和文件系统由操作系统提供。大多数操作系统都为逻辑磁盘驱动器提供了排布成RAID阵列的物理磁盘组的功能。

图4. Greenplum数据库中的逻辑磁盘布局 
 

根据您选择的硬件平台,不同的RAID配置可提供不同的性能和容量级别。Greenplum支持并认证了许多参考硬件平台和操作系统。请与您的销售客户代表联系,以在您选择的平台上获得推荐的配置。

Interconnect

Interconnect是Greenplum数据的网络层。当用户连接到数据库并发出查询时,将在每个segment上创建流程来处理该查询的工作。Interconnect是指segment之间的进程间通信,以及该通信所依赖的网络基础设施。Interconnect使用标准的10 Gb以太网交换结构。

默认情况下,Greenplum数据库intercconnect使用带流程控制的UDP(用户数据报协议)用于interconnect通信,来通过网络发送消息。Greenplum软件执行额外的数据包验证和未由UDP执行的检查,因此可靠性等效于TCP(传输控制协议),并且性能和可伸缩性超过TCP。有关Greenplum数据库支持的interconnect类型的信息,请参阅“ Greenplum数据库参考指南”中的服务器配置参数gp_interconnect_type。

主题: Greenplum简介
 

Interconnect冗余

通过在网络上部署两个万兆位以太网交换机,以及到Greenplum数据库master和segment主机的万兆位连接也部署成冗余,可以实现高可用性的interconnect。

网络接口配置

segment主机通常具有多个网络接口,可指定给Greenplum interconnect通信。除了用于interconnect通信的接口之外,master主机通常还具有其他外部网络接口。

根据可用接口的数量,您可能希望在可用接口的数量上分配interconnect网络负载。这是通过将segment实例分配给特定的网络接口,并确保主segment在可用接口数量上均匀平衡来完成的。

这是通过为每个网络接口创建单独的主机地址名称来完成的。例如,如果一个主机具有四个网络接口,则它将具有四个对应的主机地址,每个主机地址都映射到一个或多个主网段实例。 /etc/hosts文件应配置为不仅包含当台服务器的主机名,而且还包含所有Greenplum数据库主机(master,备用master,segment和ETL主机)的所有接口的主机地址。

使用此配置,操作系统将自动选择到目标的最佳路径。Greenplum数据库自动平衡网络目标,以最大程度地提高并行度。

图5.网络接口架构示例
 

交换机配置

在Greenplum数据库阵列中使用多个万兆以太网交换机时,请在每个交换机之间平均分配子网数。在此示例配置中,如果我们有两个交换机,则每个主机上的NIC 1和2将使用交换机1,每个主机上的NIC 3和4将使用交换机2。对于master主机,绑定到NIC 1的主机名(因此使用交换机1)是该阵列的有效master主机名。因此,如果出于冗余目的部署热备用master,则备用master应映射到使用与主master不同交换机的NIC。

图6.交换机配置示例 
 

用于数据加载的ETL主机

Greenplum通过其外部表功能,支持快速、并行地数据加载。通过将外部表与Greenplum数据库的并行文件服务器结合使用(gpfdist),管理员可以从Greenplum数据库系统中获得最大的并行度和负载带宽。许多生产系统都部署了指定的ETL服务器以进行数据加载。这些机器运行Greenplum并行文件服务器(gpfdist)程序,而不是Greenplum数据库实例。

使用 gpfdist 文件服务器程序的一个优势是,从外部表数据文件读取数据时,它确保了Greenplum数据库系统中的所有segment都得到充分利用。

gpfdist程序针对分隔文本格式文件,能以平均速率约350 MB/s,针对CSV格式文件,能以平均速率约200 MB/s,将数据提供给segment实例。因此,为了最大化您的ETL系统的网络带宽,运行gpfdist 时应考虑以下选项 :

  • 如果您的ETL机器已按“ 网络接口配置”中所述,配置了多个网络接口卡(NIC),请在ETL主机上运行一个gpfdist实例,然后定义外部表,以便在LOCATION语句中(请参见Greenplum数据库参考指南中CREATE EXTERNAL TABLE)声明每个NIC的主机名。这使Greenplum segment主机和ETL主机之间的网络负载可以同时使用所有NIC。
图7.使用具有多个NIC的单个gpfdist实例的外部表 
  • 在您的ETL主机上运行多个 gpfdist实例,并在每个实例之间平均划分您的外部数据文件。例如,如果您的ETL系统具有两个网络接口卡(NIC),则可以在该机器上运行两个gpfdist实例,以最大程度地提高负载性能。然后,您将在两个gpfdist 程式之间,平均划分外部表数据文件 。
图8.使用具有多个NIC的多个gpfdist实例的外部表 
 
父主题: Greenplum简介
 

Greenplum性能监控

Greenplum数据库包括一个专用的系统监视和管理数据库,名为gpperfmon,管理员可以安装和启用该数据库。启用此数据库后,每个segment主机上的数据收集代理都会收集查询状态和系统指标。每隔固定的时间间隔(通常每15秒),Greenplum主服务器上的一个代理就向segment代理请求数据,并更新gpperfmon数据库。用户可以查询gpperfmon数据库以查看存储的查询和系统指标。有关更多信息,请参阅《Greenplum数据库参考指南》中的“ gpperfmon数据库参考” 。

Greenplum Command Center是一个可选的、基于Web的、用于Greenplum数据库的性能监视和管理工具。管理员可以与Greenplum数据库分开安装Command Center。

图9. Greenplum性能监视架构 
父主题: Greenplum简介
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值