tbase配置冷热数据分离

举报
snowofsummer 发表于 2021/12/31 12:34:15 2021/12/31
【摘要】 本次测试使用了2个数据节点。 dn001,dn002postgres=# select * from pgxc_node; node_name | node_type | node_port | node_host | nodeis_primary | nodeis_preferred | node_id | node_cluster_name-----------+-----...

本次测试使用了2个数据节点。 dn001,dn002

postgres=# select * from pgxc_node;
 node_name | node_type | node_port |   node_host   | nodeis_primary | nodeis_preferred |  node_id   | node_cluster_name
-----------+-----------+-----------+---------------+----------------+------------------+------------+-------------------
 agtm_0    | G         |     11002 | 192.168.5.200 | t              | f                |  475343005 | tbase_cluster
 cn001     | C         |     11387 | 192.168.5.200 | f              | f                | -264077367 | tbase_cluster
 dn001     | D         |     11000 | 192.168.5.200 | f              | f                | 2142761564 | tbase_cluster
 dn002     | D         |     11004 | 192.168.5.201 | f              | f                |  -17499968 | tbase_cluster
(4 rows)


1,建立分组default_group和cold_group两个存储池。

#删除之前创建的default_group
drop sharding in group default_group;
drop node group default_group;

dn001 为默认组。
dn002 为冷数据组。
#创建冷热组
create default node group default_group with(dn001);
create sharding group to group default_group;
clean sharding;
create node group cold_group with(dn002);
create extension sharding group to group cold_group;
clean sharding;


2,冷数据的cold_group对应的节点需要标识为冷节点:(主备都要设置)

[tbase@db02 ~]$ psql -h 192.168.5.201 -p 11004 -d postgres -U tbase
psql (10.6, server 10.0 TBase V2)
Type "help" for help.

postgres=# select pg_set_node_cold_access();
 pg_set_node_cold_access
-------------------------
 success
(1 row)


3,创建分区表

create table cold_move_test
(
f1 int not null,
f3 varchar(20),
f2 timestamp not null
)
partition by range (f2)
begin (timestamp without time zone '2015-01-01 0:0:0')
step (interval '1 year') partitions (10)
distribute by shard(f1,f2)
to group default_group cold_group;

image.png


4,修改冷热分离参数(所有节点全部修改)

//manual_hot_date时间修改为2019-01-01

cold_hot_sepration_mode    postmaster    是    year    NULL    Set the cold_hot_sepration_mode, day/month/year.    
enable_cold_seperation    user    否    on    NULL    Enable cold storage seperation when make route strategy.    
manual_hot_date    sighup    否    2019-01-01    NULL    Set the manual_hot_date, this value will mask off hot_date_age.



5,导入测试数据

\copy  cold_move_test from 'cold_move_test.csv';

6,验证数据冷热分离结果

postgres=# select b.node_name,a.cnt from
postgres-# (select xc_node_id x_id,count(*) cnt from cold_move_test group by xc_node_id) a inner join pgxc_node b on a.x_id=b.node_id;
 node_name | cnt
-----------+-----
 dn002     | 100
 dn001     |  50
(2 rows)



测试数据:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。