DRDS 分库分表
DRDS 在后端将数据量较大的数据表水平拆分到后端的每个 RDS 数据库中,这些拆分到 RDS 中的数据库被称为分库,分库中的表称为分表。
拆分后,每个分库负责每一份数据的读写操作,从而有效的分散了整体访问压力。在系统扩容时,只需要水平增加分库的数量,并且迁移相关数据,就可以提高 DRDS 系统的总体容量。
DRDS 支持库级拆分,表级拆分和分库分表拆分,通过 DRDS DDL 语句指定,具体操作可参考快速开始。
拆分键
拆分键即分库/分表字段,因此分为分库键和分表键。拆分键暂时只支持单个字段。
- 分库键:DRDS 根据分库键的值将数据水平拆分到后端的每一个 RDS 分库里。键值相同的数据,一定会位于同一个 RDS 数据库里。
- 分表键:每一张逻辑表都可以定义自己的分表键,键值相同的数据,一定会位于同一个 RDS 数据表里。
DRDS SQL 路由
在分库分表模式下,DRDS 会根据拆分键(即拆分字段)以及 SQL 语义把 SQL 语句分发到底层的各个存储的分表进行执行。执行结束后,DRDS 会将各个分表上获取的数据合并,返回给用户。本文介绍在分库分表场景中 DRDS 执行 SQL 语句时的路由原理。DRDS 的数据拆分原理请参考文档