9.2.2 分区

2025-06-16 12:45:42 更新

为什么要分区?

(1)数据量的增加已经使得数据不能仅在单一计算机系统中存储(分布式的应用),尤其是为了保证数据可靠性,有时需要复制备份。

(2)在设计中为了一些规模性操作(比如负载平衡)或者考虑一些动态因素影响(存储结点的改变)。

分区的主要方法

方法



内存缓存(视为分区)

将使用频率最高的数据复制到缓存中,加快传输速度,减轻服务器负担。

在分布式缓存中,通过配置进行应用。在不同编程语言中通过简单API存取在缓存中的对象键值哈希散列

集群

数据库服务器集群为用户提供透明性(用户感觉数据像在同一个地方)服务

某种程度上扩展系统数据持久层,仅应用在数据库管理系统的顶层,而不是在分布式的最初设计中

读写分离

配置多台主服务器负责写操作,另外一些服务器负责读请求

主/从模型适合读写率较高的场景

范围分割技术/分片(sharding)

对数据的请求和更新在同一个结点上,且对于分布在不同服务器上的数据存储和下载的量大致相同。

在分区场景中,关键在于如何将数据库中的对象映射到服务器上。通常的方法是哈希散列法。