CN107644033A - 一种在非关系型数据库中进行数据查询的方法与设备 - Google Patents
一种在非关系型数据库中进行数据查询的方法与设备 Download PDFInfo
- Publication number
- CN107644033A CN107644033A CN201610579939.7A CN201610579939A CN107644033A CN 107644033 A CN107644033 A CN 107644033A CN 201610579939 A CN201610579939 A CN 201610579939A CN 107644033 A CN107644033 A CN 107644033A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- granularity
- relational database
- query statement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的目的是提供一种在非关系型数据库中进行数据查询的方法与设备。具体地,获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间,确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间,并据此确定与所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。与现有技术相比,本申请通过在非关系型数据库中数据的行主键信息中添加大于数据聚合周期的粒度时间,并在查询时确定与查询时间范围相匹配的粒度时间,并据此确定目标数据,从而提升大数据场景下非关系型数据库在数据查询的效率。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种在非关系型数据库中进行数据查询的技术。
背景技术
随着技术的发展,数据库的应用越来越广泛,对数据库所存储数据的查询需求随之增加,在进行数据查询时,不同类型的数据库的查询方式有所不同。在关系型数据库中数据在存储时即对应不同的字段,例如代表数据存储时序的时间字段和用于确定数据范围的维度字段。根据这些字段即可通过索引查询方式信息查询。在非关系型数据库中会对每条数据记录配置用于识别关键身份信息的行主键数据结构,例如在阿里OTS数据库中的rowkey,在rowkey的数据结构中包括了数据的时间序列信息以及维度信息,这一数据结构用于在非关系型数据库中识别数据的唯一标志,且数据也据此在数据库中进行排列以及分布式存储,当需要对数据进行查询时,则基于数据的时间序列或多个维度进行查找。
然而,在数据查询中会涉及一些模糊查询的场景,例如某些用户需要根据不同的维度进行范围排序,或期望知道某一个集群下所有机器最慢的十台机器。在这些场景中,关系型数据库无法适应大规模数据的查询,例如当每分钟数据过亿时关系型数据库无法采用通常会使用的分区分表模式进行无限扩展。而非关系型数据库会根据行主键数据结构中的时间信息或维度信息的优先级进行查询,但是当优先检索时间信息后在筛选维度信息时,会因为维度超十万百万导致过滤效率低下,而当优先检索维度信息再通过时间版本确定数据时,会在采样指标对应的时间版本很多时速度受限。因此,在超大规模的数据模式下,现有技术无法在利用非关系型数据库数据无限扩展优势的同时满足灵活查询的需求,在数据查询时效率往往较为低下。
发明内容
本申请的一个目的是提供一种在非关系型数据库中进行数据查询的方法与设备,用以解决大数据情景下在非关系型数据库中进行数据查询时效率低下的问题。
为实现上述目的,根据本申请的一个方面,本申请提供了一种在非关系型数据库中进行数据查询的方法,该方法解决了大数据情景下在非关系型数据库中进行数据查询时效率低下的问题,该方法包括:
获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间;
确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间;
根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。
为实现上述目的,根据本申请的另一个方面,本申请提供了一种在非关系型数据库中进行数据查询的设备,该设备解决了大数据情景下在非关系型数据库中进行数据查询时效率低下的问题,该设备包括:
查询指令获取装置,用于获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间;
粒度时间确定装置,用于确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间;
目标数据确定装置,用于根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。
与现有技术相比,本申请通过获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间,确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间,并据此确定与所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一,从而可快速确定用户所需的数据的时间版本,提升大数据场景下非关系型数据库在数据查询的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种在非关系型数据库中进行数据查询的方法流程图;
图2示出根据本申请一个优选实施例的步骤S2的方法流程图;
图3示出根据本申请一个优选实施例的步骤S3的方法流程图;
图4示出根据本申请另一个方面的一种在非关系型数据库中进行数据查询的设备示意图;
图5示出根据本申请一个优选实施例的粒度时间确定装置的设备示意图;
图6示出根据本申请一个优选实施例的目标数据确定装置的设备示意图;
图7示出根据本申请另一个优选实施例的行主键数据结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种在非关系型数据库中进行数据查询的方法流程图。所述方法包括步骤S1、步骤S2、步骤S3。
其中,在步骤S1中设备1获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间;在步骤S2中设备1确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间;在步骤S3中设备1根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。
具体地,在步骤S1中设备1获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间。其中,所述非关系型数据库包括即是指Nosql数据库,泛指非关系型的数据库,可以为大数据建立快速、可扩展的存储库,例如HBase开源数据库,阿里巴巴集团阿里云所用的OTS数据库,在此OTS数据库是指一种阿里云的非关系型数据库产品,基于rowkey的为顺序的分布式存储结构,可以大规模扩容以及海量数据并发查询。其中,所述rowkey即为所述行主键的一种,所述行主键是一种数据结构,每条数据记录均对应一个行主键,用于标识数据在数据库中的唯一身份,在进行数据查询时,可基于行主键进行数据范围的确定和查找。例如在OTS数据库中作为行主键的rowkey是对于OTS数据的索引,是数据的唯一标志,数据库中数据的存储结果将会根据rowkey进行排列,同时也根据rowkey进行分布式的存储。所述行主键信息是指这一数据结构中所包含的标识数据的信息,例如图7中所示的rowkey的数据结构中,包含Metric、TimeRange、dimension、version四类信息。其中,Metric是指数据的类型名称,图中的含义是应用在监控***中时的指标数据的代称;TimeRange是指粒度时间即时间长度超过聚合周期的大粒度时间,是一个时间区间;dimension是维度信息指行主键对应的这一数据的描述方式,version是时间版本是指针对每一条记录有多个版本,一般版本使用时间戳区分,时间戳通常是一个字符序列或者一串数字,唯一地标识某一刻的时间。图7中的四类主键信息仅为示例,在实际实施过程中可基于实际情况进行增减。
在此,所述粒度时间是指时间长度超过聚合周期的大粒度时间,是一个时间区间,例如2016年6月20日12:00至13:00,粒度时间的时间区间大于数据的聚合周期,因此其中包含了数据的若干连续的时间版本对应时间戳的时间点。所述聚合周期是指所预先定义的不同种类的数据记录的聚合时间,例如CPU指标数据每5秒钟进行一次聚合,并将所聚合的数据打上时间戳,作为一个时间版本的数据记录。所述粒度时间被标记在每个数据记录的行主键中,因为是一个时间区间,因此用户查询某一时间范围内的数据时,可确定这一时间范围内所涉及的粒度时间,再以这一粒度时间为基础在行主键中对应查找数据记录,此时粒度时间中的数据记录对应的时间版本即为所要查询的数据。因此,粒度时间的存在是便于在查询用户所需的数据记录的时间版本时缩小范围,从而提升查询效率。
因此,获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间,是指获取了查询指令中所包含的关于所要查询的数据及用于确定其范围的与行主键信息相关的信息,从而便于进一步地高效朝找。例如用户期望查询过去十分钟CPU指标,则确定CPU指标的聚合周期为5秒钟,其对应的粒度时间为十分钟,因此查询过去十分钟的CPU指标所对应的粒度时间中的数据的时间版本。
本领域技术人员应能理解图7中的行主键的构成示意仅为举例,其他现有的或今后可能出现的行主键的构成方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述粒度时间为所述数据聚合周期的整数倍。因为粒度时间为一个时间区间,且其存在是为了便于查找数据对应的时间版本,因此为了方便查找可定义其所包含的数据的时间版本为一个可接受的整数,例如50~100,又因为每个时间版本由一个集合周期所生成,因此粒度时间的长度是聚合周期的整数倍。即如下表中的举例,即为粒度时间与数据聚合周期之间的对应关系:
本领域技术人员应能理解上述得出粒度时间的时间长度的方式仅为举例,其他现有的或今后可能出现的得出粒度时间的时间长度的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,在步骤S2中设备1确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。即在获取查询指令之后,根据查询指令中所要查询的数据的类型获知其聚合周期,并根据如上文表格中所设置的粒度时间与聚合周期的关系获取粒度时间的时长,从而在查询指令所给出的时间范围内查找相应数据中与时间范围相匹配的粒度时间。例如用户查询11:55~12:05的时间范围的CPU指标,查询CPU指标的聚合周期为5秒,因此其对应的粒度时间的时长为10分钟,从而查询CPU指标数的行主键中所记载的与11:55~12:05这一时间段有重叠的粒度时间,假设查询到涉及这一时间的粒度时间有两个,即11:50~12:00以及12:00~12:10两个粒度时间,若粒度时间区间设置时刚好是11:55~12:05则刚好是对应这一时间短的一个粒度时间。确定所匹配的粒度时间缩小了查询对应数据时间版本的范围,从而提升查询效率。
本领域技术人员应能理解上述确定粒度时间的方式仅为举例,其他现有的或今后可能出现的确定粒度时间的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,在步骤S3中设备1根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。所述目标数据是指用户所要查询的数据,即范围确定后用于反馈用户的数据。因为所确定的粒度时间的时间区间覆盖了用户查询的时间范围,因此目标数据包含在这些粒度时间对应的数据的时间版本中,也就是说目标数据的时间版本在所确定的一个粒度时间中,或者在多个粒度时间之一中。接上文举例,查询到有11:50~12:00以及12:00~12:10两个粒度时间,在CPU指标数据的行主键中查找TimeRange的值为这两个粒度时间的数据记录对应的时间版本,再进行筛选,将行主键中时间版本中的时间戳在12:00~12:10的筛选出即为目标数据。因此根据在粒度时间确定的情况下,结合行主键进行查找的效率会大大提升,且最后筛选目标数据时也会因为粒度时间所覆盖的时间版本的数量合理而节约筛选时间,提升查询效率。
本领域技术人员应能理解上述确定目标数据的方式仅为举例,其他现有的或今后可能出现的确定目标数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述非关系型数据库中数据的时间版本包含时间戳信息,其中,所述时间戳信息对应于该数据被聚合处理的数据聚合周期。是指每个聚合周期结束会生成一个数据的时间版本,对应一个时间戳,即图7中所展示的version中对应会有个时间戳的值,这一时间戳是在一个聚合周期结束时读取并记录的,此时,数据记录也对应的被存储。在确定粒度时间后在粒度时间范围所覆盖的若干时间版本中查询用户所需要的时间范围或时间点的
优选地,所述方法中还包括步骤S4(未示出),所述步骤S4在所述非关系型数据库中存储经聚合处理的数据并设置其行主键信息中的时间版本及粒度时间,其中,该粒度时间大于聚合处理对应的数据聚合周期。即每条数据的行主键信息中的时间版本和粒度时间是在这一数据在每个聚合周期聚合完成后所记录的,例如,根据聚合周期预先设定对应的粒度时间,即假设当前粒度时间为1:00~2:00,下一个粒度时间为2:00~3:00,这期间聚合的数据的主键信息中均记录对应的粒度时间;或者,预先设定每个粒度时间中时间版本的数量阈值,例如50,当未记录粒度时间的数据的时间版本数量达到阈值时,为这些数据的行主键对应的时间范围分配一个粒度时间。
在此,粒度时间是如上文表格中所示一开始即根据所定义的规则设置好的,例如每个粒度时间是五十个聚合周期,粒度时间的规则一旦确立,不可变化,不同聚合周期的粒度时间已经提前确定。所设置具体是多少聚合周期,根据具体项目的情况而定,但总体遵循以下原则:粗粒度设置太大将会降低小规模查询效率,比如粗粒度中时间版本是100个,用户查询一个具体时间点的数据也要查出100条,去掉其他99条数据;粗粒度设置太小,对于大范围查询,比如查询一个月的数据,又要遍历太多周期才能把数据查询完整。这里的确定是靠测试的结果确定,基本上一个粒度时间的时间戳不超过1000个版本,尽量靠近物理时间范围,比如一小时、一天之类的。
本领域技术人员应能理解上述确定数据所对应的粒度时间的方式仅为举例,其他现有的或今后可能出现的确定数据所对应的粒度时间的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述非关系型数据库中数据的行主键信息还包含一个或多个维度信息。所述维度信息用于描述数据各个方面,一般一条指标数据将会有多个维度进行描述,除了时间序属于比较特殊的维度外,还有一个或者多个各种维度描述,如图7中所示在行主键rowkey中每一种维度叫做一种dimension,比如上海机房AYXX集群机器名叫RS001的机器某一个时间序列产生的指标,这个例子中上海机房、AYXX集群、RS001机器这三个维度都是dimension,合起来叫做一个指标的dimensions。这些所包含的维度信息使得在基于粒度时间对数据进行查询之前可进一步将查询范围缩小从而提升查询效率避免,且用户可根据维度信息对某个维度范围内的所有数据进行查询。
因此,基于行主键信息包含维度信息图2示出根据本申请一个优选实施例的步骤S2的方法流程图。所述步骤S2包括步骤S21、步骤S22。
其中,在步骤S21中设备1在所述非关系型数据库中确定一个或多个候选数据,其中,每个候选数据包括与所述查询指令对应的查询维度信息相匹配的维度信息;在步骤S22中设备1从所述一个或多个候选数据中确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。
具体地,在步骤S21中设备1在所述非关系型数据库中确定一个或多个候选数据,其中,每个候选数据包括与所述查询指令对应的查询维度信息相匹配的维度信息。即当用户的查询指令中还包括维度信息时,可以首先根据维度信息确定用户所要查询的数据的维度范围,从而缩小所要查询数据的范围,提高后续的查询效率。因此,所述候选数据是指在用户根据查询指令中维度信息进行筛选后所确定的数据范围内的数据。在用户在查询数据的时间序列或相关范围,或者当用户仅需要查询某一数据的维度范围时,可根据用户查询指令中所包括的维度信息进行筛选,例如图7形式的行主键,在rowkey中的dimension是根据value+分隔符的模式存储,例如rowkey=指标(cpu)+dimensions(上海),这个例子里面的指标是CPU指标,dimension有区域(上海),通过设置rowkey的起始和结束行主键信息中的内容,即可进行查询,效果就是凡是排序在startRowkey和endRowkey下的对应维度的rowkey对应的数据都会在被查询出来的数据范围内。如用户想查询集群机器的CPU指标,则其查询范围如下所示:
startRowkey=cpu+dimensions(上海)
endRowkey=cpu+dimensions(上海,,)
按照如此查询可以查出所有区域在上海的机器指标。
优选地,在步骤S21中设备1根据所述查询指令对应的多个查询维度信息在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。即用户的查询指令汇总可以包括多个维度,例如图7形式的行主键,在rowkey中的dimension是根据value+分隔符的模式存储,例如rowkey=指标(cpu)+dimensions(上海,AYXX,RS001,),这个例子里面的指标是CPU指标,dimension有区域(上海)、集群(AYXX)、机器名(RS001)。在查询时根据查询指令中的维度信息对起始和终止行主键进行设置即可查询,例如,若用户想查询集群机器的CPU指标,则其查询范围如下所示:
startRowkey=cpu+dimensions(上海,AYXX)
endRowkey=cpu+dimensions(上海,AYXX,)
按照如此查询可以查出所有集群式AYXX的机器指标。
更优选地,在步骤S21中设备1根据所述查询指令对应的多个查询维度信息及每个查询维度信息的维度等级信息,在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。所述维度等级信息是指有范围大小区别的维度,因此通过不同的维度一层层对数据进行范围确定,每层的维度等级不同。所以对数据查询时根据维度的等级信息逐级模糊匹配,不能跨越匹配。例如,只能查询上海下所有集群或者查询上海下集群AYXX的所有机器,不能不管区域查询所有AYXX的机器。例如用户想查询某一个机器的cpu指标,则其查询范围如下所示:
startRowkey=cpu+dimensions(上海,AYXX,RS001)
endRowkey=cpu+dimensions(上海,AYXX,RS001,)
按照如此查询只能查询出某一台机器的cpu指标,其中上海、AYXX、RS001的级别层层递进,范围越来越小。
本领域技术人员应能理解上述通过维度信息确定候选数据的方式仅为举例,其他现有的或今后可能出现的通过维度信息确定候选数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,在步骤S22中设备1从所述一个或多个候选数据中确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。即当通过维度信息确定了一定维度范围内的候选数据后,在这一数据范围内根据查询指令中的时间范围确定粒度时间。例如用户查询上海的机器里11:55~12:05的时间范围的CPU指标,在根据上文举例的方法确定上海范围内的候选数据后,查询CPU指标的聚合周期为5秒,因此其对应的粒度时间的时长为10分钟,从而查询CPU指标数的行主键中所记载的与11:55~12:05这一时间段有重叠的粒度时间,假设查询到涉及这一时间的粒度时间有两个,即11:50~12:00以及12:00~12:10两个粒度时间,若粒度时间区间设置时刚好是11:55~12:05则刚好是对应这一时间短的一个粒度时间。
图3示出根据本申请一个优选实施例的步骤S3的设备示意图。所述步骤S3包括:步骤S31、步骤S32。
其中,在步骤S31中设备1依次或并发查询每个所述粒度时间所包含的所述非关系型数据库中数据的时间版本;在步骤S32中设备1根据所有所述时间版本确定所述查询指令对应的一个或多个目标数据。
具体地,在步骤S31中设备1依次或并发查询每个所述粒度时间所包含的所述非关系型数据库中数据的时间版本。所述依次或并发查询是指当所确认的所述粒度时间为多个,可依次进行查询,即对每个粒度时间进行对应时间版本数据的查询和筛选,当上一个粒度时间查询结束后再对下一个粒度时间发起查询和筛选;或者并发查询,即同时对多个粒度时间进行对应时间版本数据的查询和筛选,这样可以节约查询时间,使得查询效率进一步提升。例如,通过维度信息也就是dimension模糊查询到候选数据范围,通过version来查询某一个时间序列的数据,因为rowkey中有粒度时间,因此在匹配了dimension之后,需要根据开始结束时间,查找所有的粒度时间,然后通过依次串行或者并行方式查询每一个粒度时间内的相应时间版本。
接着,在步骤S32中设备1根据所有所述时间版本确定所述查询指令对应的一个或多个目标数据。即当查询到所确定的粒度时间中所包含的所有时间版本后,将在查询指令中的时间范围内的时间版本对应的数据筛选出作为目标数据反馈给用户。例如,接上文在CPU指标数据的行主键中查找TimeRange的值为11:50~12:00以及12:00~12:10两个粒度时间的数据记录对应的时间版本,再进行筛选,将行主键中时间版本中的时间戳version在12:00~12:10的数据时间版本筛选出即为目标数据。
图4示出根据本申请另一个方面的一种在非关系型数据库中进行数据查询的设备示意图。所述设备1包括查询指令获取装置11、粒度时间确定装置12、目标数据确定装置13。
其中,查询指令获取装置11获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间;粒度时间确定装置12确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间;目标数据确定装置13根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。
具体地,查询指令获取装置11获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间。其中,所述非关系型数据库包括即是指Nosql数据库,泛指非关系型的数据库,可以为大数据建立快速、可扩展的存储库,例如HBase开源数据库,阿里巴巴集团阿里云所用的OTS数据库,在此OTS数据库是指一种阿里云的非关系型数据库产品,基于rowkey的为顺序的分布式存储结构,可以大规模扩容以及海量数据并发查询。其中,所述rowkey即为所述行主键的一种,所述行主键是一种数据结构,每条数据记录均对应一个行主键,用于标识数据在数据库中的唯一身份,在进行数据查询时,可基于行主键进行数据范围的确定和查找。例如在OTS数据库中作为行主键的rowkey是对于OTS数据的索引,是数据的唯一标志,数据库中数据的存储结果将会根据rowkey进行排列,同时也根据rowkey进行分布式的存储。所述行主键信息是指这一数据结构中所包含的标识数据的信息,例如图7中所示的rowkey的数据结构中,包含Metric、TimeRange、dimension、version四类信息。其中,Metric是指数据的类型名称,图中的含义是应用在监控***中时的指标数据的代称;TimeRange是指粒度时间即时间长度超过聚合周期的大粒度时间,是一个时间区间;dimension是维度信息指行主键对应的这一数据的描述方式,version是时间版本是指针对每一条记录有多个版本,一般版本使用时间戳区分,时间戳通常是一个字符序列或者一串数字,唯一地标识某一刻的时间。图7中的四类主键信息仅为示例,在实际实施过程中可基于实际情况进行增减。
在此,所述粒度时间是指时间长度超过聚合周期的大粒度时间,是一个时间区间,例如2016年6月20日12:00至13:00,粒度时间的时间区间大于数据的聚合周期,因此其中包含了数据的若干连续的时间版本对应时间戳的时间点。所述聚合周期是指所预先定义的不同种类的数据记录的聚合时间,例如CPU指标数据每5秒钟进行一次聚合,并将所聚合的数据打上时间戳,作为一个时间版本的数据记录。所述粒度时间被标记在每个数据记录的行主键中,因为是一个时间区间,因此用户查询某一时间范围内的数据时,可确定这一时间范围内所涉及的粒度时间,再以这一粒度时间为基础在行主键中对应查找数据记录,此时粒度时间中的数据记录对应的时间版本即为所要查询的数据。因此,粒度时间的存在是便于在查询用户所需的数据记录的时间版本时缩小范围,从而提升查询效率。
因此,获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间,是指获取了查询指令中所包含的关于所要查询的数据及用于确定其范围的与行主键信息相关的信息,从而便于进一步地高效朝找。例如用户期望查询过去十分钟CPU指标,则确定CPU指标的聚合周期为5秒钟,其对应的粒度时间为十分钟,因此查询过去十分钟的CPU指标所对应的粒度时间中的数据的时间版本。
本领域技术人员应能理解图7中的行主键的构成示意仅为举例,其他现有的或今后可能出现的行主键的构成方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述粒度时间为所述数据聚合周期的整数倍。因为粒度时间为一个时间区间,且其存在是为了便于查找数据对应的时间版本,因此为了方便查找可定义其所包含的数据的时间版本为一个可接受的整数,例如50~100,又因为每个时间版本由一个集合周期所生成,因此粒度时间的长度是聚合周期的整数倍。即如下表中的举例,即为粒度时间与数据聚合周期之间的对应关系:
本领域技术人员应能理解上述得出粒度时间的时间长度的方式仅为举例,其他现有的或今后可能出现的得出粒度时间的时间长度的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,粒度时间确定装置12确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。即在获取查询指令之后,根据查询指令中所要查询的数据的类型获知其聚合周期,并根据如上文表格中所设置的粒度时间与聚合周期的关系获取粒度时间的时长,从而在查询指令所给出的时间范围内查找相应数据中与时间范围相匹配的粒度时间。例如用户查询11:55~12:05的时间范围的CPU指标,查询CPU指标的聚合周期为5秒,因此其对应的粒度时间的时长为10分钟,从而查询CPU指标数的行主键中所记载的与11:55~12:05这一时间段有重叠的粒度时间,假设查询到涉及这一时间的粒度时间有两个,即11:50~12:00以及12:00~12:10两个粒度时间,若粒度时间区间设置时刚好是11:55~12:05则刚好是对应这一时间短的一个粒度时间。确定所匹配的粒度时间缩小了查询对应数据时间版本的范围,从而提升查询效率。
本领域技术人员应能理解上述确定粒度时间的方式仅为举例,其他现有的或今后可能出现的确定粒度时间的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,目标数据确定装置13根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。所述目标数据是指用户所要查询的数据,即范围确定后用于反馈用户的数据。因为所确定的粒度时间的时间区间覆盖了用户查询的时间范围,因此目标数据包含在这些粒度时间对应的数据的时间版本中,也就是说目标数据的时间版本在所确定的一个粒度时间中,或者在多个粒度时间之一中。接上文举例,查询到有11:50~12:00以及12:00~12:10两个粒度时间,在CPU指标数据的行主键中查找TimeRange的值为这两个粒度时间的数据记录对应的时间版本,再进行筛选,将行主键中时间版本中的时间戳在12:00~12:10的筛选出即为目标数据。因此根据在粒度时间确定的情况下,结合行主键进行查找的效率会大大提升,且最后筛选目标数据时也会因为粒度时间所覆盖的时间版本的数量合理而节约筛选时间,提升查询效率。
本领域技术人员应能理解上述确定目标数据的方式仅为举例,其他现有的或今后可能出现的确定目标数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述非关系型数据库中数据的时间版本包含时间戳信息,其中,所述时间戳信息对应于该数据被聚合处理的数据聚合周期。是指每个聚合周期结束会生成一个数据的时间版本,对应一个时间戳,即图7中所展示的version中对应会有个时间戳的值,这一时间戳是在一个聚合周期结束时读取并记录的,此时,数据记录也对应的被存储。在确定粒度时间后在粒度时间范围所覆盖的若干时间版本中查询用户所需要的时间范围或时间点的
优选地,所述设备1中还包括行主键设置装置14(未示出),所述行主键设置装置14在所述非关系型数据库中存储经聚合处理的数据并设置其行主键信息中的时间版本及粒度时间,其中,该粒度时间大于聚合处理对应的数据聚合周期。即每条数据的行主键信息中的时间版本和粒度时间是在这一数据在每个聚合周期聚合完成后所记录的,例如,根据聚合周期预先设定对应的粒度时间,即假设当前粒度时间为1:00~2:00,下一个粒度时间为2:00~3:00,这期间聚合的数据的主键信息中均记录对应的粒度时间;或者,预先设定每个粒度时间中时间版本的数量阈值,例如50,当未记录粒度时间的数据的时间版本数量达到阈值时,为这些数据的行主键对应的时间范围分配一个粒度时间。
在此,粒度时间是如上文表格中所示一开始即根据所定义的规则设置好的,例如每个粒度时间是五十个聚合周期,粒度时间的规则一旦确立,不可变化,不同聚合周期的粒度时间已经提前确定。所设置具体是多少聚合周期,根据具体项目的情况而定,但总体遵循以下原则:粗粒度设置太大将会降低小规模查询效率,比如粗粒度中时间版本是100个,用户查询一个具体时间点的数据也要查出100条,去掉其他99条数据;粗粒度设置太小,对于大范围查询,比如查询一个月的数据,又要遍历太多周期才能把数据查询完整。这里的确定是靠测试的结果确定,基本上一个粒度时间的时间戳不超过1000个版本,尽量靠近物理时间范围,比如一小时、一天之类的。
本领域技术人员应能理解上述确定数据所对应的粒度时间的方式仅为举例,其他现有的或今后可能出现的确定数据所对应的粒度时间的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述非关系型数据库中数据的行主键信息还包含一个或多个维度信息。所述维度信息用于描述数据各个方面,一般一条指标数据将会有多个维度进行描述,除了时间序属于比较特殊的维度外,还有一个或者多个各种维度描述,如图7中所示在行主键rowkey中每一种维度叫做一种dimension,比如上海机房AYXX集群机器名叫RS001的机器某一个时间序列产生的指标,这个例子中上海机房、AYXX集群、RS001机器这三个维度都是dimension,合起来叫做一个指标的dimensions。这些所包含的维度信息使得在基于粒度时间对数据进行查询之前可进一步将查询范围缩小从而提升查询效率避免,且用户可根据维度信息对某个维度范围内的所有数据进行查询。
因此,基于行主键信息包含维度信息图5示出根据本申请一个优选实施例的粒度时间确定装置的设备示意图。所述粒度时间确定装置12包括候选数据确定单元121、粒度时间确定单元122。
其中,候选数据确定单元121在所述非关系型数据库中确定一个或多个候选数据,其中,每个候选数据包括与所述查询指令对应的查询维度信息相匹配的维度信息;粒度时间确定单元122从所述一个或多个候选数据中确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。
具体地,候选数据确定单元121在所述非关系型数据库中确定一个或多个候选数据,其中,每个候选数据包括与所述查询指令对应的查询维度信息相匹配的维度信息。即当用户的查询指令中还包括维度信息时,可以首先根据维度信息确定用户所要查询的数据的维度范围,从而缩小所要查询数据的范围,提高后续的查询效率。因此,所述候选数据是指在用户根据查询指令中维度信息进行筛选后所确定的数据范围内的数据。在用户在查询数据的时间序列或相关范围,或者当用户仅需要查询某一数据的维度范围时,可根据用户查询指令中所包括的维度信息进行筛选,例如图7形式的行主键,在rowkey中的dimension是根据value+分隔符的模式存储,例如rowkey=指标(cpu)+dimensions(上海),这个例子里面的指标是CPU指标,dimension有区域(上海),通过设置rowkey的起始和结束行主键信息中的内容,即可进行查询,效果就是凡是排序在startRowkey和endRowkey下的对应维度的rowkey对应的数据都会在被查询出来的数据范围内。如用户想查询集群机器的CPU指标,则其查询范围如下所示:
startRowkey=cpu+dimensions(上海)
endRowkey=cpu+dimensions(上海,,)
按照如此查询可以查出所有区域在上海的机器指标。
优选地,所述候选数据确定单元121根据所述查询指令对应的多个查询维度信息在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。即用户的查询指令汇总可以包括多个维度,例如图7形式的行主键,在rowkey中的dimension是根据value+分隔符的模式存储,例如rowkey=指标(cpu)+dimensions(上海,AYXX,RS001,),这个例子里面的指标是CPU指标,dimension有区域(上海)、集群(AYXX)、机器名(RS001)。在查询时根据查询指令中的维度信息对起始和终止行主键进行设置即可查询,例如,若用户想查询集群机器的CPU指标,则其查询范围如下所示:
startRowkey=cpu+dimensions(上海,AYXX)
endRowkey=cpu+dimensions(上海,AYXX,)
按照如此查询可以查出所有集群式AYXX的机器指标。
更优选地,所述候选数据确定单元121根据所述查询指令对应的多个查询维度信息及每个查询维度信息的维度等级信息,在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。所述维度等级信息是指有范围大小区别的维度,因此通过不同的维度一层层对数据进行范围确定,每层的维度等级不同。所以对数据查询时根据维度的等级信息逐级模糊匹配,不能跨越匹配。例如,只能查询上海下所有集群或者查询上海下集群AYXX的所有机器,不能不管区域查询所有AYXX的机器。例如用户想查询某一个机器的cpu指标,则其查询范围如下所示:
startRowkey=cpu+dimensions(上海,AYXX,RS001)
endRowkey=cpu+dimensions(上海,AYXX,RS001,)
按照如此查询只能查询出某一台机器的cpu指标,其中上海、AYXX、RS001的级别层层递进,范围越来越小。
本领域技术人员应能理解上述通过维度信息确定候选数据的方式仅为举例,其他现有的或今后可能出现的通过维度信息确定候选数据的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,粒度时间确定单元122从所述一个或多个候选数据中确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。即当通过维度信息确定了一定维度范围内的候选数据后,在这一数据范围内根据查询指令中的时间范围确定粒度时间。例如用户查询上海的机器里11:55~12:05的时间范围的CPU指标,在根据上文举例的方法确定上海范围内的候选数据后,查询CPU指标的聚合周期为5秒,因此其对应的粒度时间的时长为10分钟,从而查询CPU指标数的行主键中所记载的与11:55~12:05这一时间段有重叠的粒度时间,假设查询到涉及这一时间的粒度时间有两个,即11:50~12:00以及12:00~12:10两个粒度时间,若粒度时间区间设置时刚好是11:55~12:05则刚好是对应这一时间短的一个粒度时间。
图6示出根据本申请一个优选实施例的目标数据确定装置的设备示意图。所述目标数据确定装置13包括:时间版本查询单元131、目标数据确定单元132。
其中,时间版本查询单元131依次或并发查询每个所述粒度时间所包含的所述非关系型数据库中数据的时间版本;目标数据确定单元132根据所有所述时间版本确定所述查询指令对应的一个或多个目标数据。
具体地,时间版本查询单元131依次或并发查询每个所述粒度时间所包含的所述非关系型数据库中数据的时间版本。所述依次或并发查询是指当所确认的所述粒度时间为多个,可依次进行查询,即对每个粒度时间进行对应时间版本数据的查询和筛选,当上一个粒度时间查询结束后再对下一个粒度时间发起查询和筛选;或者并发查询,即同时对多个粒度时间进行对应时间版本数据的查询和筛选,这样可以节约查询时间,使得查询效率进一步提升。例如,通过维度信息也就是dimension模糊查询到候选数据范围,通过version来查询某一个时间序列的数据,因为rowkey中有粒度时间,因此在匹配了dimension之后,需要根据开始结束时间,查找所有的粒度时间,然后通过依次串行或者并行方式查询每一个粒度时间内的相应时间版本。
接着,目标数据确定单元132根据所有所述时间版本确定所述查询指令对应的一个或多个目标数据。即当查询到所确定的粒度时间中所包含的所有时间版本后,将在查询指令中的时间范围内的时间版本对应的数据筛选出作为目标数据反馈给用户。例如,接上文在CPU指标数据的行主键中查找TimeRange的值为11:50~12:00以及12:00~12:10两个粒度时间的数据记录对应的时间版本,再进行筛选,将行主键中时间版本中的时间戳version在12:00~12:10的数据时间版本筛选出即为目标数据。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种在非关系型数据库中进行数据查询的方法,包括:
获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间;
确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间;
根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。
2.根据权利要求1中所述的方法,其中,所述粒度时间为所述数据聚合周期的整数倍。
3.根据权利要求1中所述的方法,其中,所述非关系型数据库中数据的时间版本包含时间戳信息,其中,所述时间戳信息对应于该数据被聚合处理的数据聚合周期。
4.根据权利要求1中所述的方法,其中,所述根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据包括:
依次或并发查询每个所述粒度时间所包含的所述非关系型数据库中数据的时间版本;
根据所有所述时间版本确定所述查询指令对应的一个或多个目标数据。
5.根据权利要求1中所述的方法,其中,所述非关系型数据库中数据的行主键信息还包含一个或多个维度信息。
6.根据权利要求5中所述的方法,其中,所述确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间包括:
在所述非关系型数据库中确定一个或多个候选数据,其中,每个候选数据包括与所述查询指令对应的查询维度信息相匹配的维度信息;
从所述一个或多个候选数据中确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。
7.根据权利要求6中所述的方法,其中,所述在所述非关系型数据库中确定一个或多个候选数据包括:
根据所述查询指令对应的多个查询维度信息在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。
8.根据权利要求7中所述的方法,其中,所述在所述非关系型数据库中确定一个或多个候选数据包括:
根据所述查询指令对应的多个查询维度信息及每个查询维度信息的维度等级信息,在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。
9.根据权利要求1至8中任一项所述的方法,其中,所述方法还包括:
在所述非关系型数据库中存储经聚合处理的数据并设置其行主键信息中的时间版本及粒度时间,其中,该粒度时间大于聚合处理对应的数据聚合周期。
10.一种在非关系型数据库中进行数据查询的设备,包括:
查询指令获取装置,用于获取关于非关系型数据库中数据的查询指令,其中,所述非关系型数据库中数据的行主键信息包含时间版本及大于数据聚合周期的粒度时间;
粒度时间确定装置,用于确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间;
目标数据确定装置,用于根据所述一个或多个粒度时间确定所述查询指令对应的一个或多个目标数据,其中,每个目标数据的时间版本包含于所述一个或多个粒度时间中之一。
11.根据权利要求10中所述的设备,其中,所述粒度时间为所述数据聚合周期的整数倍。
12.根据权利要求10中所述的设备,其中,所述非关系型数据库中数据的时间版本包含时间戳信息,其中,所述时间戳信息对应于该数据被聚合处理的数据聚合周期。
13.根据权利要求10中所述的设备,其中,所述目标数据确定装置包括:
时间版本查询单元,用于依次或并发查询每个所述粒度时间所包含的所述非关系型数据库中数据的时间版本;
目标数据确定单元,用于根据所有所述时间版本确定所述查询指令对应的一个或多个目标数据。
14.根据权利要求10中所述的设备,其中,所述非关系型数据库中数据的行主键信息还包含一个或多个维度信息。
15.根据权利要求14中所述的设备,其中,所述粒度时间确定装置包括:
候选数据确定单元,用于在所述非关系型数据库中确定一个或多个候选数据,其中,每个候选数据包括与所述查询指令对应的查询维度信息相匹配的维度信息;
粒度时间确定单元,用于从所述一个或多个候选数据中确定与所述查询指令对应的查询时间范围相匹配的一个或多个粒度时间。
16.根据权利要求15中所述的设备,其中,所述候选数据确定单元用于:
根据所述查询指令对应的多个查询维度信息在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。
17.根据权利要求16中所述的设备,其中,所述候选数据确定单元用于:
根据所述查询指令对应的多个查询维度信息及每个查询维度信息的维度等级信息,在所述非关系型数据库进行匹配查询以确定一个或多个候选数据,其中,每个候选数据包括与所述查询维度信息相匹配的维度信息。
18.根据权利要求10至17中任一项所述的设备,其中,所述设备还包括:
行主键设置装置,用于在所述非关系型数据库中存储经聚合处理的数据并设置其行主键信息中的时间版本及粒度时间,其中,该粒度时间大于聚合处理对应的数据聚合周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610579939.7A CN107644033B (zh) | 2016-07-21 | 2016-07-21 | 一种在非关系型数据库中进行数据查询的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610579939.7A CN107644033B (zh) | 2016-07-21 | 2016-07-21 | 一种在非关系型数据库中进行数据查询的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107644033A true CN107644033A (zh) | 2018-01-30 |
CN107644033B CN107644033B (zh) | 2021-08-17 |
Family
ID=61107993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610579939.7A Active CN107644033B (zh) | 2016-07-21 | 2016-07-21 | 一种在非关系型数据库中进行数据查询的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107644033B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457341A (zh) * | 2019-07-03 | 2019-11-15 | 平安科技(深圳)有限公司 | 数据聚合方法、装置、计算机设备及存储介质 |
CN110704491A (zh) * | 2019-09-30 | 2020-01-17 | 京东城市(北京)数字科技有限公司 | 数据查询方法和装置 |
CN111538747A (zh) * | 2020-05-27 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据查询、辅助数据查询的方法、装置和设备 |
CN111552722A (zh) * | 2020-05-06 | 2020-08-18 | 山东汇贸电子口岸有限公司 | 粒度数据的处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747398A (zh) * | 2004-09-08 | 2006-03-15 | 大唐移动通信设备有限公司 | 网元管理***中海量性能数据的统计方法 |
CN103514201A (zh) * | 2012-06-27 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库的数据查询方法和装置 |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
US20150293816A1 (en) * | 2012-12-31 | 2015-10-15 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
CN105095458A (zh) * | 2015-07-29 | 2015-11-25 | 南威软件股份有限公司 | 一种基于时间特征支持复杂条件的大数据检索方法 |
-
2016
- 2016-07-21 CN CN201610579939.7A patent/CN107644033B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747398A (zh) * | 2004-09-08 | 2006-03-15 | 大唐移动通信设备有限公司 | 网元管理***中海量性能数据的统计方法 |
CN103514201A (zh) * | 2012-06-27 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库的数据查询方法和装置 |
US20150293816A1 (en) * | 2012-12-31 | 2015-10-15 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
CN105095458A (zh) * | 2015-07-29 | 2015-11-25 | 南威软件股份有限公司 | 一种基于时间特征支持复杂条件的大数据检索方法 |
Non-Patent Citations (1)
Title |
---|
刘应波 等: ""基于NoSQL的FITS文件头元数据存储和查询研究"", 《计算机应用研究》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457341A (zh) * | 2019-07-03 | 2019-11-15 | 平安科技(深圳)有限公司 | 数据聚合方法、装置、计算机设备及存储介质 |
CN110457341B (zh) * | 2019-07-03 | 2024-05-07 | 平安科技(深圳)有限公司 | 数据聚合方法、装置、计算机设备及存储介质 |
CN110704491A (zh) * | 2019-09-30 | 2020-01-17 | 京东城市(北京)数字科技有限公司 | 数据查询方法和装置 |
CN111552722A (zh) * | 2020-05-06 | 2020-08-18 | 山东汇贸电子口岸有限公司 | 粒度数据的处理方法及装置 |
CN111538747A (zh) * | 2020-05-27 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据查询、辅助数据查询的方法、装置和设备 |
CN111538747B (zh) * | 2020-05-27 | 2023-04-14 | 支付宝(杭州)信息技术有限公司 | 数据查询、辅助数据查询的方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107644033B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8700605B1 (en) | Estimating rows returned by recursive queries using fanout | |
CN107644033A (zh) | 一种在非关系型数据库中进行数据查询的方法与设备 | |
CN108256088A (zh) | 一种基于键值数据库的时序数据的存储方法及*** | |
CN103092867B (zh) | 一种数据管理方法及***、数据分析装置 | |
CN102332030A (zh) | 用于分布式键-值存储***的数据存储、管理和查询方法及*** | |
CN105528367A (zh) | 基于开源大数据对时间敏感数据的存储和近实时查询方法 | |
CN107807932B (zh) | 一种基于路径枚举的层级数据管理方法和*** | |
CN112765405B (zh) | 空间数据搜索结果的聚类和查询的方法及*** | |
CN103440245A (zh) | 数据库***的行列混合存储方法 | |
CN108241692B (zh) | 数据的查询方法及装置 | |
CN103440249A (zh) | 一种非结构化数据快速检索的***及方法 | |
CN111680103A (zh) | 一种分布式数据库自增字段产生有序唯一值的方法和装置 | |
CN104636349A (zh) | 一种索引数据压缩以及索引数据搜索的方法和设备 | |
CN103840969A (zh) | 云计算***中告警日志的管理方法和*** | |
CN108062384A (zh) | 数据检索的方法和装置 | |
CN103226610B (zh) | 数据库表查询方法和装置 | |
CN114372064B (zh) | 数据处理装置、方法、计算机可读介质及处理器 | |
CN105787090A (zh) | 一种电力数据的olap***的索引建立方法和*** | |
CN105183391A (zh) | 一种分布式数据平台下数据存储的方法和装置 | |
US20210279240A1 (en) | Efficient storage method for time series data | |
CN107341198B (zh) | 一种基于主题实例的电力海量数据存储和查询方法 | |
CN110019192B (zh) | 数据库的检索方法及装置 | |
CN110032586B (zh) | 储能电芯数据的存储方法、查询方法及采集存储*** | |
CN116756253A (zh) | 关系型数据库的数据存储、查询方法、装置、设备和介质 | |
CN103593409A (zh) | 实时数据库检索方法及检索*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1250267 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |