Greenplum:有没有办法定义一个数据将只存储在 master 中的表

Posted

技术标签:

【中文标题】Greenplum:有没有办法定义一个数据将只存储在 master 中的表【英文标题】:Greenplum : Is there a way to define a table that data will be stored in master only 【发布时间】:2014-12-04 06:38:57 【问题描述】:

在Greenplum数据库中,有没有办法定义一个数据只存储在master中的表?

【问题讨论】:

【参考方案1】:

不,Greenplum 不支持此类表。此外,Greenplum 不支持在所有段上存储相同数据的“复制”表。如果你能澄清你的情况,我会推荐你​​解决方案。将数据存储在 master 上并不是一个好的选择,因为大多数情况下 master 上没有进行数据处理

【讨论】:

【参考方案2】:

找到一个解决方案

按照以下步骤:

a> 创建一个没有任何列的表

create table test_monly();

b> 然后修改表并添加一些列

alter table test_monly add column x integer;

c> 现在插入一些记录

insert into test_monly values(1);
insert into test_monly values(3);
insert into test_monly values(5);
insert into test_monly values(7);

d> 使用此查询进行检查

select gp_segment_id,x from test_monly

e> 所有记录仅在 master 中可用

【讨论】:

GP master 不存储数据,除了一些系统表。这是 GP 安装指南的引文,第 1 章:Greenplum 简介部分“Greenplum 主控” 主控维护系统目录(一组系统表,其中包含有关 Greenplum 数据库系统本身的元数据),但主控不包含任何用户数据。数据仅驻留在段上【参考方案3】:

如果你不指定distributed by 子句,你的表将只存储在一个段中。但不能保证表会存储在主控中。

【讨论】:

我上面的解决方案,只在master中存储数据 GP master 不存储数据,除了一些系统表。以下是引用自 GP 安装指南,第 1 章:Greenplum 简介部分“Greenplum Master”中的内容 Master 维护系统目录(一组系统表,其中包含有关 Greenplum 数据库系统本身的元数据),但是 master 不包含任何用户数据。数据仅驻留在段上

以上是关于Greenplum:有没有办法定义一个数据将只存储在 master 中的表的主要内容,如果未能解决你的问题,请参考以下文章

可以增加现有 Greenplum 数据节点 (vm) 上的存储

有啥办法可以加快 Greenplum 的速度吗?

Greenplum:查找任何外部表的关联错误表

如何查看greenplum函数何时、何人、何地在数据库中创建的信息?

Greenplum:获取通过外部表处理的文件名

Greenplum 实时数据仓库实践——Greenplum与数据仓库