数据库的分库分表技术

473 阅读1分钟

数据库的分库分表技术

  • 把一个实例中的多个数据库拆分到不同的实例
  • 把一个库中的表分离到不同的数据库中

对数据库的相关表进行水平拆分到不同的数据库中

1.如何选择分区键

- 分区键要能尽量避免跨分片查询的发生

- 分区键要能尽量使得各个分片中的数据平均

2.如何存储无需分片的表

-每个分片中存储一分相同的数据

-使用额外的节点同一存储

3.如何在节点上部署分片

-每个分片使用单一数据库,并且数据库名也相同

-将多个分片表存储在一个数据库中,并在表名上加入分片号后缀

-在一个节点中部署多个数据库,每个数据库包含一个分片

4.如何分配分片中的数据

-按分区键的Hash值取模来分配分片数据

-按分区键的范围来分配分片的数据

-利用分区键和分片的映射表来分配分片的数据

5.如何生成全局唯一的ID

-使用auto_increment_increment和auto_increment_offset参数

-使用全局节点来生成ID

-在Redis等缓存服务器中创建全局ID