点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
清理历史数据,回收部分空间;但由于历史数据需要用于数据分析,因此该方案未采纳。 集群扩容,由于硬件资源需要重新采购,耗时较久而未采纳该方式。 分析当前数据表基本信息,发现都是HEAP表,建议将大表采用列存,使用压缩特性进行空间节省。
98个PostgreSQL实例:其中2个用于对外提供服务,96个节点用于实际数据存储。
SELECT relname,reloptions,nspname from pg_class a inner join pg_namespace b on a.relnamespace = b.oid where b.nspname not in
('gp_tookit','information_schema','pg_aoseg','pg_bitmapindex','pg_catalog','pg_toast') and reloptions like '%column%';
如果存在列存表,在备份时候,将该部分表排除。
pg_dump -f db_name_struct.sql -F p -c -E utf8 -s -d dbname -h host -U user -p port
cp db_name_struct.sql db_name_struct.sql.bak
Vi db_name_struct.sql
执行全局替换:
:%s/DISTRIBUTED /with(appendonly=true,orientation=column,compresstype=zlib,compresslevel=5)
Vi db_name_struct.sql
执行全局替换:
:%s/appenonly=’false’/ appendonly=true,orientation=column,compresstype=zlib,compresslevel=5
pg_dump -f db_name_data.sql -F p -E utf8 -a -d dbname -h host -p port -U username
DROP DATABASE dbname;
CREATE DATABASE dbname;
\c dbname
\i db_name_struct.sql
\c dbname
\i db_name_data.sql
analyzdb -a -d dbname -p jobs
5)整体转换完毕后,原始集群数据11TB压缩至接近5TB,segment主机磁盘利用率为 32%,剩余磁盘容量:2.6TB。
本文作者:魏 强(上海新炬中北团队)
本文来源:“IT那活儿”公众号
文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。