SequoiaDB-SCDA学习笔记

SequoiaDB数据库采用数据分片技术,将表分散在不同分区的多个数据节点上,确保高可用性。文章通过三个问题探讨了数据节点在主节点故障时的选举规则,强调了超过半数节点正常工作的重要性。当主节点故障且其他节点能保持多数运行时,NodeID较大的节点会成为新主节点。
摘要由CSDN通过智能技术生成

SequoiaDB的数据分片能力

 巨杉数据库可以将一个表切成几块,存储在不同的三个分区。datagroup是数据分区,拥有多个数据节点,有主节点与备节点,每个数据节点分布在不同的物理机上。这样子可以避免了过度依赖一台机器存储所带来的风险,具有高可用性。

SequoiaDB三类节点

catalog是编目节点,负责管理;

crood是协调节点,负责发起请求,递交等操作;

data是数据节点,负责存储,每一个数据组(datagroup有多个数据节点)。

数据节点主节点选举例题

以下几个题是在做题的时候遇到的,能够加深初学者对数据组、数据节点的理解,也能够帮助初学者更充分地理解高可用性。如果有什么不对的地方,欢迎指正~

1、假设数据组包含三个数据节点,A节点 (主节点,NodeID=1000,weight=10)、B节点 (NodeID=1001,weight=10) 和C节点 (NodeID=1002,weight=10) ,且在开始时磁盘、网络等客观资源都是充裕的。
如果有一个场景,当数据组的主节点 (A节点)接收到写入数据请求后,主节点刚刚完成数据的写入操作,但是还没有来得及将此写入任务同步到B节点和C节点。由于外力因素,A节点的进程突然被强行关闭,那么此时该数据组中哪个节点会当选主节点?

答案是C。因为A节点没来得及写入B或者C节点,因此B与C的地位在此时是一样的。当A节点被关闭后,数据组中还剩下两个节点,符合大部分节点正常工作的前提,发起主节点选举。由于C的NodeID(1002)较大,因此C节点当选主节点。

2、假设数据组包含三个数据节点,A节点 (主节点,NodelD=1000,weight=10) 、B节点 (NodelD=1001,weight=10) 和C节点 (NodelD=1002!weight=10),且在开始时磁盘、网络等客观资源都是充裕的。
如果有一个场景,当数据组的主节点 (A节点)接收到写入数据请求后主节点在完成数据的写入操作后,刚刚将写任务同步到B节点,但是还没有来得及将此写入任务同步到C节点上。由于外力因素,A节点的进程突然被强行关闭,那么此时该数据组中哪个节点会当选主节点?

答案是B。A节点关闭前将任务同步到B节点,并且A被关闭后数据组内符合超半数节点正常工作的前提,因此B节点将会当选主节点。

3、假设数据组包含三个数据节点,A节点 (主节点,NodelD=1000,weight=10) 、B节点(NodelD=1001,weight=10) 和C节点(NodelD=1002,weight=10),且在开始时磁盘、网络等客观资源都是充裕的。
如果有一个场景,在开始时,该数据组的三个节点都是正常运行的,但是由于外力因素,突然A节点和B节点的进程被强行关闭,那么此时该数据组哪个节点将会当选为主节点?

答案是没有节点当选。由于数据组中只存在3个节点,其中A和B被强行关闭,只剩下C节点,不符合过半数节点正常工作的前提,因此不能进行选举。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值