Pivotal Greenplum 6.4介绍(翻译自官网)

本文翻译自官网:https://gpdb.docs.pivotal.io/6-4/install_guide/preinstall_concepts.html

1.什么是Greenplum

Pivotal Greenplum是全球首个基于开源Greenplum数据库的全功能、多云、大规模并行处理(MPP)数据平台,兼具高级分析功能与传统BI。Pivotal Greenplum可针对多结构化数据提供全面的综合分析。Pivotal Greenplum由世界上最先进的基于成本的查询优化器提供支持,可以针对海量数据提供无与伦比的分析查询性能。
Pivotal Greenplum 6.4介绍(翻译自官网)

2.Greenplum简介

2.1体系架构

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

Master Host

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

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

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

Master Redundancy(master节点冗余)

Pivotal Greenplum 6.4介绍(翻译自官网)
可以选择部署主实例的备份或镜像。如果主Master主机无法运行,则备用Master主机将用作热备份。您可以将备用master服务部署在指定的冗余主服务器主机或segment主机之一上。

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

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

Segments Host(段主机)

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

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

Segment Redundancy (段冗余)

Pivotal Greenplum 6.4介绍(翻译自官网)
部署Greenplum数据库系统时,可以选择配置 mirror segments。如果primary segment不可用,则mirror segments允许数据库查询故障转移到备份段。镜像是Pivotal支持的生产Greenplum数据库系统的要求。

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

Segment Failover and Recovery(段得故障转移和恢复)

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

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

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

Example Segment Host Hardware Stack (段主机硬件堆栈示例)

Pivotal Greenplum 6.4介绍(翻译自官网)
无论选择哪种硬件平台,通常都会按照本节中的说明配置生产Greenplum数据库处理节点(segments host)。

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

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

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

Example Segment Disk Layout(段磁盘布局示例)

Pivotal Greenplum 6.4介绍(翻译自官网)
每个CPU通常都映射到逻辑磁盘。逻辑磁盘由一个主文件系统(以及可选的镜像文件系统)组成,该文件系统通过I / O通道或磁盘控制器访问物理磁盘池。逻辑磁盘和文件系统由操作系统提供。大多数操作系统都使逻辑磁盘驱动器能够使用RAID阵列中排列的物理磁盘组。
根据您选择的硬件平台,不同的RAID配置可提供不同的性能和容量级别。Greenplum支持并认证许多参考硬件平台和操作系统。请与您的销售客户代表联系,以在您选择的平台上获得推荐的配置。

Interconnect (连接)

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

默认情况下,Greenplum数据库互连将UDP(用户数据报协议)与流控制一起用于互连流量,以通过网络发送消息。Greenplum软件执行附加的数据包验证和不由UDP执行的检查,因此可靠性等同于TCP(传输控制协议),并且性能和可伸缩性超过TCP。有关Greenplum数据库支持的互连类型的信息,请参阅服务器配置参数。 gp_interconnect_type在Greenplum的数据库参考指南。

Interconnect Redundancy (连接冗余)

通过在网络上部署双10 Gb以太网交换机以及到Greenplum数据库主服务器和分段主机服务器的10冗余冗余连接,可以实现高可用性的互连。

Network Interface Configuration (网络接口配置)

Pivotal Greenplum 6.4介绍(翻译自官网)
segments host通常具有多个指定用于Greenplum互连流量的网络接口。除了用于互连流量的接口之外,Master host 通常还具有其他外部网络接口。

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

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

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

Switch Configuration (交换机配置)

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

ETL Hosts for Data Loading (用于数据加载得ETL主机)

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

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

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

如果ETL机被配置为与在所述的多个网络接口卡(NIC)的网络接口配置,运行的一个实例gpfdist 在ETL主机上,然后定义外部表定义,以便在NIC中声明每个NIC的主机名。 位置 条款(请参见 创建外部表在Greenplum数据库参考指南中)。这允许Greenplum网段主机和ETL主机之间的网络流量同时使用所有NIC。
Pivotal Greenplum 6.4介绍(翻译自官网)

多次运行 gpfdist实例在ETL主机上,并在每个实例之间平均划分您的外部数据文件。例如,如果您的ETL系统带有两个网络接口卡(NIC),则可以运行两个 gpfdist该机器上的实例,以最大化您的负载性能。然后,您将在两个表之间平均划分外部表数据文件 gpfdist 程式。
Pivotal Greenplum 6.4介绍(翻译自官网)

Greenplum Performance Monitoring(greenplum性能监控)

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

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

本文翻译自官网:https://gpdb.docs.pivotal.io/6-4/install_guide/preinstall_concepts.html