SequoiaDB巨杉数据库_SequoiaDB
SequoiaDB巨杉数据库_下载

文档

安装

基本操作

数据模型

系统架构

数据库管理

连接器

驱动

参考手册

故障排除

SAC

版本信息

Web服务

历史版本BUG预警

帮助

  • 内容
  • 评论
  • 修订记录

复制

概念

数据复制为分区组中节点之间的相互同步的机制。

在数据节点和编目节点中,任何数据增删改操作均会写入日志。SequoiaDB会首先将日志写入日志缓冲区,然后将其异步写入本地磁盘。

  • 每个数据复制会在两个节点间进行:

    • 源节点: 为包含新数据的节点。主节点并不一定永远是复制的源节点。
    • 目标节点: 为请求进行数据复制的节点。
  • 复制过程中,目标节点选择一个与其最接近的节点,然后向其发送一个复制请求。源节点接到复制请求后,会将目标节点请求的同步点之后的日志记录打包并发送给目标节点,目标节点接收到数据包后会重新处理日志中的所有操作。

    • 节点之间的复制有两个状态:
      • 对等状态(PEER): 当目标节点请求的日志依然存在于源节点的日志缓冲区中,两节点之间为对等状态
      • 远程追赶状态(RemoteCatchup): 当目标节点请求的日志不存在于源节点的日志缓冲区中,但依然存在于源节点的日志文件中,两节点之间为远程追赶状态
    • 如果目标节点请求的日志已经不再存在于源节点的日志文件中,目标节点则进入全量同步状态。
    • 当两节点处于对等状态时,同步请求在源节点可以直接从内存中获取数据,因此目标节点选择复制源节点时,总会尝试选择距离自己当前日志点最近的数据节点,使其所包含的日志尽量坐落在内存中。

全量同步

概念

在分区组内,当一个新的节点加入分区组,或者故障节点重新加入分区组,需要进行数据全量同步,以保障新的节点与现有节点之间数据的一致性。

  • 在进行数据全量同步时有两个节点参与:

    • 源节点: 为包含有效数据的节点。主节点并不一定永远是同步的源节点。任何与主节点处于同步状态的从节点均可作为源节点进行数据同步。(目前只能主节点作为同步源节点)
    • 目标节点: 为新加入组,或重新入组的故障节点。同步时该节点下原有的数据会被废弃。

    同步

  • 全量同步发生时,目标节点会定期向源节点请求数据。源节点将数据打包后作为大数据块发送给目标节点。当目标节点重做该数据块内所有数据后,向源节点请求新的数据块。

  • 为保障源节点在同步时可进行写操作,所有已经被发送给目标节点的数据页如果被更改,其更新会被同步到目标节点,以保障全量同步过程中更新的数据不会损失。

实例

  • 复制组实例

    复制组中的每个数据节点都存储该复制组的一份完整数据,因此也称复制组中的每个节点为复制组实例。复制组实例可根据节点在复制组中的位置分为“主”,“备”或“0~7”标识。

  • 数据库实例

    所有复制组中相同位置的复制组实例共同构成数据库实例,因此数据库实例也可以分为“主”,“备”或“0~7”标识。

请登陆后再发表评论
最新评论
更新日志
  • 2016-10-20
    v2.8
回到顶部
公司简介
广州巨杉软件专注新一代大数据技术研发,是国内唯一的原厂企业级分布式数据库公司。
巨杉坚持产品从零开始自主研发,为用户提供安全可靠、性能卓越的海量数据存储管理、高并发实时处理、分布式计算以及实时流处理等企业级数据处理解决方案。
巨杉目标是打造超越Oracle的分布式数据库,目前在金融、政府、电信多个行业得到了广泛应用,并在超过20家大中型银行的核心生产系统应用。
粤ICP备13048785号     广州巨杉软件开发有限公司 版权所有