副本的基本内容包括副本的分布方式和副本数据的读写。
副本的分布方式对系统的可扩展性具有很大的影响,常见的分布方式有以机器为单位的副本分布和以数据段为单位的副本分布两种形式。以机器为单位的副本分布是以机器为单位,若干机器互为副本,机器之间的副本数据完全相同,其优点是部署简单,缺点是数据恢复效率低,可扩展性差。以数据段为单位的副本分布是将数据拆分为合理的数据段,以数据段为单位构建副本,其优点是数据恢复快,缺点是需要管理数据段的位置信息,导致建立副本管理元数据的开销较大,同时维护副本一致性的难度也较大。
副本数据的读写由副本控制协议进行规范,需要满足一定的可用性和一致性要求。副本控制协议分为两类:中心化副本控制协议和去中心化副本控制协议。中心化副本控制协议由一个中心节点协调副本数据的更新,维护副本之间的一致性。该协议虽然简单,但系统的可用性依赖于中心节点,当中心节点异常或者中心节点通信中断时,系统将无法响应某些服务。去中心化副本控制协议由于没有中心节点,因此可以有效避免中心节点故障带来的服务中断问题,从而提升系统的健壮性,但是该协议过程比较复杂,管理难度大。