[翻译]GPDB中的文件空间与表空间

简介: [翻译]GPDB中的文件空间与表空间

GPDB中的文件空间与表空间GreenPlum是一个快速、灵活、纯软件的分析数据处理引擎,具有一些工具和特性可以充分利用任意个数硬件或者虚拟环境用来部署集群。这里讨论的一个特性是使用文件空间将数据加载和查询活动与底层的IO卷匹配。一旦在集群中创建了一个物理文件空间,它就会映射到一个逻辑表空间,然后创建表和索引时使用它。GP5的使用中可以参考下本文,GP6通过gpinitsystem工具创建文件空间并初始化集群,方便多了


传统的GP集群中,Segment服务器配置了2个RAID组,每个组中多个磁盘驱动器。挂载为/data1和/dadta2。Primary和mirror的segment目录位于其中。表和索引等所有对象都存储再段目录中。此外,查询期间创建的临时文件也写入这2个文件系统中。

随着技术的不断进步,服务器有了相当大的改进和更新,允许更加灵活和强大的GP配置。以Dell PowerEdge R940为例,它可以管理TB的RAM,有4个CPU插槽来配置大量的Intel CPU内核,可以配置传统硬盘驱动器和较新的固态硬盘的组合,此外配置多大12个NVME SSD。通过添加 Dell PowerVault MD3460 存储单元,驱动器扩展和整体多层磁盘配置可以更进一步,最多可容纳 60 个不同类型和大小的驱动器。在这种情况下,可以针对不同使用目的使用不同文件系统组来配置GP。例如,如果您的 ETL 过程非常频繁地更改数据捕获,需要高速率的 IOPS,则可以使用文件空间和表空间将那些相关的表数据对象隔离到一个快速的、基于 SSD 的 ETL 磁盘暂存区。RAID-5 或 RAID-10 配置中的标准 1.8 TB、10K RPM 驱动器可以安装为更传统的数据目录,以容纳大量的primarymirror段信息。容量更大但性能较低的驱动器可用于为历史数据创建一个数据存储区域,这些数据不常被查询,但仍需要在线并可供用户使用以收集信息。最后,可以将临时文件重定向到备用存储区域,以实现快速数据访问流水线和处理

那么云中如何配置 Greenplum 呢?好吧,事实证明,亚马逊等公共云提供商提供了许多可以在虚拟机上配置的分层存储选项。例如,使用文件空间和表空间,可以在吞吐量优化的 EBS 卷中为传统数据集创建表和索引组,同时为临时文件和潜在的 ETL 工作使用预配置 IOPS SSD。为了在 Greenplum 内部表中长期保留数据,可以考虑使用 Amazon 的 Cold Storage HDD 选项。

Greenplum 中,物理卷被分配为一个文件空间。这是磁盘上存储对象、数据和索引页的物理位置。要定义一个文件空间,primarymirrormaster必须有一个可用的物理位置要创建文件空间,请使用 gpfilespace 工具。在创建时,管理员提供文件空间的名称和primarymirrormaster的物理路径以用于对象存储。一旦在集群中创建,管理员就可以创建一个映射到先前创建的文件空间的逻辑表空间。从那里开始,可以在创建表和索引等对象时使用表空间名称。

表空间和文件空间示例


为了演示此功能的使用,使用在 Ubuntu Server 16.04 LTS 上运行的开源 Greenplum 5.4.0 在 Amazon EC2 中部署了一个三节点集群。这些实例配置了 Thoroughput Optimized 和 Cold 硬盘驱动器 EBS 卷。

彻底优化的 EBS 卷用于标准 /data1 和 /data2 文件系统。冷硬盘 EBS 卷用于 /historical 文件系统,其中创建了用户定义的文件空间。然后可以使用任何支持表空间子句的对象来定位 /historical 磁盘卷中的数据。

一旦在 Greenplum 集群中的所有节点上分配了一个磁盘卷,从主节点以用户 gpadmin 的身份,使用 -o 运行 gpfilespace 实用程序。生成默认配置文件的选项。为文件空间提供名称,为主段和镜像段提供基本路径以定位相关段目录。此外,还提供了主段的路径,以便主进程可以跟踪集群中哪些对象位于指定的文件空间/表空间中。通过向实用程序提供所有必需的参数,它将生成一个配置文件 (gpfilespace_config_yyyymmdd_xxxx) 以用于文件空间创建过程。

使用–gpconfig 选项重新运行 gpfilespace,以及在前面的步骤中生成的配置文件。Greenplum 将尝试在集群中提供的磁盘卷上创建一个新的文件空间。

一旦创建了文件空间,就需要使用 CREATE TABLESPACE 命令将物理位置映射到逻辑名称。这将创建一个可全局寻址的名称,然后可将其用于在其定义中支持 TABLESPACE 子句的任何对象。pg_tables 和 pg_indexes 系统目录表为每个项目(默认的或命名的表空间)提供表空间位置。


使用表空间进行备份和恢复


 

对于表空间和文件空间,gpcrondump 并行备份在 Greenplum 中的运行方式没有变化。仍然为集群中的每个主数据库段创建生成的 gp_dump 文件,并在主数据库上提供支持段/模式文件。

在主节点上,备份目录中有包含逻辑模式对象定义的模式创建文件和后数据文件。正是在这些模式文件中定义了命名表空间。在恢复 Greenplum 备份之前,确保文件空间的底层磁盘卷存在,使用 gpfilespace 实用程序重新创建文件空间(如果需要),所有卷都可以跨集群访问。


在具有文件空间的集群上运行 GPExpand


Greenplum 设置中使用文件空间和表空间的最后一个领域是当集群扩展到更多数据节点时。在新添加的服务器上,确保创建所有必需的磁盘卷并使用在现有数据节点上配置的相同基本目录和权限进行访问。运行初始 gpexpand 进程以生成相关配置文件。

除了正常的扩展配置文件外,在同一目录下还会创建一个扩展名为.fs 的文件。这包含要用于集群上添加的主段和镜像段的文件空间定义。当 gpexpand 进程第二次运行以在新硬件上执行实际的段扩展时,Greenplum 将自动创建必要的文件空间来存储表空间数据,因为表在新的数据库段上扩展。


原文


https://greenplum.org/greenplum-database-tablespaces/

目录
相关文章
|
17小时前
|
存储 Oracle 关系型数据库
Oracle物化视图:数据的“快照”艺术
【4月更文挑战第19天】Oracle物化视图是预计算的查询结果集,存储为实际表,提升查询性能,简化复杂查询。它们用于快速访问、封装复杂逻辑,加速数据汇总和报表生成。然而,需注意基础数据稳定性、刷新策略及存储成本。物化视图是高效数据管理的工具,但需适时优化使用。
|
SQL 关系型数据库 数据库
MySQL · 社区动态 · Online DDL 工具 gh-ost 支持阿里云 RDS
背景 Online DDL 一直都是 DBA 运维时比较头疼的事,一般都会选择在业务低峰期谨慎的操作,比较常用的几个工具比如 percona pt-online-schema-change , Facebook OSC, 本质上它们都是基于触发器的,简单来讲就是通过数据库的触发器把作用在源表的操作在一个事务内同步到修改后的表中,这在业务高峰期时会极大的加重主库的负载。
4606 0
|
10月前
|
存储 算法 安全
[翻译]PostgreSQL中的WAL压缩以及版本15中的改进
[翻译]PostgreSQL中的WAL压缩以及版本15中的改进
138 0
|
10月前
|
监控 关系型数据库 Shell
[翻译]PG15新特性-加速WAL日志归档
[翻译]PG15新特性-加速WAL日志归档
106 0
|
存储 SQL Oracle
10 PostgreSQL 表级复制-物化视图篇, 支持异地,异构如 Oracle 到 pg 的物化视图|学习笔记
快速学习10 PostgreSQL 表级复制-物化视图篇,支持异地,异构如 Oracle 到 pg 的物化视图
435 0
10 PostgreSQL 表级复制-物化视图篇, 支持异地,异构如 Oracle 到 pg 的物化视图|学习笔记
|
SQL 监控 Cloud Native
PolarDB-X 1.0-用户指南-数据恢复表-SQL闪回
背景介绍 PolarDB-X SQL闪回针对SQL误操作,提供行级数据的恢复能力。 当您在PolarDB-X上执行误操作SQL(如INSERT、UPDATE或DELETE) 后,使用SQL闪回,提供相关的误操作SQL信息,即可从BINLOG中找到匹配的事件,生成对应的恢复文件,下载后根据需求恢复数据。 SQL闪回针对误操作SQL,支持模糊匹配与精确匹配两种丢失数据的定位策略,以及自动选择匹配策略的能力,请参见名词解释。 面向不同的使用场景,SQL闪回提供回滚SQL与原始SQL两种方式来恢复数据。
212 0
PolarDB-X 1.0-用户指南-数据恢复表-SQL闪回
|
SQL 存储 缓存
HTAP 数据库“必修课”:PolarDB-X Online Schema Change
保证系统中最多有两个 Schema 版本
1063 0
HTAP 数据库“必修课”:PolarDB-X Online Schema Change
|
弹性计算 安全 关系型数据库
阿里云RDS PG 10 HA版 - 使用postgres_fdw外部表插件 - 实例内跨库访问其他库的表
标签 PostgreSQL , postgres_fdw , 阿里云 , 内核安全限制 背景 阿里云rds pg内核安全上做了限制,只能访问当前实例的其他库,所以使用dblink, postgres_fdw时,虽然PG功能上是可以访问其他远程实例的,但是阿里云RDS PG限制了只能访问当前实例。 另一方面,当前实例是HA版本,并且是云化版本,所以IP,PORT都可能在发生迁移、切换后发
606 0
|
SQL 存储 NoSQL
数据库必知词汇:FDW
外部数据包装器FDW(Foreign Data Wrappers)是 SQL 标准 SQL/MED(SQL Management of External Data)开发的 Postgres 实现。FDW 提供了一系列统一的公共接口,使得扩展程序可以轻松地在优化、执行、扫描、更新和统计等核心部分和 Postgres 深度集成,从而可以用 SQL 语句直接查询和操作外部数据源
2077 0
|
SQL 算法 关系型数据库