[发明专利]数据库的数据管理方法、装置及电子设备在审
申请号: | 201911228916.1 | 申请日: | 2019-12-04 |
公开(公告)号: | CN112905587A | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 陈骋 | 申请(专利权)人: | 北京金山云网络技术有限公司;北京金山云科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/25 |
代理公司: | 北京博遵律师事务所 11761 | 代理人: | 马佑平 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 数据管理 方法 装置 电子设备 | ||
本发明公开了一种关于数据库的数据管理方法、装置、电子设备及计算机可读存储介质。数据库设置有两个以上相同格式的表,每个表的所有行设置有行主键值,每个表包括至少一个对应的分区,以及每个分区配置特定的分区服务器,该方法包括:将待写入数据的对象属性确定为待存储表中的行主键值,所述待存储表为所述两个以上相同格式的表中用于存储所述待写入数据的表;根据所述行主键值和表的数量确定所述待存储表的表序号;基于所述待存储表的表序号、所述行主键值确定待存储分区,所述待存储分区为所述待存储表中的所述行主键值所在的分区;将所述待写入数据写入所述待存储分区对应的分区服务器。
技术领域
本发明涉及云存储技术领域,尤其涉及一种数据库的数据管理方法、装置、电子设备和计算机可存储介质。
背景技术
部分分布式存储的非关系型数据库(NoSql),例如HBase、HyperTable这类数据库在进行数据写入和读取时,会根据每行数据的行主键(Rowkey)按字典序将数据划分到不同的分区(region)中,而各个region会分别分配到集群中不同的分区服务器(regionServer)上。大量行主键前缀相同的数据写入时,会造成分区服务器流量过大,导致性能下降甚至不可用的热点问题。相关技术中,一种方式是使用哈希散列对行主键值再哈希,以将数据分散到不同的分区上;另一种方式是通过给行主键值随机前缀降低行主键的规律性,以将数据分散到不同的分区。若采用第一种方式,会改变行主键的有序性,从而很难通过关键字进行批量数据查询,极大限制了数据库的功能和性能,而第二种方式在查询单挑数据时,要遍历多种前缀才能准确获得数据,查询效率低。
发明内容
本发明的目的在于提供一种数据库的数据管理方法、装置、电子设备及计算机可读存储介质,以解决相关技术中的至少部分问题。
根据本发明的第一方面,提供了一种数据库的数据管理方法,所述数据库设置有两个以上相同格式的表,每个表预设置有至少一个分区,每个分区对应设置分区服务器,
所述方法包括:
将待写入数据的对象属性确定为待存储表中的行主键值,所述待存储表为所述两个以上相同格式的表中用于存储所述待写入数据的表;
根据所述行主键值和表的数量确定所述待存储表的表序号;
基于所述待存储表的表序号、所述行主键值确定待存储分区,所述待存储分区为所述待存储表中的所述行主键值所在的分区;
将所述待写入数据写入所述待存储分区对应的分区服务器。
优选地,所述根据所述行主键值和表的数量确定所述待存储表的表序号,包括:
对所述行主键值进行哈希变换,以得到哈希值;
根据所述哈希值与表的数量确定所述待存储表的表序号。
优选地,所述根据所述哈希值与表的数量确定所述待存储表的表序号,包括:
基于所述哈希值和表的数量进行求余计算,以得到余数;
将所述余数确定为所述待存储表的表序号。
优选地,所述基于所述待存储表的表序号、所述行主键值确定待存储分区,包括:
根据所述表序号所述两个以上相同格式的表确定出待存储表;
根据所述行主键值确定所述待存储表中、所述待写入数据的写入行所属的待存储分区。
优选地,所述方法还包括:
对所述两个以上相同格式的表的数量乘以预设扩容值,以对所述数据块中的表进行扩容。
优选地,所述将待写入数据的对象属性确定为待存储表中的行主键值,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司;北京金山云科技有限公司,未经北京金山云网络技术有限公司;北京金山云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911228916.1/2.html,转载请声明来源钻瓜专利网。