GBase8a表空间功能介绍及注意事项

用户表的数据文件存储在配置文件中指定的“datadir”路径下,位置固定。数据库建好后就不允许更改。且在多磁盘的情况下用户无法控制数据的存储位置,从而引入表空间。

Tablespace功能是在现有固定存储的基础上实现表的数据存储路径用户可配置,主要是用户库和系统库(gctmpdb)库下的表。

GBase 8a MPP Cluster一个表空间表示一个数据存储路径。表空间的创建规则是每个库可以存在多个表空间,只有一个默认表空间,一个表空间可以多个表使用,但一个表只能属于一个表空间。

默认情况下,每个库都有一个默认表空间sys_tablespace,sys_tablespace指向现在的固定数据存储路径($GBASE_BASE/config/gbase_8a_gbase.cnf中datadir指定的目录下数据库名目录下sys_tablespace目录中),不可以删除。

 

1、创建表空间

create tablespace[ dbname. ] tablespace_name datadir path [segsize value] [maxsige value];

 

2、使用表空间

create table [dbname.]table_name (column …..) tablespace = tablespace_name;

create table [dbname.]table_name as select …… tablespace = tablespace_name;

3、修改表空间

修改表空间最大限额

alter tablespace[dbname.]tablespace_name maxsige value;

 

建库时修改默认表空间路径

create database dbname system tablespace datadir path;

 

修改数据库默认表空间

use tablespace_name as default tablespace;

 

5、删除表空间

drop tablespace tablespace_name;

 

6、查询表空间

show full tablespaces [in dbname];

select * from information_schema.tablespaces;

7.    注意:

l  表空间不允许在建库前单独建立

l  不支持gctmpdb库、gclusterdb库下,除SHOW TABLESPACES之外的其他TABLESPACE相关操作;

l  在建立镜像关系之前,用户需要预先手动在相关节点创建指定的目录和对应的TABLESPACE,且需要用户保证其一致性,镜像关系建立后,支持创建TABLESPACE指令的镜像下发功能;

l  卸载时,用户自定义表空间的相关目录中的数据会被删除;

l  关于备份恢复工具,其分为三个等级:实例级、库级和表级。其中,实例级和库级的恢复过程,用户不需要手动建立TABLESPACE和对应的目录,这些工作均由程序完成;表级的恢复过程,需要用户预先手动在指定库中建立好与备份时相同的TABLESPACE;

l  关于扩容功能,用户需要预先手动在扩容的新节点上将TABLESPACE所需要的目录建立起来,新节点上的创建TABLESPACE的动作由程序自行完成;

l  关于分区表,按照一个表来对待,用户只能指定一个TABLESPACE,不支持不同分区指定不同TABLESPACE;

 

对于节点替换功能,用户需要在被替换节点上预先手动建立好TABLESPACE的路径。

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317943.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

登录后才能评论