开发者社区> 问答> 正文

DRDS 分库分表


DRDS 在后端将数据量较大的数据表水平拆分到后端的每个 RDS 数据库中,这些拆分到 RDS 中的数据库被称为分库,分库中的表称为分表。
拆分后,每个分库负责每一份数据的读写操作,从而有效的分散了整体访问压力。在系统扩容时,只需要水平增加分库的数量,并且迁移相关数据,就可以提高 DRDS 系统的总体容量。
DRDS 支持库级拆分,表级拆分和分库分表拆分,通过 DRDS DDL 语句指定,具体操作可参考 建表语法和方式,以及 DDL 拆分函数说明
[backcolor=transparent]拆分键
拆分键即分库/分表字段,因此分为分库键和分表键。拆分键暂时只支持单个字段。

  • 分库键:DRDS 根据分库键的值将数据水平拆分到后端的每一个 RDS 分库里。键值相同的数据,一定会位于同一个 RDS 数据库里。
  • 分表键:每一张逻辑表都可以定义自己的分表键,键值相同的数据,一定会位于同一个 RDS 数据表里。


[backcolor=transparent]注意:在执行带有 WHERE 条件的 UPDATE、DELETE、SELECT 语句时,如果 SQL 语句中没有使用拆分键,或者虽然指定了拆分键但是范围太广,会导致 SQL 语句被分发到所有分库上执行(即全表扫描),且执行结果会在 DRDS 中进行合并。全表扫描响应较慢,在高并发业务场景中应尽量避免使用。

展开
收起
猫饭先生 2017-10-30 10:14:06 3493 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
分布式数据库DRDS全新升级 立即下载
PolarDB HTAP 详解 立即下载
PolarDB for PostgreSQL高可用 立即下载