分布式数据库的全局二级索引方法及其装置制造方法及图纸

技术编号:31705007 阅读:27 留言:0更新日期:2022-01-01 11:07
本申请公开了一种分布式数据库的全局二级索引方法及其装置,涉及云计算及云数据库领域等计算机技术领域。具体实现方案为:响应于接收到的数据库写入请求,获取待写入的原始数据,并将原始数据写入分布式数据库内;对写入分布式数据库内的原始数据进行全局二级索引处理,得到全局二级索引数据;建立全局二级索引数据与分布式数据库之中数据表主键对应的全局二级索引表,并基于异步处理方式将全局二级索引表写入索引分片。本申请可以极大地提升二级索引场景的写吞吐量,可以进一步降低写延迟。迟。迟。

【技术实现步骤摘要】
分布式数据库的全局二级索引方法及其装置


[0001]本申请涉及计算机
,进一步设计云计算及云数据库领域等,尤其涉及一种分布式数据库的全局二级索引方法及其装置。

技术介绍

[0002]大数据时代,数据呈几何方式增长,海量的数据每天以几TB(Terabyte,太字节)甚至几PB(Petabytes,拍字节)的量增长。云上对象存储系统解决了海量存储的问题,其中对象存储的元数据存储在分布式数据库中。相关技术中的分布式数据库普遍基于分布式事务来实现全局二级索引。
[0003]但是,上述全局二级索引的方式存在如下问题:由于索引的存在,为了保证主键和索引的原子性触发了分布式事务流程,而分布式事务的代价是非常大的,比如一次事务写入通常需要7次RPC(Remote Procedure Call,远程过程调用)、7次Raft(分布式共识算法)log(日志)以及7次Rocksdb(键值)写入,从而导致索引写入的代价非常大。

技术实现思路

[0004]本申请提供了一种分布式数据库的全局二级索引方法及其装置。
[0005]根据本申请本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库的全局二级索引方法,包括:响应于接收到的数据库写入请求,获取待写入的原始数据,并将所述原始数据写入所述分布式数据库内;对写入所述分布式数据库内的原始数据进行全局二级索引处理,得到全局二级索引数据;建立所述全局二级索引数据与所述分布式数据库之中数据表主键对应的全局二级索引表,并基于异步处理方式将所述全局二级索引表写入索引分片。2.根据权利要求1所述的方法,其中,所述将所述原始数据写入所述分布式数据库内,包括:将所述原始数据写入数据缓冲队列;将所述数据缓冲队列发送给存储节点进行数据持久化处理;接收所述存储节点返回的数据持久化处理结果,并将所述数据持久化处理结果发送给所述数据库写入请求的发起端。3.根据权利要求1所述的方法,其中,所述基于异步处理方式将所述全局二级索引表写入索引分片,包括:基于异步处理方式,分批次将所述全局二级索引表批量写入索引分片。4.根据权利要求3所述的方法,还包括:在所述全局二级索引表批量写入所述索引分片时,在分布式共识算法Raft日志中记录当前批次批量写入的全局二级索引表的索引值。5.根据权利要求4所述的方法,其中,所述索引值为所述当前批次批量中最后一个写入所述索引分片的全局二级索引表的索引值。6.根据权利要求4或5所述的方法,还包括:响应于所述索引分片故障恢复,从所述Raft日志中获取在目标时间最新记录的全局二级索引表的目标索引值;其中,所述目标时间为所述索引分片发生故障之前的时间;基于所述目标索引值,确定在所述索引分片发生故障期间未成功写入的全局二级索引表;将所述未成功写入的全局二级索引表重新写入所述索引分片。7.一种分布式数据库的全局二级索引装置,包括:原始数据写入模块,用于响应于接收到的数据库写入请求,获取待写入的原始数据,并将所述原始数据写入所述分布式数据库内;索引处理模块,用于对写入所述分布式数据库内的原始数据进行全局二级索引处理,得到全局二级索引数据;索引表创建模块,用于建立所述全局二级索引数...

【专利技术属性】
技术研发人员:曹彪王猛杨勇强
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1