GBase 8a
运维管理
文章

按表统计磁盘占用及数据分布是否均匀工具

发表于2024-11-21 17:43:02100次浏览4个评论

1. 主要解决问题

(1)项目中经常遇到的统计每张表的实际占用存储情况

(2)项目中经常遇到的统计哪些表存在数据分布不均匀情况

 

2. 部署方式

(1)使用gbase用户,在/home/gbase目录下新建balance目录

(2)将balance  config.ini文件放在该目录内,给balance文件可执行权限   chmod +x balance  ,根据实际情况修改config.ini中的内容,参考如下:

[default]
host=192.168.56.101                   --表示gbase8a coordinator节点
user=gbase                                  --表示数据库登录用户 
password='gbase20110531'         --表示数据库登录用户密码 
database=gbase                           --表示默认登录的数据库名
port=5258                                      --数据库链接端口
flag=2                                             --flag=1 表示统计每张表的实际占用存储情况(注:不包含副本,计算副本需*2)   -flag=2   表示统计哪些表存在数据分布不均匀情况
num=8                                            --表示显示的行数
 

3. 使用方法

(1) 使用gbase用户执行

(2) 根据实际情况修改config.ini 参数文件

(3) 执行: ./balance  即可

(4) 确定需要显示的函数,可修改num参数。如需要显示所有表,应先参考gbase.table_distribution的行数最大值

(5) 程序执行结果以回显方式输出,如需要记录统计信息到文件中, 可以执行./balance > my.log

(6) 回显结果中,前三个字段分别代表 vc名称,库名,表名。如果flag=1 ,第四个字段,表示表的实际存储占用,其数值单位是字节。 如果flag=2,第四个字段,表示表的数据偏移程度,该数值一般小于0.5 表示 数据分布均衡,如果大于0.5 则表示数据存在一定程度的倾斜,数值越大,一般代表倾斜程度越严重。

(7)回显结果一般是按照第四个字段的数值从高到低排列的,所以一般第一行代表全库占用磁盘最多的表,或者数据倾斜最严重的表

 

4. 参考样例

(1) 如以下回显,代表part  表是占用磁盘最高的表,以下按照大小依次类推。

vcname000001    ssbm    part    8885039
vcname000001    ssbm    part2   8736163
vcname000001    ssbm    t11     11557
vcname000001    ssbm    dwdate  7863
vcname000001    ssbm    lineorder       7845
vcname000001    ssbm    customer        6278
vcname000001    gclusterdb      rebalancing_status      5127
vcname000001    ssbm    supplier        3402
 

(2)如以下回显,代表 part2  test  customer表有倾斜问题,从图中可以验证

vcname000001    ssbm    part2   0.751
vcname000001    ssbm    test    0.551
vcname000001    ssbm    customer        0.55
vcname000001    ssbm    t11     0.169
vcname000001    gclusterdb      dual    0
vcname000001    ssbm    part    0.0
vcname000001    ssbm    supplier        0.0
vcname000001    ssbm    lineorder       0.0

5 参考文件

(1) 注: 该版本为centos7环境下编译。

(2) 文件下载:

通过百度网盘分享的文件:balance.zip
链接:https://pan.baidu.com/s/1iY_CP2NBn4VgTF_aiQIszQ 
提取码:ycmi


 

 

评论

登录后才可以发表评论
崔哥发表于 9个月前
感谢分享
用户头像
levvel发表于 6个月前
看完收获很大!
新疆油腻大叔发表于 2个月前
闪闪发光
shepherd发表于 2个月前
闪闪发光