分库分表的几种方式

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

把一个库中的表分离到不同的数据库中

数据库分片前的准备

在数据库并发和负载没有达到限制时,不推荐水平拆分

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

选择分区键

  • 分区键要能尽量避免跨分片查询的发生
  • 分区键要能尽量使用各个分片中的数据平均

如何存储无需分片的表

  • 每个分片中存储一份相同的数据
  • 使用额外的节点统一存储

如何在节点上部署分片

  • 每个分片使用单一数据库,并且数据库名也相同
  • 将多个分片表存储在一个数据库中,并在表名上加入分片号后缀
  • 在一个节点中部署多个数据库,每个数据库包含一个分片

如何分配分片中的数据

  • 按安分区键的Hash值取模来分配分片数据
  • 按分区键的范围来分配分片数据
  • 按分区键和分片的映射表来分配分片数据

如何生成全局唯一ID

  • 使用auto_increment_increment和auto_increment_offset参数
  • 使用全局节点来生成ID
  • 在Redis等缓存服务中创建全局ID

最新文章

  1. javascript 原型查找 再次试探~
  2. WPF之命令浅谈
  3. Lyaer 单弹出层获取数据
  4. GUI开发者桌面搜索文件工具
  5. jquery 找不到live方法解决
  6. android 屏幕截取,pull到pc端
  7. Spring AOP配置文件
  8. 小圣求职记A:腾讯篇
  9. Microsoft Visual Studio 2010中文版编译SQLlite3.7.0版
  10. C++11变长参数模板
  11. 【转】【SQLServer】SQL事务用法begin tran,commit tran和rollback tran的用法
  12. Django学习笔记(二)——django数据库的使用
  13. sencha touch中用来格式化日期的字符串参数
  14. 定制样式插入到ueditor
  15. 【学习笔记】Hibernate 一对一关联映射 组件映射 二级缓存 集合缓存
  16. 一款优秀的前端框架——AngularJS
  17. CF815D Karen and Cards
  18. 【做题】arc078_f-Mole and Abandoned Mine——状压dp
  19. shiro学习(二)身份验证
  20. Appium环境安装

热门文章

  1. ubuntu 20.04 安装 ros1 和ros2
  2. css样式权重优先级,css样式优先级
  3. python-输入列表,求列表元素和(eval输入应用)
  4. java中Number Type Casting(数字类型强转)的用法
  5. MySQL8.0官方文档学习
  6. 《头号玩家》AI电影调研报告(四)
  7. 北桥芯片(north bridge/host bridge)
  8. pip:带你认识一个 Python 开发工作流程中的重要工具
  9. 如何规避容器内做Java堆dump导致容器崩溃的问题
  10. 一款开源的文件搜索神器,终于不用记 find 命令了