System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库,更具体地说,尤其涉及一种htap数据库的数据存储、查询方法及装置。
技术介绍
1、htap(hybrid transaction and analysis processing)是指混合事务与分析处理系统,依据htap构建的htap数据库是混合型关系数据库,能够同时提供oltp(on-linetransaction processing,联机事务处理)和olap(on-line analytical processing,联机分析处理)的混合负载处理。
2、为支持oltp和olap的混合负载处理,htap数据库中采用oltp和olap存储隔离的模式存储数据,即相同的数据文件存储两份,分别用于oltp和olap。例如,htap数据库在oltp分布式数据库的基础上,在分布式系统共识协议中引入了专用节点(称为learner),如果olap存在查询或分析任务,learner从leader节点异步复制事务日志,为olap查询构造新的列格式副本。由于每次查询需要复制数据,或者直接存储两份数据文件,导致数据库的负载压力较大,并且数据库内相同数据较多,造成数据冗余,影响htap数据库的存储能力和查询性能。
3、因此,亟需一种htap数据库的数据存储方法,在能够支持oltp和olap的混合负载处理的同时,缓解htap数据库的数据冗余。
技术实现思路
1、鉴于上述问题,本申请提供了一种htap数据库的数据存储、查询方法及装置,以实现缓解htap数据库的数据冗余
2、本申请第一方面提供了一种htap数据库的数据存储方法,包括:
3、在htap数据库中构建分布式数据库,所述分布式数据库包括:用于处理数据处理器对应的至少一个节点,以及每个所述节点对应的主键索引列表;
4、确定所述htap数据库中已存储数据文件对应的主键和节点;
5、将所述已存储数据文件的所述主键存储至所述节点对应的所述主键索引列表;
6、将每个所述节点对应的所述主键索引列表和所述已存储数据文件,存储至所述节点对应的所述处理器的本地磁盘。
7、在一种可能的实现中,还包括:
8、响应于接收到数据存储请求,所述数据存储请求至少包括:待存储数据文件以及所述待存储数据文件对应的待存储主键和待存储节点;
9、从htap数据库中预先存储的所述待存储节点对应的所述主键索引列表中,查询是否存在与所述待存储主键相同的主键;
10、在所述待存储节点对应的所述主键索引列表中不存在与所述待存储主键相同的主键的情况下,将所述待存储主键存储至所述主键索引列表,并将所述待存储数据文件与所述待存储主键,对应存储至与所述待存储节点对应的所述本地磁盘。
11、在一种可能的实现中,所述将所述待存储数据文件与所述待存储主键,对应存储至与所述待存储节点对应的所述处理器的本地磁盘,包括:
12、将所述待存储数据文件与所述待存储主键,对应存储至所述htap数据库的所述待存储节点对应的虚拟内存盘;
13、在所述虚拟内存盘的存储量达到预设阈值的情况下,
14、将所述虚拟内存盘中的所述待存储数据文件与所述待存储主键进行压缩,得到以所述待存储节点命名的压缩文件;
15、将所述压缩文件存储至所述待存储节点对应的本地磁盘。
16、在一种可能的实现中,还包括:
17、响应于接收到数据编辑请求,所述数据编辑请求至少包括:目标编辑数据文件的目标主键,以及对所述目标编辑数据文件的编辑操作指令,所述编辑操作指令至少包括:更新操作指令和删除操作指令;
18、建立与所述目标编辑数据文件对应的编辑列表,所述编辑列表用于存储所述对所述目标编辑数据文件的编辑操作指令。
19、在一种可能的实现中,还包括:
20、响应于对所述目标编辑数据文件的读取请求,读取所述目标编辑数据文件对应的所述编辑列表中所有的所述编辑操作指令;
21、对所述目标编辑数据文件执行与所述编辑操作指令对应的编辑操作,得到编辑后的目标编辑数据文件。
22、在一种可能的实现中,还包括:
23、在所述分布式数据库中用于存储任意所述节点对应的所述主键索引列表的分区的数据量达到预设阈值的情况下,将所述主键索引列表进行拆分,得到待迁移主键索引列表;
24、在所述分布式数据库中建立与所述节点对应的新节点;
25、将所述待迁移主键索引列表迁移至所述新节点的主键索引列表中。
26、本申请第二方面提供了一种htap数据库的数据查询方法,包括:
27、响应于接收到数据查询请求,识别所述数据查询请求的查询类型;
28、在所述查询类型的所述查询类型为点查的情况下,获取所述数据查询请求中所包含的目标查询数据文件对应的目标查询主键;
29、从htap数据库中预先构建的分布式数据库中,查询是否存在与所述目标查询主键相同的主键,所述分布式数据库包括:用于处理数据的处理器对应的至少一个节点,以及每个所述节点对应的主键索引列表,所述主键索引列表中存储有已存储数据文件对应的主键;
30、在所述分布式数据库中存在与所述目标查询主键相同的主键的情况下,确定所述目标查询主键对应的目标节点;
31、从所述目标节点对应的本地磁盘获取与所述目标查询主键对应所述目标数据文件,并将所述目标数据文件作为所述数据查询请求对应的查询结果。
32、在一种可能的实现中,还包括:
33、在所述数据查询请求的所述查询类型为文件内容查询的情况下,读取所述htap数据库的每个所述节点对应的所述本地磁盘中存储的所述数据文件;
34、对所述数据文件的内容进行分析,得到与所述数据查询请求对应的查询结果。
35、本申请第三方面提供了一种htap数据库的数据存储装置,包括:
36、数据库构建单元,用于在htap数据库中构建分布式数据库,所述分布式数据库包括:用于处理数据处理器对应的至少一个节点,以及每个所述节点对应的主键索引列表;
37、主键节点统计单元,用于确定所述htap数据库中已存储数据文件对应的主键和节点;
38、索引列表创建单元,用于将所述已存储数据文件的所述主键存储至所述节点对应的所述主键索引列表;
39、文件存储单元,用于将每个所述节点对应的所述主键索引列表和所述已存储数据文件,存储至所述节点对应的所述处理器的本地磁盘。
40、本申请第四方面提供了一种htap数据库的数据查询装置,包括:
41、查询响应单元,用于响应于接收到数据查询请求,识别所述数据查询请求的查询类型;
42、主键获取单元,用于在所述查询类型的所述查询类型为点查的情况下,获取所述数据查询请求中所包含的目标查询数据文件对应的目标查询主键;本文档来自技高网...
【技术保护点】
1.一种HTAP数据库的数据存储方法,其特征在于,包括:
2.根据权利要求1所述的HTAP数据库的数据存储方法,其特征在于,还包括:
3.根据权利要求2所述的HTAP数据库的数据存储方法,其特征在于,所述将所述待存储数据文件与所述待存储主键,对应存储至与所述待存储节点对应的所述本地磁盘,包括:
4.根据权利要求1所述的HTAP数据库的数据存储方法,其特征在于,还包括:
5.根据权利要求4所述的HTAP数据库的数据存储方法,其特征在于,还包括:
6.根据权利要求1所述的HTAP数据库的数据存储方法,其特征在于,还包括:
7.一种HTAP数据库的数据查询方法,其特征在于,包括:
8.根据权利要求7所述的HTAP数据库的数据查询方法,其特征在于,还包括:
9.一种HTAP数据库的数据存储装置,其特征在于,包括:
10.一种HTAP数据库的数据查询装置,其特征在于,包括:
【技术特征摘要】
1.一种htap数据库的数据存储方法,其特征在于,包括:
2.根据权利要求1所述的htap数据库的数据存储方法,其特征在于,还包括:
3.根据权利要求2所述的htap数据库的数据存储方法,其特征在于,所述将所述待存储数据文件与所述待存储主键,对应存储至与所述待存储节点对应的所述本地磁盘,包括:
4.根据权利要求1所述的htap数据库的数据存储方法,其特征在于,还包括:
5.根据权利要求4所述...
【专利技术属性】
技术研发人员:吕虎,李湘宜,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。