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

文档

安装

基本操作

数据模型

系统架构

数据库管理

连接器

驱动

参考手册

版本信息

帮助

  • 内容
  • 评论
  • 修订记录

复制

概念

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

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

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

源节点:为包含新数据的节点。主节点并不一定永远是复制的源节点。
目标节点:为请求进行数据复制的节点。

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

节点之间的复制有两个状态:

  • 对等状态(PEER):当目标节点请求的日志依然存在于源节点的日志缓冲区中,两节点之间为对等状态
  • 远程追赶状态(RemoteCatchup):当目标节点请求的日志不存在于源节点的日志缓冲区中,但依然存在于源节点的日志文件中,两节点之间为远程追赶状态

如果目标节点请求的日志已经不再存在于源节点的日志文件中,目标节点则进入全量同步状态。

当两节点处于对等状态时,同步请求在源节点可以直接从内存中获取数据,因此目标节点选择复制源节点时,总会尝试选择距离自己当前日志点最近的数据节点,使其所包含的日志尽量坐落在内存中。

全量同步

概念

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

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

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

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

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

实例

复制组实例

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

数据库实例

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

请登陆后再发表评论
最新评论
更新日志
  • 2016-10-11

回到顶部
公司简介
广州巨杉软件开发有限公司(SequoiaDB巨杉数据库),专注新一代大数据基础架构研发,是国内领先的新一代分布式数据库厂商。公司获评硅谷最具影响力创新商业媒体《红鲱鱼》评选的“全球创新企业100强”,并连续两年入选美国知名科技媒体《快公司》评选的“中国50大创新公司”榜单。目前已拥有客户包括多家世界500强企业以及著名IT互联网公司。
官方微信

官方微信

SequoiaDB

商务与技术支持

sales_support@sequoiadb.com

联系邮箱

contact@sequoiadb.com

400-8038-339

粤ICP备16118040号     广州巨杉软件开发有限公司(巨杉数据库) 版权所有