暂无图片
tdsql数据表扩容拆分的机制、算法,时间点、建议值怎么理解?
我来答
分享
暂无图片 匿名用户
tdsql数据表扩容拆分的机制、算法,时间点、建议值怎么理解?

tdsql数据表扩容拆分的机制、算法,时间点、建议值怎么理解?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
暂无图片
腾讯云数据库

分片表的拆分算法可以这么理解:

1. 我们建表的实例指定一列(适合业务拆分的列,比如userid), 建好表后,可以用透传分片的语法去每个分片上查看表结构;你会发现每个分片上的表结构有对应分区的信息,比如分片1负责0-31, 分片2负责32-64

2. 建好表后,在进行增删改查时,proxy会根据客户端发送的sql,进行语法解析,判断sql该发送给哪个分片

--- 这里就涉及分片表的分片算法了,这里的逻辑是hash(userid)->[0,64),然后根据分片负责的hash范围进行转发;

 

扩容的时候,有2种方式:

1, 分片垂直扩容,比如2个分片1C2G,分片个数不变扩成2个分片2C4G;-- 每个分片负责的hash范围不变,新增的2C4G分片从原来的分片上导出做主从直到延迟非常小进行切换;老的1C2G的分片下线

2. 添加分片,比如2个分片添加到4个分片,新增的会从原来的一个分片中导出完整的数据出来做主从,然后延迟非常小的时候,进行路由切换;新增的分片和老的分片,各自删除多余的分区数据;

 

一般我们建议在一个分布式实例里面,单个分片规格尽量大,分片个数尽量少,来减少分布式开销;

比如优先创建2个2C4G的分片的实例,而不是创建4个1C2G的分片的实例,分片规格达到上限后,再进行添加分片;

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Tdsql 运维管理平台可以查询数据库中数据吗?
回答 1
可以的,tdsql(赤兔)运营管理平台可以支持95%上的运营操作。一些数据库基本的增删改查都可以在平台界面上进行完成,同时还支持在线ddl功能。
AntDB数据库集群服务出现不可用提示,怎么解决?
回答 3
学习
SUNDB处理速度是多少,TPS大概多大?
回答 1
处理速度需结合具体应用场景测试来看,在以往的测试场景中,DA模式的查询操作TPS能超过2000万。TCP/IP模式1000并发的查询操作TPS能过万。
SUNDB是否适合在OLTP与OLAP场景使用?
回答 1
无论是单机版本还是集群版本,由于SUNDB的事务强一致性,优秀的多版本并发控制能力,另外,还支持存储过程、自定义函数以及大量的内置函数,使它更适用于OLTP系统,也能够处理轻量的OLAP的分析需求。
目前能够替换oracle的数据库有哪些?实力如何?替换难点在哪?
回答 2
浪潮KDB集群数据库可以了解一下。兼容度还是比较高的。
TDSQL MySQL创建视图问题
回答 2
视图可以创建,但是好像是视图内调用其他视图不行
tdsql 备份有几种方式?
回答 1
tdsql支持物理备份,逻辑备份2种方式。物理备份又可以支持全量和增量备份,tdsqlbinlog是实时备份的,可以恢复到有备份的时间范围内任意时间点
达梦可以修改模式的拥有者吗?
回答 1
不支持直接修改模式的拥有者,可以通过模式的导入导出方式间接修改。
ORACLE迁移到TDSQL,窗口函数怎么处理?
回答 1
迁移到TDSQLforMySQL版吗?如果是,DB内核为MySQL,是不支持窗口函数的。
什么是内存泄漏?
回答 2
一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者