首页 > 数据库 >TDSQL-PG 数据重分布

TDSQL-PG 数据重分布

时间:2023-08-28 15:01:59浏览次数:35  
标签:dn product 0818 TDSQL 过滤 分布 PG 分片 数据

记录一次数据重分布造成的数据库抖动。

何为数据重分布:

 
select * from t1,t2 where t1.id1=t2.id2;
  • 若id1,id2都为分片键,在做算子下推到dn时,由于分片键是hash算法,所以id1,id2相同的值都在同一个dn上。每个dn可以独立完成数据过滤。dn计算的数据在CN聚合后,返回客户端。
  • 若id1,id2有一个不是分片键,在做算子下推到dn时,dn无法单独完成数据过滤,需要跟其它dn建立连接,获取缺失的数据后,再进行数据过滤。过滤完成后,将数据在cn汇聚后反馈给客户端。---这就是数据重分布

image.png

数据重分布的危害:

  • dn和dn之间会建立大量连接,会导致dn连接数上升。高并发场景下,造成dn连接数打满。
  • 导致SQL效率变慢。

整改方案:

  • 约束开发:高并发SQL的where条件中,只能允许通过分片键过滤。---对开发要求较高
  • 分布式表改造成复制表:每个DN上有完整的数据,通过非分片键进行过滤时,没有数据的重分布。---若表较大,十分浪费存储
 
set lock_timeout=30000;

create table t_product_0818  (like t_product  including all) distribute by replication to group default_group;  ---including all不包括外键
alter table t_product rename to t_product_ori_0818 ;  
insert into t_product_0818 select * from t_product_ori_0818  ;
vacuum analyze t_product_0818   ;
alter table t_product_0818   rename to t_product ;

标签:dn,product,0818,TDSQL,过滤,分布,PG,分片,数据
From: https://www.cnblogs.com/z-uncle/p/17662276.html

相关文章

  • 基于友晶科技 FPGA开发板 DE2-115、DE1-SOC 和 DE10-STANDARD 的VGA图片显示(ADV7123)
      选择一个图 调整像素 转换成mif文件   ......
  • flutter升级错误“Your flutter checkout has local changes that would be erased by
    在升级FlutterSDK时可能会报如下错误:Yourfluttercheckouthaslocalchangesthatwouldbeerasedbyupgrading.Ifyouwanttokeepthesechanges,itisrecommendedthatyoustashthemvia“gitstash”orelsecommitthechangestoalocalbranch.Ifitisok......
  • 在spring、tomcat中使用多数据源并支持分布式事务管理
    题目起得有点模糊,第一次接触这东西,还不怎么理解。 起因: 小项目,没有用分布式,但要操作两个数据库。本以为随便用spring配置两个数据源就搞定,查询是没问题,问题是有一个数据库老是插不进数据。Google狂搜之后,大概了解到是事务控制的问题。我用的是spring的声明式事务管理(<tx:annotat......
  • Docker|--E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of the
    错误apt-keyadv--keyserverkeyserver.ubuntu.com--recv-keys871920D1991BC93CE:gnupg,gnupg2andgnupg1donotseemtobeinstalled,butoneofthemisrequiredforthisoperation解决方案apt-getupdate&&apt-getinstall-ygnupg2#或者apt-getu......
  • 分布式锁
    2023.8.271.zookeeper实现,基于临时节点实现——临时节点唯一创建临时节点关闭的时候调用close方法即可2.zookeeper获取临时节点之后一直不关闭,也就是一直不释放锁怎么办设定超时时间3.羊群效应——比喻一个服务成功获取、释放节点时,其他需要锁的服务需要被唤醒......
  • 大厂版本控制利器——GIT——最先进的分布式版本控制系统
    哈喽,大家好,我是指北君。作为程序员,对版本控制工具肯定不陌生。对很多资深程序员来说,CVS和SVN曾经占据着统治地位。随着互联网飞速发展,为了更好地适应互联网时代软件版本管理的需要,采用分布式版本库的Git应运而生,并迅速占领各大互联网阵地,独占鳌头。关于GitGit是LinusTorval......
  • 如何批量转换图片格式(jpg,png,gif,bmp),一招教你快速搞定
    工具一.作图狗www.huahaotu.com作图狗是一款非常好用的在线图像批量处理编辑网站,支持将图片批量裁剪、压缩、拼图、转换格式、图片转文字等,还支持给图片添加文字、图片水印,批量处理,节省频繁操作的时间。    工具二:电脑自带工具软件介绍:除了使用其他软件来转换图......
  • Cisco OSPF多进程重分布
    和ospf与rip重分布类似就是两个ospf进程号别给一样然后宣告网段中间的路由器进ospf1宣告左边一段再进ospf2宣告右边一段然后重分布ospf1里面就重分布为ospf2类型ospf2里面就重分布为ospf1类型......
  • hdu:不容易系列之(3)—— LELE的RPG难题
    ProblemDescription人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即”可乐”),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要......
  • 分布式数据库CAP原理
    看完了阳哥的redis视频课,理解了MySQL和NoSQL的区别,下面来总结一下传统的ACID分别是什么A(Atomicity)原子性C(Consistency)一致性I(Isolation)独立性D(Durability)持久性关系型数据库遵循ACID规则,事务在英文中是transaction,有如下四个特性:1、A(Atomicity)原子性原子性......