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) 上的存储