【技术实现步骤摘要】
本申请涉及计算机存储
,尤其涉及一种实现分布式数据库操作一致性的方法及装置。
技术介绍
分布式数据库系统中,数据量较小的维度表一般以全复制的方式分布在系统的各个数据存储节点上,这样可以大大提升分布表与维度表之间的关联操作的效率,所有的关联算子均可以在本地完成后再在上层合并。对于复制表数据的更改,即DML操作(数据操作语言,DataManipulationLanguage)需要保证其在所有节点上执行的一致性,如insert,delete和update等操作。在分布式系统下,由于多台数据库服务器组成的集群,某一台节点出现故障的概率相对比较高,所以为了保证系统的可用性,通常牺牲数据强一致性来达到最终一致性。在分布式数据库领域,解决数据一致性的传统方法一般是借助于两阶段提交协议(Two-PhaseCommitProtocol),主要包括如下两个阶段:1)请求阶段(commit-requestphase):主要是协调者将请求通知所有参与者,参与者将同意(执行成功)或者取消(执行失败)返回给协调者;2)提交阶段(commitphase):协调者根据所有参与者的结果进行决策,所有均成功则通知各参与者提交事务,否则通知所有参与者取消事务;参与者在收到消息后执行相应操作。但上述方法中两个阶段均需要参与者全部返回消息,虽然有超时机制,但对于客户端而言,一次请求需要同步等待的代价依然较大,实际执行效率较低 ...
【技术保护点】
一种实现分布式数据库操作一致性的方法,其特征在于,包括如下步骤:领导者leader节点接收客户端发送的数据操作语言DML操作指令;所述leader节点将所述DML操作指令追加到本地日志log中,并将包括所述DML操作指令的日志同步复制至跟随者follower节点;所述follower节点将所述leader节点发送的DML操作指令追加到本地日志log中;所述leader节点和所述follower节点的本地状态机分别从各自的本地log中依次读取所述DML操作指令并放到数据库中执行。
【技术特征摘要】
1.一种实现分布式数据库操作一致性的方法,其特征在于,包括如下步骤:
领导者leader节点接收客户端发送的数据操作语言DML操作指令;
所述leader节点将所述DML操作指令追加到本地日志log中,并将包括
所述DML操作指令的日志同步复制至跟随者follower节点;
所述follower节点将所述leader节点发送的DML操作指令追加到本地日
志log中;
所述leader节点和所述follower节点的本地状态机分别从各自的本地log
中依次读取所述DML操作指令并放到数据库中执行。
2.如权利要求1所述的方法,其特征在于,在所述领导者leader节点接收
客户端发送的数据操作语言DML操作指令之后、所述leader节点将所述DML
操作指令追加到本地日志log之前,进一步包括:
所述leader节点执行所述DML操作指令到本地数据库,确定所述DML
操作指令为可执行后执行回滚rollback操作。
3.如权利要求1所述的方法,其特征在于,在所述领导者leader节点接收
客户端发送的数据操作语言DML操作指令之前,进一步包括:
如果节点在预设时间内没有收到leader节点的心跳Heartbeat,发起选举,
并增加自身的当前时间戳currentTerm标识id;
当所述节点获得超过半数的其他节点的投票时,所述节点作为leader节点
广播其heartbeat。
4.如权利要求3所述的方法,其特征在于,所述其他节点具体是根据所述
节点的时间戳Termid与本地currentTermid的大小关系进行投票的。
5.如权利要求1所述的方法,其特征在于,所述数据库具体为键值
key-value数据库,所述日志的时间戳Term与索引index作为键key,所述DML
操作指令作为值value。
6.如权利要求1所述的方法,其特征在于,所述leader节点将包括所述
\tDML操作指令的日志同步复制至跟随者follower节点,具体为:
所述leader节点通过追加项AppendEntries远程过程调用RPC将包括所述
DML操作指令的日志同步复制至所述follower节点。
7.如权利要求1所述的方法,其特征在于,所述leader节点将包括所述
DML操作指令的日志同步复制至跟随者follower节点,具体为:
所述leader节点根据预先存储的跟随者follower节点的下一索引nextIndex
值,确定所述follower节点与所述leader节点日志一致的索引地址;
将所述follower节点的所述索引地址之后的日志条目删除;
将所述DML操作指令执行成功的日志中所述索引地址之后的日志条目发
送至跟随者follower节点。
8.一种实现分布式数据库操作一致性的装置,其特征在于,包括:
第一接收模...
【专利技术属性】
技术研发人员:黄小川,
申请(专利权)人:曙光信息产业北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。