CN101533406A - 一种海量数据查询方法 - Google Patents
一种海量数据查询方法 Download PDFInfo
- Publication number
- CN101533406A CN101533406A CN200910081509A CN200910081509A CN101533406A CN 101533406 A CN101533406 A CN 101533406A CN 200910081509 A CN200910081509 A CN 200910081509A CN 200910081509 A CN200910081509 A CN 200910081509A CN 101533406 A CN101533406 A CN 101533406A
- Authority
- CN
- China
- Prior art keywords
- mass data
- subregion
- entity list
- time interval
- data inquiry
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种海量数据查询方法,属于信息技术领域。本发明方法包括:a)对海量数据实体表按设定的时间间隔进行分区;b)建立所述实体表中属性名称的二维统计表,其中一维表示设定的时间区间内的各个时间间隔,另一维表示属性名称的属性列中的属性数据,统计表中的内容表示在某个时间间隔内存在某个属性数据的实体表的名称;c)查询时,若查询条件中包括经统计的属性名称,则根据该属性名称的统计表和查询条件中设定的时间区间获得在该时间区间内的实体表分区的集合;d)根据该集合缩小海量数据查询范围再进行查询。本发明方法可用于诸如电信行业的计费查询系统、大型网站交易平台等大型系统中的海量数据查询。
Description
技术领域
本发明涉及数据库数据查询,尤其涉及一种提高了查询性能的海量数据查询方法,属于信息技术领域。
背景技术
查询是用户从数据库获取信息的唯一方式,也是一般应用系统的主要功能,而系统的查询效率也是衡量其实用性的关键指标之一。在电信和互联网等行业里,随着信息化的发展,企业要处理的数据爆炸式的增长,数据量都达到了TB级、PB级,随着数据量增多,系统的负载越来越大,在不增加硬件成本的情况下,用户查询数据性能随之下降。如何发挥已有系统的最大性能,使查询速度能满足实用的要求是许多企业面对的难题,目前常用的传统方法有:
(1)建立合理的索引
(2)使用分区技术
(3)使用分布式数据库
(4)使用HINT暗示,使用PL/SQL
(5)基于物化视图的查询重写
(6)基于缓存技术
上述方法采用的手段归根结底都是通过减少IO磁盘的访问来提高查询性能。比如,系统中都使用按时间分区的技术,当用户查询条件有时间范围的时候,只需要查询包含这段时间的数据分区而不用查询所有的分区,这样就可以减少IO磁盘访问。建立合理的索引也是如此,根据用户查询的条件,先从包含这些条件的索引中找到满足条件的ROWID,再根据ROWID去查询实际的数据来避免直接从表中查询数据。再如,使用物化视图和缓存把经常查询的数据提前装载在内存里,用户查询时就不用再去读磁盘了。
上述方法在某些条件下都能减少磁盘IO访问,也能达到提高查询性能的目的,但是提高的范围仍有一定限度。当数据量大到一定程度,并且不使用大型存储时,很多数据查询IO磁盘访问花费时间还是很长,常超出用户的承受范围。比如某一系统一个月的数据就达到1TB,使用了RANGE分区技术,按天创建了分区,在常用查询列上都建立了并且建了LOCAL索引。比如:用户在这个系统上查询最近一个月满足某一条件的数据,系统最少要读取这一个月约30个分区的本地索引才能得到实际数据,这些索引的大小往往超过几个GB,所以即使使用了这些技术,花费的时间往往也达到分钟级。特殊情况下,如果满足这个用户查询条件的数据非常少或者没有,查询的范围就会加大,不但返回时间很长而且还没有结果。这会使用户觉得这个系统的实用性不好,同时也大大降低了用户的工作效率。
此时,如果要让系统性能提高或许只能考虑购买性能更好的服务器。本专利的技术则针对上述实际问题,通过统计等技术找到一个有效解决问题的办法,提高系统的查询性能。
和一般应用数据库不同,海量数据库系统具有以下特点:
(1)数据有一定的时效性,且数据量随着时间在不停增加。
(2)查询往往有一定的时间范围,并且在数据上进行修改的操作非常少。
(3)相对来说系统查询时间大都花费在磁盘IO上,CPU使用所花费的时间可忽略不计。
(4)实体表的很多列上数据重复率很高。
实际中像电信行业的计费查询系统、大型网站交易平台等系统,他们的数据量都随着时间的推移,每天都在大量增加,而信息一旦录入数据库,修改的就非常少。系统查询时都有一定的时间范围,数据超过一定时间就会删除或者转存其他系统。
另外一个特点是,常用查询列上有很高的重复率。比如,电信计费系统的用户手机号,交易平台交易双方的ID等。
本专利适用于具有上述特点的海量数据库的查询中。
发明内容
本方法针对海量数据查询中传统方法已经无法满足性能要求的情况,有效地利用系统的空闲时间对需要查询的数据进行统计,最大限度地减少查询时磁盘IO访问以提高查询速度。在系统不增加硬件成本的条件下,使查询性能提高几倍或者几十倍。
本发明针对以上背景资料中提到的实际问题,提出了一种利用数据库系统的空闲时间,针对背景资料中提到的,用户查询常用的查询中常用到的,并且数据有一定的重复率的列,进行统计,在实际查询的时候,利用这个统计结果缩小查询范围再作查询,以减少磁盘读取,提高海量数据查询效率。
具体来说,本发明包括下列步骤:
a)进行海量数据查询前,对于一个或多个海量数据实体表,按照设定的时间间隔(比如,天或者小时)对每个实体表进行分区,得到各个实体表的多个实体表分区;并优选在经常被当做查询条件的属性名称(比如用户ID等)的属性列上,建立BITMAP本地索引。
b)建立所述实体表中一个或多个属性名称的独立的一个或多个统计表,每个属性名称的每个统计表均为二维统计表,其中一维表示设定的时间区间(比如,月)内的各个时间间隔(和步骤a时间间隔相同),另一维表示所述属性名称的属性列中的各个属性数据,统计表中的内容表示在某个时间间隔内存在某个属性数据的实体表的名称;
换言之,在本步骤中,以一段时间为单位,把这段时间内需要统计的属性名称的列数据统计在一个表里。一般情况下,对一个实体表进行统计,如果多个实体表有相同的属性列,而且查询的时候,用户有可能对多个表同时一起查询的话,可以把多个实体表的相同属性列的数据统计到同一个表中。以按月统计为例,统计表的命名可以是:属性名+年月,比如某一列上的统计表名为:CSTAT0903,表示2009年3月份的统计结果。CSTAT0903表共有32列,第一列是要统计的属性列,比如为CustomID(下面以此列为例,进行说明)、第2到32列,分别表示这一个月的每一天对应的分区。列名为D1、D2…D31。可设定在每天的某个具体时间(比如晚1时),对前一天的数据进行统计,最终的结果上,CustomID列保存这所有统计过的CutomID,如果某分区里包含了这个CustomID的话,其相应的行就保存对应的实体表名。
步骤b优选在海量数据查询空闲期间进行。
c)进行海量数据查询时,若查询条件中包括经过步骤b统计的属性名称,则先查询所述属性名称的统计表,并根据该统计表和查询条件中设定的时间区间获得在该时间区间内的实体表分区的集合;若查询条件中包括多个经过步骤b统计的属性名称,则依次获得实体表分区集合后取交集;
参照步骤b所述实例,若海量查询时的查询条件中包含CustomID,则首先查询CustomID的统计表,查找CSTAT090N(N表示月份,N=1,2,…,12)的统计表,查找查询条件中指定的时间范围内包含这个CustomID的分区集合(若以列表的形式展示该集合,则可称为分区列表),把查询范围缩小到这些分区内。如果查询条件还包含其他经统计的属性名称,则同样取得其分区集合,取这几个分区集合的交集。
d)根据步骤c获得的实体表分区集合或实体表分区集合的交集缩小海量数据查询范围,并根据所述集合或交集中的实体表分区进行海量数据查询。
一般系统都采用分页显示,为了快速把结果返回结果,不是一次把所有的数据都查询出来,再返回结果,而是把分区列表根据其数据的时间按照指定的顺序进行排序,然后依次查询这些分区,如果查询第一个分区里的记录条数大于要求的第一页的条数,就先返回这些结果,如果不足,继续查询下一个分区,直到满足条数,再返回结果。
与现有技术相比,本发明的有益效果是:
在不使用本专利的情况下,在海量数据库中查询,满足查询条件的结果非常少,那就需要进行很多的磁盘IO读取,才能得到结果,使用本发明的方法,那就可以先通过一个统计表得到包含本数据的分区列表,再到这些分区列表里分区进行读取,这样即使满足查询条件的记录很少,也能先得到哪些分区包含这些数据,查询的范围也比较少,也能快速返回结果,反之,如果满足查询条件的记录非常多,也只要查几个分区就能得到结果。
这个统计表的上的索引,是所有的数据的唯一值,相对于原有的这列上的索引的大小来说,只有原来的几十分之一,因此,能够很好的利用系统空闲时间进行统计,查询的时候,只要花费很小的代价,就能避免在没有数据的分区里进行查询,大大提高整体查询性能。
另外,通过本专利技术可以将系统空闲时间有效的利用起来,最大限度的使用已有的系统,通过服务器空闲时间,对前一天的数据进行统计,在实际进行查询的时候,通过很少的IO读取高效准确的找到包含需要查询的数据所在的分区,然后在一个分区接着一个分区的读数据,进行排序,又最大限度的减少需要排序的数据。使系统消耗最少的资源,最快的返回查询结果,和以前传统的优化方法相比,查询效率会大幅提高,本技术的使用范围很广,随着信息化的发展,许多应用都建立在海量数据之上,只要数据有一定的重复率,都是可以应该本专利的,比如,网络交易系统,电信行业的计费系统等。该方法已应用在北京锐安科技有限公司的分布式海量数据处理产品中,并解决了实际遇到的查询慢的问题。
下面是发明人在具体的海量数据平台上的实际应用测试效果:
环境:30台分布式的数据库,15个实体表,一个月的数据共84亿多条记录。
查询条件:对这15个实体表的共有属性列,时间一个月。
总的记录范围:124亿。
没有查询结果 | 查询结果很多 | 查询结果很少(<100条) | |
旧的算法 | 2分40秒 | 10秒 | 30秒 |
专利方法 | 5秒 | 8秒 | 10秒 |
可以看到,没有查询结果的时候,或者查询结果很少的时候,使用本发明方法,查询性能有很大的提升效果。
附图说明
图1表示本发明实施例涉及客户ID的查询步骤;
图2表示本发明实施例涉及客户ID和销售商ID的查询步骤;
具体实施方式
下面通过具体实施例结合附图对本发明作进一步说明。
假设本实施例系统中存在如下三个海量数据实体表,名称分别是Food,Clothes和Device,这三个实体表的数据结构如下表1-3所示:
表1:Food——食品类
交易ID | 商品ID | 客户ID | 交易时间 | 价格 | 数量 | 销售商ID | 其他 | 生产日期 | 保质期 | 其他 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
表2:Clothes——衣服类
交易ID | 商品ID | 客户ID | 交易时间 | 价格 | 数量 | 销售商ID | 生产地 | 大小 | 颜色 | 其他 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
表3:Device——电器类
交易ID | 商品ID | 客户ID | 交易时间 | 价格 | 数量 | 销售商ID | 类型 | 生产商 | 保修时间 | 其他 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
上面三个实体表记录了网络交易信息。
一般情况下,对于单个系统,提供用户查询的接口条件是有限个数的,统计用户常用的查询条件,得到的结果是80%以上的查询都是某几个特定的查询条件。
比如上述模型系统中,常用的查询条件(属性名称)有:
(1)交易时间
(2)客户ID
(3)销售商ID
本实施例方法包括下列步骤:
步骤一:进行海量数据查询前,对于上述三个海量数据实体表,按照交易时间按天对每个实体表进行分区,则每个实体表均得到多个实体表分区;
同时,在客户ID,销售商ID等常用属性名称上建立本地索引,索引类型为BITMAP,并在交易ID上建B树的索引。另外,为了降低系统压力,把数据按照购客户ID和销售商ID进行HASH,平均分布到多个数据库上。
步骤二:建立上述实体表中客户ID的多个统计表;
在本实施例系统中,客户ID这一列是一个重复率很高的列。整个系统在一段时间内总的客户ID的数量是一定的,如果把这个信息进行统计,统计每一个客户ID发生交易的是哪些时间,这样在查询的时候,就能根据这个统计结果来确定需要查询的时间范围,而且只在这些时间范围内查询,从而大大的减少磁盘的IO了。
在本步骤中,将每一个月的信息统计到一个表中,因为客户ID的信息,每间隔一段时间会有增有减,而在一个月范围内,总的客户ID数量是固定的,所以采用每一个月为单位,进行统计。
创建一个客户ID的统计表,按照所统计的月份来命名,比如:customStat0903,其中第一列是客户ID这一属性列中的各个属性数据,即这个月交易的所有的客户ID,而且这一列只保留这一列的唯一值,在这一列上建一个唯一索引(B树),命令为PK_customStat0903。
在统计表customStat0903上,有另外31个列:D1、D2...D30、D31,分别表示这个月的每一天,而表中的内容则表示在某天内存在某个客户ID的实体表的名称,如下表4所示。
表4:客户ID的3月份统计表——customStat0903
客户ID | D1 | D2 | D3 | ... | D29 | D30 | D31 |
101 | F1,C2,D3 | C | |||||
999 | C | D | D | ||||
... | |||||||
100000 | F | F |
1:F=Food,下同;2:C=Clothes,下同;3:D=Device,下同。
由于数据按天分区,所以每天进行一次统计。由于交易时间是实际时间,每天到了24时以后,就不会有当天的数据生成了,而且大部分查询在白天系统压力较大时进行,深夜1时以后,压力较小,所以本实施例设定在每天1时开始统计前一天的数据。
本实施例进行上述统计所使用的SQL语句如下(以统计FOOD表2009年3月1日的客户ID为例):
merge into runvista.Stat0903 s
USING(select distinct客户ID from Food partition(P090301)t)
ON(s.客户ID=t.客户ID)
WHEN MATCHED THEN
UPDATE SET S.D1=S.D1‖′food′
WHEN NOT MATCHED THEN
insert(客户ID,D1)values(t.srcip,′food′);
对于客户ID的其他统计表,其SQL语句类似。由于本实施例在每个实体表中的客户ID列上均建立了BITMAP本地索引,所以select distinct客户ID from Foodpartition(P090301),直接从索引中就能得到结果,都不需要排序,整个统计也不需要很多时间。
类似地,对销售商ID按月进行统计,得到销售商ID的多个统计表,其中一个统计表如下表5所示:
表5:销售商ID的3月份统计表——SaleStat0903(PK_SaleStat0903是销售商ID列上唯一索引)
销售商ID | D1 | D2 | D3 | ... | D29 | D30 | D31 |
2001 | F,C,D | C | |||||
2999 | C | D | D | ||||
... | |||||||
200000 | F | F |
步骤三:查询某客户最近三个月的购物记录(2009-01-01—2009-3-31),并且按旧到新排序输出。
如果不使用本发明方法,那么系统得到所需数据需要读取的IO是三个实体表三个月共约90个分区的客户ID属性列上的索引。其存在下列缺点:
√要读的IO为90个分区索引,非常多
√如果返回的数据非常多,排序时也占到很多时间
√如果返回的数据非常少,或者没有,需要查询完90个分区才能得到结果,也需要不少时间
按照本发明方法进行查询则按照下列步骤进行,如图1所示:
由于查询条件包括经统计的属性名称—客户ID,因此先读取客户ID的统计表,由于查询的时间为2009年1月-3月,因此读取customStat0901,customStat0902,customStat0903这三个月的统计表,如果有客户ID的数据,加到分区列表中。
此处,如果查询的时间区间包含查询当天,则由于当天的数据未经统计,所以可直接从当天的分区中去找,如果有,把当天的分区也加到分区列表中去。
如果分区列表中,没有数据,说明这个客户没有记录,流程结束。
根据分区列表的时间先后顺序,查询分区的数据,并统计结果,如果统计数大于结果要求的条数,直接把结果排序输出,如果没有达到结果要求的条数,继续下一个分区,直到满足为之,再排序输出,这样处理可以减少排序带来的IO磁盘读取。
进一步,如果查询条件涉及多个经统计的属性名称,则对每个属性名称均按上述方法得到各自分区列表,对分区列表取交集,再在交集中的分区的基础上,根据剩下的条件进行查询。
比如下列应用:要查询一个客户A最近一个月从销售商B购买了大于100元的清单。这是一个相对比较复杂的查询,由于查询的条件都是AND条件,而且统计系统中已经把客户ID,销售商ID的存在信息都进行了统计,所以可以先查客户A的客户ID得到分区列表LIST1,再查销售商B的销售商ID得到分区列表LIST2,然后在LIST1和LIST2这两个列表中取交集,在交集的分区里找到大于100元的清单,如图2所示。
关于分页输出,再作如下说明:
通过统计的信息可以得到包含数据的分区列表,如果把所有的数据都查询出来,再排序分页输出,这样数据库要读的IO,包含所有分区的数据的读取,以及大数据量排序需要的IO,为了加快这部分的性能,可能先将得到的查询列表按照时间排序,然后一个分区一个分的取得结果,在这个分区里进行排序,依次保存在集合类型的里,如果此时查询的记录大于要求的条数就结束,如果不足,继续读下一个分区,输出结果的时候,直接从集合里查询就可以了。
翻页的时候,再根据前一页得到的结果的最小时间为查询条件,以及主键,再次查询其他的分区列表,根据传入的时间和主键值,再次查询后面的分区列表,并确保数据在传入的时间和主键值之后,这样就不会返回重复的数据。再次翻页查询的时候,算法同第一页查询。
Claims (8)
1.一种海量数据查询方法,其特征在于,包括下列步骤:
a)进行海量数据查询前,对于一个或多个海量数据实体表,按照设定的时间间隔对每个实体表进行分区,得到各个实体表的多个实体表分区;
b)建立所述实体表中一个或多个属性名称的独立的一个或多个统计表,每个属性名称的每个统计表均为二维统计表,其中一维表示设定的时间区间内的各个时间间隔,另一维表示所述属性名称的属性列中的各个属性数据,统计表中的内容表示在某个时间间隔内存在某个属性数据的实体表的名称;
c)进行海量数据查询时,若查询条件中包括经过步骤b统计的属性名称,则获得所述属性名称的统计表,并根据该统计表和查询条件中设定的时间区间获得在该时间区间内的实体表分区的集合;
d)根据步骤c获得的实体表分区集合缩小海量数据查询范围,并根据所述集合中的实体表分区进行海量数据查询。
2.如权利要求1所述的海量数据查询方法,其特征在于,在步骤c中,若查询条件中包括多个经过步骤b统计的属性名称,则根据各个属性名称依次获得实体表分区集合后取交集,且步骤d根据该交集中的实体表分区进行海量数据查询。
3.如权利要求1所述的海量数据查询方法,其特征在于,在海量数据查询空闲期间按步骤b所述建立统计表。
4.如权利要求1或2所述的海量数据查询方法,其特征在于,步骤a和步骤b所述时间间隔均为天或者小时。
5.如权利要求1或2所述的海量数据查询方法,其特征在于,步骤b所述时间区间为月。
6.如权利要求1或2所述的海量数据查询方法,其特征在于,步骤a对实体表进行分区后,在所述实体表中一个或多个属性名称的属性列上建立BITMAP本地索引。
7.如权利要求1或2所述的海量数据查询方法,其特征在于,步骤d进行海量数据查询时,分页显示查询结果。
8.如权利要求6所述的海量数据查询方法,其特征在于,步骤d根据所述实体表分区的时间先后按照设定的顺序依次查询所述分区,当在已有查询结果的基础上加上当前分区的查询结果满足分页显示数量要求时,先显示结果再查询下一分区;当不满足分页显示数量要求时,先查询下一分区直至满足要求再显示结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100815092A CN101533406B (zh) | 2009-04-10 | 2009-04-10 | 一种海量数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100815092A CN101533406B (zh) | 2009-04-10 | 2009-04-10 | 一种海量数据查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101533406A true CN101533406A (zh) | 2009-09-16 |
CN101533406B CN101533406B (zh) | 2010-10-13 |
Family
ID=41104012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100815092A Active CN101533406B (zh) | 2009-04-10 | 2009-04-10 | 一种海量数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101533406B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916254A (zh) * | 2010-06-29 | 2010-12-15 | 用友软件股份有限公司 | 表单统计方法和装置 |
CN102200972A (zh) * | 2010-03-24 | 2011-09-28 | 腾讯科技(北京)有限公司 | 一种数据库维护方法和设备 |
CN102214176A (zh) * | 2010-04-02 | 2011-10-12 | 中国人民解放军国防科学技术大学 | 超大维表的切分与表连接方法 |
CN102332026A (zh) * | 2011-10-10 | 2012-01-25 | 深圳中兴网信科技有限公司 | 一种业务数据库查询统计方法 |
CN103226610A (zh) * | 2013-05-07 | 2013-07-31 | 华为技术有限公司 | 数据库表查询方法和装置 |
CN103345527A (zh) * | 2013-07-23 | 2013-10-09 | 深圳市博瑞得科技有限公司 | 数据智能统计系统 |
CN103530378A (zh) * | 2013-10-15 | 2014-01-22 | 福建榕基软件股份有限公司 | 数据分页查询与数据库的构建的方法与装置 |
CN103617232A (zh) * | 2013-11-26 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种针对HBase表的分页查询方法 |
CN103678402A (zh) * | 2012-09-21 | 2014-03-26 | 厦门雅迅网络股份有限公司 | 一种海量数据下数据实时统计的方法 |
CN103942196A (zh) * | 2013-01-17 | 2014-07-23 | 腾讯科技(深圳)有限公司 | 数据查询的方法、设备及系统 |
CN103995869A (zh) * | 2014-05-20 | 2014-08-20 | 东北大学 | 一种基于Apriori算法的数据缓存方法 |
CN104268295A (zh) * | 2014-10-24 | 2015-01-07 | 迈普通信技术股份有限公司 | 一种数据查询方法及装置 |
CN104834650A (zh) * | 2014-02-12 | 2015-08-12 | 清华大学 | 一种有效查询任务生成方法及系统 |
CN104933042A (zh) * | 2013-09-29 | 2015-09-23 | 国家电网公司 | 基于大数据量的数据库表采集优化技术 |
CN104951552A (zh) * | 2015-06-29 | 2015-09-30 | 努比亚技术有限公司 | 一种大数据统计方法及用于大数据统计的系统 |
CN105159950A (zh) * | 2014-12-30 | 2015-12-16 | 深圳市光息谷科技发展有限公司 | 海量数据实时排序查询方法及系统 |
CN105740373A (zh) * | 2016-01-27 | 2016-07-06 | 国网上海市电力公司 | 基于分布式内存的虚拟现实平台数据查询方法 |
CN106599127A (zh) * | 2016-12-01 | 2017-04-26 | 深圳市风云实业有限公司 | 应用于单机服务器的日志存储和查询方法 |
CN107391502A (zh) * | 2016-05-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 时间间隔的数据查询方法、装置及索引构建方法、装置 |
CN107783980A (zh) * | 2016-08-24 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 索引数据生成及数据查询方法及装置、存储和查询系统 |
CN108228663A (zh) * | 2016-12-21 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 一种分页检索方法及装置 |
CN108460048A (zh) * | 2017-02-21 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种查询唯一值的方法及设备 |
CN110321388A (zh) * | 2019-02-26 | 2019-10-11 | 南威软件股份有限公司 | 一种基于Greenplum的快速排序查询方法及系统 |
CN110489426A (zh) * | 2019-08-26 | 2019-11-22 | 杭州安恒信息技术股份有限公司 | 一种数据库表的自动化分区方法、装置及设备 |
CN111061758A (zh) * | 2018-10-16 | 2020-04-24 | 杭州海康威视数字技术股份有限公司 | 数据存储方法、装置及存储介质 |
CN111506600A (zh) * | 2020-03-23 | 2020-08-07 | 杭州海康威视系统技术有限公司 | 分页查询方法、装置和电子设备 |
CN112100226A (zh) * | 2020-09-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种数据查询方法及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3870043B2 (ja) * | 2001-07-05 | 2007-01-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 大規模データベースにおける主要クラスタおよびアウトライア・クラスタの検索、検出および同定のためのシステム、コンピュータ・プログラム、およびサーバ |
CN101087203A (zh) * | 2006-06-11 | 2007-12-12 | 上海全成通信技术有限公司 | 一种海量数据统计方法 |
CN101149736B (zh) * | 2006-09-21 | 2012-01-11 | 阿里巴巴集团控股有限公司 | 一种海量数据查询方法及系统 |
-
2009
- 2009-04-10 CN CN2009100815092A patent/CN101533406B/zh active Active
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200972A (zh) * | 2010-03-24 | 2011-09-28 | 腾讯科技(北京)有限公司 | 一种数据库维护方法和设备 |
CN102214176A (zh) * | 2010-04-02 | 2011-10-12 | 中国人民解放军国防科学技术大学 | 超大维表的切分与表连接方法 |
CN102214176B (zh) * | 2010-04-02 | 2014-02-05 | 中国人民解放军国防科学技术大学 | 超大维表的切分与表连接方法 |
CN101916254B (zh) * | 2010-06-29 | 2016-07-06 | 用友软件股份有限公司 | 表单统计方法和装置 |
CN101916254A (zh) * | 2010-06-29 | 2010-12-15 | 用友软件股份有限公司 | 表单统计方法和装置 |
CN102332026A (zh) * | 2011-10-10 | 2012-01-25 | 深圳中兴网信科技有限公司 | 一种业务数据库查询统计方法 |
CN103678402A (zh) * | 2012-09-21 | 2014-03-26 | 厦门雅迅网络股份有限公司 | 一种海量数据下数据实时统计的方法 |
CN103678402B (zh) * | 2012-09-21 | 2018-10-16 | 厦门雅迅网络股份有限公司 | 一种海量数据下数据实时统计的方法 |
CN103942196A (zh) * | 2013-01-17 | 2014-07-23 | 腾讯科技(深圳)有限公司 | 数据查询的方法、设备及系统 |
CN103942196B (zh) * | 2013-01-17 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 数据查询的方法、设备及系统 |
CN103226610B (zh) * | 2013-05-07 | 2016-06-29 | 华为技术有限公司 | 数据库表查询方法和装置 |
CN103226610A (zh) * | 2013-05-07 | 2013-07-31 | 华为技术有限公司 | 数据库表查询方法和装置 |
CN103345527A (zh) * | 2013-07-23 | 2013-10-09 | 深圳市博瑞得科技有限公司 | 数据智能统计系统 |
CN104933042B (zh) * | 2013-09-29 | 2018-04-13 | 国家电网公司 | 基于大数据量的数据库表采集优化技术 |
CN104933042A (zh) * | 2013-09-29 | 2015-09-23 | 国家电网公司 | 基于大数据量的数据库表采集优化技术 |
CN103530378A (zh) * | 2013-10-15 | 2014-01-22 | 福建榕基软件股份有限公司 | 数据分页查询与数据库的构建的方法与装置 |
CN103530378B (zh) * | 2013-10-15 | 2017-01-18 | 福建榕基软件股份有限公司 | 数据分页查询与数据库的构建的方法与装置 |
CN103617232B (zh) * | 2013-11-26 | 2018-03-30 | 北京京东尚科信息技术有限公司 | 一种针对HBase表的分页查询方法 |
CN103617232A (zh) * | 2013-11-26 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种针对HBase表的分页查询方法 |
CN104834650A (zh) * | 2014-02-12 | 2015-08-12 | 清华大学 | 一种有效查询任务生成方法及系统 |
CN103995869B (zh) * | 2014-05-20 | 2017-02-22 | 东北大学 | 一种基于Apriori算法的数据缓存方法 |
CN103995869A (zh) * | 2014-05-20 | 2014-08-20 | 东北大学 | 一种基于Apriori算法的数据缓存方法 |
CN104268295A (zh) * | 2014-10-24 | 2015-01-07 | 迈普通信技术股份有限公司 | 一种数据查询方法及装置 |
CN104268295B (zh) * | 2014-10-24 | 2018-07-06 | 迈普通信技术股份有限公司 | 一种数据查询方法及装置 |
CN105159950A (zh) * | 2014-12-30 | 2015-12-16 | 深圳市光息谷科技发展有限公司 | 海量数据实时排序查询方法及系统 |
CN104951552A (zh) * | 2015-06-29 | 2015-09-30 | 努比亚技术有限公司 | 一种大数据统计方法及用于大数据统计的系统 |
CN105740373B (zh) * | 2016-01-27 | 2019-11-08 | 国网上海市电力公司 | 基于分布式内存的虚拟现实平台数据查询方法 |
CN105740373A (zh) * | 2016-01-27 | 2016-07-06 | 国网上海市电力公司 | 基于分布式内存的虚拟现实平台数据查询方法 |
CN107391502A (zh) * | 2016-05-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 时间间隔的数据查询方法、装置及索引构建方法、装置 |
CN107391502B (zh) * | 2016-05-16 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 时间间隔的数据查询方法、装置及索引构建方法、装置 |
CN107783980A (zh) * | 2016-08-24 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 索引数据生成及数据查询方法及装置、存储和查询系统 |
CN106599127A (zh) * | 2016-12-01 | 2017-04-26 | 深圳市风云实业有限公司 | 应用于单机服务器的日志存储和查询方法 |
CN108228663A (zh) * | 2016-12-21 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 一种分页检索方法及装置 |
CN108460048A (zh) * | 2017-02-21 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种查询唯一值的方法及设备 |
CN111061758A (zh) * | 2018-10-16 | 2020-04-24 | 杭州海康威视数字技术股份有限公司 | 数据存储方法、装置及存储介质 |
CN111061758B (zh) * | 2018-10-16 | 2023-10-20 | 杭州海康威视数字技术股份有限公司 | 数据存储方法、装置及存储介质 |
CN110321388A (zh) * | 2019-02-26 | 2019-10-11 | 南威软件股份有限公司 | 一种基于Greenplum的快速排序查询方法及系统 |
CN110321388B (zh) * | 2019-02-26 | 2021-07-02 | 南威软件股份有限公司 | 一种基于Greenplum的快速排序查询方法及系统 |
CN110489426A (zh) * | 2019-08-26 | 2019-11-22 | 杭州安恒信息技术股份有限公司 | 一种数据库表的自动化分区方法、装置及设备 |
CN111506600A (zh) * | 2020-03-23 | 2020-08-07 | 杭州海康威视系统技术有限公司 | 分页查询方法、装置和电子设备 |
CN112100226A (zh) * | 2020-09-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种数据查询方法及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101533406B (zh) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101533406B (zh) | 一种海量数据查询方法 | |
US7908242B1 (en) | Systems and methods for optimizing database queries | |
US6408292B1 (en) | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions | |
Chaudhuri et al. | An overview of business intelligence technology | |
Nambiar et al. | The Making of TPC-DS. | |
Tsois et al. | MAC: Conceptual data modeling for OLAP. | |
US9043310B2 (en) | Accessing a dimensional data model when processing a query | |
Ashayer et al. | Predicate matching and subscription matching in publish/subscribe systems | |
US7849114B2 (en) | Method, system, and program product for generating a virtual database | |
CA2795756C (en) | Method and system for providing business intelligence data | |
JP2003526159A (ja) | 多次元データベースおよび統合集約サーバ | |
Karayannidis et al. | Processing star queries on hierarchically-clustered fact tables | |
CN104794146A (zh) | 商品实时筛选和排序的方法和装置 | |
CN101086744A (zh) | 商务信息搜索方法 | |
CN110096509A (zh) | 大数据环境下实现历史数据拉链表存储建模处理的系统及方法 | |
GB2522524A (en) | Extract, transform and load (ETL) system and method | |
CN112637305A (zh) | 一种基于缓存的数据存储与查询方法、装置、设备及介质 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
Othayoth et al. | The making of tpc-ds | |
Singh et al. | Easy designing steps of a local data warehouse for possible analytical data processing | |
Mondal et al. | Efficient indexing of top-k entities in systems of engagement with extensions for geo-tagged entities | |
CN115422205A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Powell | Oracle data warehouse tuning for 10g | |
US20070219962A1 (en) | Maintaining a History of Query Results | |
US11869051B2 (en) | Usage monitoring and usage based data pricing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |