首页 > 数据库技术 > 详细

关于P2P分布式数据库(不是主从)的想法

时间:2019-08-12 14:31:14      阅读:90      评论:0      收藏:0      [点我收藏+]

最近有人聊高可用性的数据库,我就想到能不能做一个分布式的数据库,使得可用性达到最高

 

0x00 数据库记录增加

在分布式数据库中,数据的增加是个技术活.不是说数据增加很难,而是如何保证各个数据库的数据顺序一致,我的想法是这样的

首先,分布式数据库在插入数据之间将所有数据与当前时间戳和一个随机数进行一次SHA256,得到此数据的SHA256值

然后,数据库向已连接的节点发送这个值与数据的MerkleRoot,已连接的节点再发送给此节点的已连接节点,直到公布到全网。在接受到值后,接收端检查是否被占用,如占用就返回异常迫使发送者更换ID(跳转到上一步),直到没有占用,发送完成之后,发送者得到每个客户端发送的DataSetHandle,

接着,数据库向全网分块发送数据,直到1/2以上的节点接受后,数据就增加入库了

0x01 数据库记录删除

欲删除者向全网发送DELETE请求,将MerkleRoot和数据SHA256公布在全网,已入库的数据被删除,未入库的加入删除队列在接收是拒绝接收,待全网节点全部同步完成后,删除成功

0x02 数据库记录更改

欲更改者向全网发送UPDATE请求,包含更改数据,旧的MerkleRoot和数据SHA256发送给全网,全网1/2以上节点接受后,更改成功

关于P2P分布式数据库(不是主从)的想法

原文:https://www.cnblogs.com/xieyi1393/p/p2p_database.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!