暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 数据库排查数据倾斜

努力的贾维斯 2022-01-10
1059

当使用数据库发生数据倾斜时建议按照以下步骤进行排查:

1.查看是否有大的临时文件产生,sql产生笛卡尔积会产生大量的临时文件。查看每个节点的
du -sh/opt/IP/gnode/tmpdata这个文件的大小
2.若没有大的临时文件那么可以判定为出现节点数据倾斜,先从库开始排查
du -sh * /opt/IP/gnode/userdata/gbase/
找出最大的数据库,一般来讲最大的数据库可能发生数据倾斜
3.进入到大库所在的目录/opt/IP/gnode/userdata/gbase/库名/systablespace
du -sh /opt/IP/gnode/userdata/gbase/库名/sys_tablespace
与正常节点对比下统计的sys_tablespace结果就可以知道具体那张表发生了数据倾斜

若在表不多的情况下可以进入到大库中,按照每张表逐一排查:

排查语句为:

select * from information_schema.CLUSTER_TABLE_SEGMENTS a where table_schema='库名' and table_name='表名';

示例如下:

+--------------+--------------+------------+--------+------------+-----------------+--------------------+--------------+
| TABLE_VC     | TABLE_SCHEMA | TABLE_NAME | SUFFIX | HOST       | TABLE_DATA_SIZE | TABLE_STORAGE_SIZE | DATA_PERCENT |
+--------------+--------------+------------+--------+------------+-----------------+--------------------+--------------+
| vcname000001 | testdb       | t2         | n1     | 10.0.2.102 |        27159648 |          456672843 | 30%          |
| vcname000001 | testdb       | t2         | n2     | 10.0.2.202 |        30748872 |          506634381 | 40%          |
| vcname000001 | testdb       | t2         | n3     | 10.0.2.102 |        27156466 |          456849885 | 30%          |
+--------------+--------------+------------+--------+------------+-----------------+--------------------+--------------+

从上面分析可知t2这个表在n2分片发生倾斜,可以进入到10.0.2.202这个IP进行后续处理。

对于上表的解释:


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论