System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库,具体而言,涉及一种数据查询方法及装置。
技术介绍
1、随着大数据的蓬勃发展,业务数据的多样性和复杂性逐渐增加,单一的关系型数据库已经无法满足所有的业务需求,数据湖应运而生,数据湖是一个集中式存储库,允许以任意规模存储所有结构化和非结构化数据,并可在上基于关系型数据库运行各种类型的查询分析。hbase是以hadoop hdfs为存储底座海量数据存储的以键值对存储数据的数据库,以rowkey(行键)作为主键存储数据。hbase支持基于查询引擎进行查询和分析,但由于hbase的存储特性,在处理非主键字段的查询时,非主键字段没有索引,往往需要进行hbase全表扫描,导致查询性能较差。
技术实现思路
1、本申请实施例提供了一种数据查询方法及装置,以至少解决相关技术中键值数据库查询性能较差的技术问题。
2、根据本申请实施例的一个方面,提供了一种数据查询方法,包括:获取数据查询请求,并从数据查询请求中提取查询条件;在查询条件属于预设主键的情况下,从目标数据库中提取查询条件对应的数据,在查询条件属于非预设主键的情况下,从目标数据湖中提取查询条件对应的数据,目标数据库以键值对存储数据的数据库,目标数据湖中存储有目标数据库中查询条件不属于预设主键对应的数据;输出查询条件对应的数据。
3、可选地,通过以下方式确定查询条件是否属于预设主键,包括:获取查询条件中包含的至少一个子键;将至少一个子键进行组合得到目标键;在目标键与预设主键相同或目标键为预设主键的前缀的情况
4、可选地,从目标数据库中提取查询条件对应的数据,包括:在目标键与预设主键相同的情况下,提取查询条件对应的目标值;基于目标值确定行键,并根据行键通过目标数据库的获取接口获取查询条件对应的数据。
5、可选地,方法还包括:在目标键为预设主键的前缀的情况下,提取查询条件对应的目标值;基于目标值确定查询条件的查询范围,并根据查询范围获取查询条件对应的数据。
6、可选地,在从目标数据湖中提取查询条件对应的数据之前,方法还包括:将目标数据库中的待同步数据表进行快照处理,得到快照数据,并记录待同步数据表的快照信息,快照数据为待同步数据表的全量数据;从快照信息中提取待同步数据表中每个数据单元当前最大的序号;将快照数据写入目标数据湖中,直到写入数据的序号等于当前最大的序号的情况下,确定快照数据写入完成。
7、可选地,在快照数据写入完成之后,方法包括:获取增量数据和增量数据日志,并对增量数据日志进行排序;将增量数据日志转换成目标数据湖中的数据表格式,并将增量数据按照增量数据日志的顺序通过消息中间件写入目标数据湖中;获取写入目标数据湖中的增量数据中的数据单元序号确定增量数据的写入进度;根据写入进度确定增量数据的写入延迟。
8、可选地,在查询条件属于非预设主键的情况下,从目标数据湖中提取查询条件对应的数据,包括:获取消息中间件的数据发送进度;将发送进度与写入进度确定为增量数据的写入延迟;在写入延迟小于预设阈值的情况下,从目标数据湖中提取查询条件对应的数据。
9、根据本申请实施例的另一方面,还提供了一种数据查询装置,包括:获取模块,用于获取数据查询请求,并从数据查询请求中提取查询条件;提取模块,用于在查询条件属于预设主键的情况下,从目标数据库中提取查询条件对应的数据,在查询条件属于非预设主键的情况下,从目标数据湖中提取查询条件对应的数据,目标数据库以键值对存储数据的数据库,目标数据湖中存储有目标数据库中查询条件属于非预设主键对应的数据;输出模块,用于输出查询条件对应的数据。
10、根据本申请实施例的再一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述数据查询方法。
11、根据本申请实施例的再一方面,还提供了一种计算机设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行上述数据查询方法。
12、在本申请实施例中,采用获取数据查询请求,并从数据查询请求中提取查询条件;在查询条件属于预设主键的情况下,从目标数据库中提取查询条件对应的数据,在查询条件属于非预设主键的情况下,从目标数据湖中提取查询条件对应的数据,目标数据库以键值对存储数据的数据库,目标数据湖中存储有目标数据库中查询条件不属于预设主键对应的数据;输出查询条件对应的数据的方式,通过将目标数据库中查询条件属于非预设主键对应的数据存储在目标数据湖中,并在查询条件不属于预设主键的情况下,利用数据湖的存储性能优势查询相应的数据,将充分利用了目标数据库与目标数据湖的双重优势,实现了提高了目标数据库数据查询效率的技术效果,进而解决了相关技术中键值数据库查询性能较差的技术问题。
本文档来自技高网...【技术保护点】
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,通过以下方式确定所述查询条件是否属于预设主键,包括:
3.根据权利要求2所述的方法,其特征在于,从目标数据库中提取所述查询条件对应的数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,在从目标数据湖中提取所述查询条件对应的数据之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在所述快照数据写入完成之后,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,在所述查询条件属于非预设主键的情况下,从目标数据湖中提取所述查询条件对应的数据,包括:
8.一种数据查询装置,其特征在于,包括:
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的数据查询方法。
10.一种计算机设备,其特征在于,包括:存储器和处理器
...【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,通过以下方式确定所述查询条件是否属于预设主键,包括:
3.根据权利要求2所述的方法,其特征在于,从目标数据库中提取所述查询条件对应的数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,在从目标数据湖中提取所述查询条件对应的数据之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在所述快照数据写入完成之后,所述方法包括:
【专利技术属性】
技术研发人员:阮宜龙,马东,尚书杰,燕媛媛,王来富,王悦,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。