数据库水平扩展--分片

1.介绍

实现数据分片需要包含以下功能:

  • 分片映射管理:是一个特殊的数据库。存储分片相关的元数据。
  • 路由:当接收到一个请求时,应用程序需要根据相关的key值从 分片映射管理器中获取映射的数据库,进行数据查询或修改。
  • 多分片查询:当一个请求涉及到多个分片时,需要对查询结果进行排序合并等。

2.分片映射

在这里插入图片描述

2.1 列表分片映射

维护一个表用于单独的键值和分片数据库的关联。

分片位置
1 databaseA
2 databaseB
3 databaseA

2.2 范围分片映射

范围分片映射中,键范围由 [Low Value, High Value) 对描述,其中 Low Value 是范围中的最小键,而 High Value 是第一个大于范围的值。

分片位置
[1,50) databaseA
[50,100) databaseB
[100,150) databaseA

3.分片映射管理器

分片映射管理器是分片映射的集合。

  1. 全局分片映射:指定一个数据库作为其分片映射和映射的存储库。
  2. 局部分片映射:每个分片数据库 内部维护一个其分片的子表,用于应用程序验证本地缓存的有效性。
  3. 应用程序缓存:存储最近检索到的路由信息。

猜你喜欢

转载自blog.csdn.net/ai_xiangjuan/article/details/82917577