分库分表之拆分键设计

💡 原文中文,约2500字,阅读约需6分钟。
📝

内容提要

在计算机世界中,当单一数据库资源无法满足需求时,可以考虑使用多个数据库同时提供服务。拆分键的设计是关键,可以进行水平拆分和垂直拆分。拆分键的选取遵循以查询维度为准则。拆分键的生成可以使用数据库自增主键、UUID或雪花算法。拆分后的数据库可以同步到NoSQL数据库以支持复杂查询需求。数据库的主要能力是存储,复杂计算需求一般在业务逻辑中实现。

🎯

关键要点

  • 当单一数据库资源无法满足需求时,可以考虑使用多个数据库提供服务。
  • 拆分键的设计是关键,包括水平拆分和垂直拆分。
  • 水平拆分是将一个库、一个表扩展为多个库、多个表,保持数据完整性。
  • 垂直拆分是将数据库及表拆分为多个部分,分别存储不同类型的数据。
  • 拆分键的选取应遵循查询维度,如订单表以订单号作为拆分键。
  • 支持非拆分键的单条件查询可以使用等值法、索引法和基因法。
  • 拆分键的生成可以使用数据库自增主键、UUID或雪花算法。
  • 随着业务量的增长,数据库拆分是必要的,复杂查询需求可同步到NoSQL数据库。
  • 数据库的主要能力是存储,复杂计算需求一般在业务逻辑中实现。
➡️

继续阅读