GBase 8a
其他
文章

南大通用GBase 8a MPP Cluster表空间功能

发表于2025-05-09 09:29:18502次浏览1个评论

GBase 8a MPP Cluster一个表空间表示一个数据存储路径。表空间的创建规则是每个库可以存在多个表空间,只有一个默认表空间,一个表空间可以多个表使用,但一个表只能属于一个表空间。
默认情况下,每个库都有一个默认表空间sys_tablespace,sys_tablespace指向现在的固定数据存储路径($GBASE_BASE/config/gbase_8a_gbase.cnf中datadir指定的目录下数据库名目录下sys_tablespace目录中),不可以删除。

建库时指定默认表空间

语法格式

CREATE DATABASE [vc_name.]<database_name> SYSTEM TABLESPACE DATADIR  <path> [SEGSIZE <segsize_value>] [MAXSIZE <max size_value>];
  • vc_name:虚拟集群名称,可选项。
  • database_name:数据库名称,可选项。
  • path:默认Tablespace所对应的系统路径,路径支持相对路径和绝对路径,相对路径是相对于配置文件中配置的datadir路径。
  • segsize_value:表空间中表的seg文件分裂大小,在10M到2G之间,使用带有K,M,G单位表示,默认为2G。
  • maxsize_value:指定表空间最大限额,它要大于segsize值,使用带有K,M,G单位表示。由用户保证磁盘可用空间大于maxsize_value。默认为不限制。该参数在集群层指定则表示每个节点的表空间最大限额。资源管理先于表空间进行空间的限额检验。

CREATE TABLESPACE

语法格式

CREATE TABLESPACE [IF NOT EXISTS] [[vc_name.]database_name.]<tablespace_name> DATADIR <path> [SEGSIZE <segsize_value>] [MAXSIZE  <maxsize_value>]
  • vc_name:虚拟集群名称,可选项。
  • database_name:数据库名称,可选项。
  • tablespace_name:表空间名称,支持数字英文和下划线,长度为64个字符,不区分大小写,全部按照小写字符创建,且不允许以数字开头。(该规则适用于全文,类似内容不再冗述)。
  • path:Tablespace所对应的实际系统路径,路径支持相对路径和绝对路径,相对路径是相对于配置文件中配置的datadir路径;
  • segsize_value:Tablespace中表的seg文件分裂大小,在10M到2G之间,使用带有K、M、G单位表示,默认为2G;
  • maxsize_value:指定表空间最大限额,它要大于segsize值,使用带有K,M,G单位表示。由用户保证磁盘可用空间大于maxsize_value。默认为不限制。该参数在集群层指定则表示每个节点的表空间最大限额。资源管理先于表空间进行空间的限额检验。

DROP TABLESPACE

语法格式

DROP TABLESPACE [[vc_name.]database_name.]<tablespace_name>;
  • vc_name:虚拟集群名称,可选项。
  • database_name:数据库名称,可选项。
  • tablespace_name:空间名称。

注意:删除表空间有如下限制:
(1)默认表空间不允许删除;
(2)系统表空间sys_tablespace不允许删除;
(3)正在使用的表空间不允许删除。

ALTER TABLESPACE

功能说明
修改TABLESPACE 最大限额。
语法格式

ALTER TABLESPACE [[vc_name.]database_name.]tablespace_name  MAXSIZE  <maxsize_value>;
  • vc_name:虚拟集群名称,可选项。
  • database_name:数据库名称,可选项。
  • tablespace_name:表空间名称。
  • maxsize_value:指定表空间最大限额,它要大于segsize值,使用带有K、M、G单位表示。由用户保证磁盘可用空间大于maxsize_value。默认为不限制。只支持增大修改,不允许减少。资源管理先于表空间进行空间的限额检验。

建表时指定表空间

功能说明
创建表时可以指定要使用的TABLESPACE,不做指定则使用库的默认表空间。分区表作为一个表来看待,只能指定一个tablespace,不支持为不同分区指定不同tablespace。
语法格式

CREATE TABLE [[vc_name.]database_name.]table_name (column_def...) TABLESPASCE=tablespace_name;
  • vc_name:虚拟集群名称,可选项。
  • database_name:数据库名称,可选项。
  • table_name:表名称。
  • tablespace_name:表空间名称。

说明
(1)CREATE TABLE …LIKE…不支持指定表空间;
(2)CREATE TABLE …AS SELECT…支持指定表空间。

设置库的默认表空间

功能说明
用户可以修改指定库的默认Tablespace,设置数据库的默认Tablespace后,创建表不指定Tablespace时,使用默认Tablespace。该功能不支持针对系统库操作,包括gbase、gctmpdb、performance_schema和information_schema等。
语法格式

USE [[vc_name.]database_name.]tablespace_name AS DEFAULT TABLESPACE;
  • vc_name:虚拟集群名称,可选项。
  • database_name:数据库名称,可选项。
  • tablespace_name:表空间名称。

说明
使用use前必须保证要设置的tablespace已经创建好。

SHOW TABLESPACES

功能说明
查询表空间信息。
语法格式

SHOW  [full]  TABLESPACES;
  • full:显示是否是默认表空间。

示例

gbase> SHOW FULL TABLESPACES;
+------------------------+------------------------+------------+
| Tablespace_in_test_sdy | Tablespace_in_test_sdy | Is_default |
+------------------------+------------------------+------------+
| sys_tablespace         | .                      | no         |
| tbs1                   | ../tbs1                | yes        |
+------------------------+------------------------+------------+
2 rows in set (Elapsed: 00:00:00.00)

REFRESH TABLESPACE

功能说明
刷新表空间使用大小信息。
语法格式

REFRESH TABLESPACE [[vc_name.]database_name.] tablespace_nameSTORAGE USAGE
  • vc_name:虚拟集群名称,可选项。
  • database_name:数据库名称,可选项。
  • tablespace_name:表空间名称。

注意
(1)不支持gctmpdb库、gclusterdb库下,除SHOW TABLESPACES之外的其他TABLESPACE相关操作;
(2)在建立镜像关系之前,用户需要预先手动在相关节点创建指定的目录和对应的TABLESPACE,且需要用户保证其一致性,镜像关系建立后,支持创建TABLESPACE指令的镜像下发功能;
(3)卸载时,用户自定义表空间的相关目录中的数据会被删除;
(4)关于备份恢复工具,其分为三个等级:实例级、库级和表级。其中,实例级和库级的恢复过程,用户不需要手动建立TABLESPACE和对应的目录,这些工作均由程序完成;表级的恢复过程,需要用户预先手动在指定库中建立好与备份时相同的TABLESPACE;
(5)关于扩容功能,用户需要预先手动在扩容的新节点上将TABLESPACE所需要的目录建立起来,新节点上的创建TABLESPACE的动作由程序自行完成;
(6)关于分区表,按照一个表来对待,用户只能指定一个TABLESPACE,不支持不同分区指定不同TABLESPACE;
(7)对于节点替换功能,用户需要在被替换节点上预先手动建立好TABLESPACE的路径。
 

评论

登录后才可以发表评论
崔哥发表于 27天前
中和癸卯春三月,洛阳城外花如雪。东西南北路人绝,绿杨悄悄香尘灭。路旁忽见如花人,独向绿杨阴下歇。凤侧鸾欹鬓脚斜,红攒黛敛眉心折。借问女郎何处来,含颦欲语声先咽。回头敛袂谢行人,丧乱漂沦何堪说!三年陷贼留秦地,依稀记得秦中事。君能为妾解金鞍,妾亦与君停玉趾。前年庚子腊月五,正闭金笼教鹦鹉。斜开鸾镜懒梳头,闲凭雕栏慵不语。忽看门外起红尘,已见街中擂金鼓。居人走出半仓惶,朝士归来尚疑误。是时西面官军入,拟向潼关为警急。皆言博野自相持,尽道贼军来未及。须臾主父乘奔至,下马入门痴似醉。适逢紫盖去蒙尘,已见白旗来匝地。扶羸携幼竞相呼,上屋缘墙不知次。南邻走入北邻藏,东邻走向西邻避。北邻诸妇咸相凑,户外崩腾如走兽。轰轰混混乾坤动,万马雷声从地涌。火迸金星上九天,十二官街烟烘烔。日轮西下寒光白,上帝无言空脉脉。阴云晕气若重围,宦者流星如血色。紫气潜随帝座移,妖光暗射台星拆。家家流血如泉沸,处处冤声声动地。舞伎歌姬尽暗捐,婴儿稚女皆生弃。东邻有女眉新画,倾国倾城不知价。长戈拥得上戎车,回首香闺泪盈把。旋抽金线学缝旗,才上雕鞍教走马。有时马上见良人,不敢回眸空泪下。西邻有女真仙子,一寸横波剪秋水。妆成只对镜中春,年幼不知门外事。一夫跳跃上金阶,斜袒半肩欲相耻。牵衣不肯出朱门,红粉香脂刀下死。南邻有女不记姓,昨日良媒新纳聘。琉璃阶上不闻行,翡翠帘间空见影。忽看庭际刀刃鸣,身首支离在俄顷。仰天掩面哭一声,女弟女兄同入井。北邻少妇行相促,旋拆云鬟拭眉绿。已闻击托坏高门,不觉攀缘上重屋。须臾四面火光来,欲下回梯梯又摧。烟中大叫犹求救,梁上悬尸已作灰。妾身幸得全刀锯,不敢踟蹰久回顾。旋梳蝉鬓逐军行,强展蛾眉出门去。旧里从兹不得归,六亲自此无寻处。一从陷贼经三载,终日惊忧心胆碎。夜卧千重剑戟围,朝餐一味人肝脍。鸳帏纵入岂成欢,宝货虽多非所爱。蓬头垢面眉犹赤,几转横波看不得。衣裳颠倒语言异,面上夸功雕作字。柏台多半是狐精,兰省诸郎皆鼠魅。还将短发戴华簪,不脱朝衣缠绣被。翻持象笏作三公,倒佩金鱼为两史。朝闻奏对入朝堂,暮见喧呼来酒市。一朝五鼓人惊起,叫啸喧呼如窃语。夜来探马入皇城,昨日官军收赤水。赤水去城一百里,朝若来兮暮应至。凶徒马上暗吞声,女伴闺中潜生喜。皆言冤愤此时销,必谓妖徒今日死。逡巡走马传声急,又道官军全阵入。大彭小彭相顾忧,二郎四郎抱鞍泣。沉沉数日无消息,必谓军前已衔璧。簸旗掉剑却来归,又道官军悉败绩。四面从兹多厄束,一斗黄金一斗粟。尚让厨中食木皮,黄巢机上刲人肉。东南断绝无粮道,沟壑渐平人渐少。六军门外倚僵尸,七架营中填饿殍。长安寂寂今何有?废市荒街麦苗秀。采樵斫尽杏园花,修寨诛残御沟柳。华轩绣毂皆销散,甲第朱门无一半。含元殿上狐兔行,花萼楼前荆棘满。昔时繁盛皆埋没,举目凄凉无故物。内库烧为锦绣灰,天街踏尽公卿骨!来时晓出城东陌,城外风烟如塞色。路旁时见游奕军,坡下寂无迎送客。霸陵东望人烟绝,树锁骊山金翠灭。大道俱成棘子林,行人夜宿墙匡月。明朝晓至三峰路,百万人家无一户。破落田园但有蒿,摧残竹树皆无主。路旁试问金天神,金天无语愁于人。庙前古柏有残枿,殿上金炉生暗尘。一从狂寇陷中国,天地晦冥风雨黑。案前神水咒不成,壁上阴兵驱不得。闲日徒歆奠飨恩,危时不助神通力。我今愧恧拙为神,且向山中深避匿。寰中箫管不曾闻,筵上牺牲无处觅。旋教魔鬼傍乡村,诛剥生灵过朝夕。妾闻此语愁更愁,天遣时灾非自由。神在山中犹避难,何须责望东诸侯!前年又出扬震关,举头云际见荆山。如从地府到人间,顿觉时清天地闲。陕州主帅忠且贞,不动干戈唯守城。蒲津主帅能戢兵,千里晏然无犬声。朝携宝货无人问,暮插金钗唯独行。明朝又过新安东,路上乞浆逢一翁。苍苍面带苔藓色,隐隐身藏蓬荻中。问翁本是何乡曲?底事寒天霜露宿?老翁暂起欲陈辞,却坐支颐仰天哭。乡园本贯东畿县,岁岁耕桑临近甸。岁种良田二百廛,年输户税三千万。小姑惯织褐絁袍,中妇能炊红黍饭。千间仓兮万丝箱,黄巢过后犹残半。自从洛下屯师旅,日夜巡兵入村坞。匣中秋水拔青蛇,旗上高风吹白虎。入门下马若旋风,罄室倾囊如卷土。家财既尽骨肉离,今日垂年一身苦。一身苦兮何足嗟,山中更有千万家,朝饥山上寻蓬子,夜宿霜中卧荻花!妾闻此老伤心语,竟日阑干泪如雨。出门惟见乱枭鸣,更欲东奔何处所?仍闻汴路舟车绝,又道彭门自相杀。野宿徒销战士魂,河津半是冤人血。适闻有客金陵至,见说江南风景异。自从大寇犯中原,戎马不曾生四鄙。诛锄窃盗若神功,惠爱生灵如赤子。城壕固护教{斆、敩、效}金汤,赋税如云送军垒。奈何四海尽滔滔,湛然一境平如砥。避难徒为阙下人,怀安却羡江南鬼。愿君举棹东复东,咏此长歌献相公。