CN113032400B - 海量数据的高性能TopN查询方法、***及介质 - Google Patents

海量数据的高性能TopN查询方法、***及介质 Download PDF

Info

Publication number
CN113032400B
CN113032400B CN202110349754.8A CN202110349754A CN113032400B CN 113032400 B CN113032400 B CN 113032400B CN 202110349754 A CN202110349754 A CN 202110349754A CN 113032400 B CN113032400 B CN 113032400B
Authority
CN
China
Prior art keywords
topn
data
data set
algorithm
module
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.)
Active
Application number
CN202110349754.8A
Other languages
English (en)
Other versions
CN113032400A (zh
Inventor
蔡晓华
杨光辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Netis Technologies Co ltd
Original Assignee
Shanghai Netis Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Netis Technologies Co ltd filed Critical Shanghai Netis Technologies Co ltd
Priority to CN202110349754.8A priority Critical patent/CN113032400B/zh
Publication of CN113032400A publication Critical patent/CN113032400A/zh
Application granted granted Critical
Publication of CN113032400B publication Critical patent/CN113032400B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种海量数据的高性能TopN查询方法、***及介质,包括:步骤1:判断TopN数据列是否有值索引,若有则执行步骤2,否则执行步骤3;步骤2:采用基于自身值索引的TopN算法,直接查询获取TopN数据集;步骤3:判断其余数据列是否有值索引,若有则执行步骤4,否则执行步骤5;步骤4:采用基于其余数据列值索引的TopN算法,间接查询获取TopN数据集;步骤5:采用任一种或任多种组合形式的非值索引的TopN算法查询获取TopN数据集。本发明通过采样和值索引,使得在TopN查询中数据值的访问量大幅下降。

Description

海量数据的高性能TopN查询方法、***及介质
技术领域
本发明涉及大数据处理技术领域,具体地,涉及一种海量数据的高性能TopN查询方法、***及介质。
背景技术
TopN算法在联机分析处理(OLAP)中有着非常普遍的应用,譬如查看最热销的一批商品,查看最活跃的一群用户,查看通信量最大的一批会话等等。这既是发现数据价值的一种重要手段,也是发现问题进行排障的一种重要手段。
就这类算法本身而言,已经有很多的研究,譬如各种大小堆算法,分组算法,或者MapReduce算法,分布式算法。但这类算法实际上会加载对应TopN指标的所有数据,即使是采用列存储,在大数据量场景下也会有明显的巨大的时间开销。譬如典型的广域网监控场景中,以分钟作为颗粒度进行网络流量数据统计,每分钟的通信会话对都在1000万以上,用户想排查最近30分钟内,数据量最大的Top50个通信会话对,那么如果packet_length表示数据量,将在1000万x30=3亿量级以会话标示(session_id)为维度,以packet_length为取值的<session_id,length>数据中,先对session_id做group by,再按packet_length在进行排序,取最大的前50。
从应用的角度来说,这类OLAP操作都作用在数据库或者分布式数据库上,TopN的含义也就是直接根据值做orderby然后取limitN;或者根据某些维度group by之后,再根据值做orderby,之后取limitN。除去水平扩展带来的并行能力提升,如何进一步利用数据库特性,加速这类TopN操作,是个有实际意义的难题。
专利文献CN105678590B(申请号:CN201610083749.6)公开了一种面向社交网络基于云模型的topN推荐方法,利用社交网络海量数据集收集被推荐用户信息,评分物品信息,推荐用户信息;从被推荐用户信息和推荐用户信息中提取用户属性、获得用户评分,由多维云逆向云发生器生成多维云;通过多维云相似度计算用户属性云相似度;由推荐用户和被推荐用户的评分生成评分云,合并所有评分云生成父云,在父云中生成新的评分;综合相似度和评分生成被推荐用户对新物品的兴趣度,取兴趣度高的前N个物品生成topN推荐集。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种海量数据的高性能TopN查询方法、***及介质。
根据本发明提供的海量数据的高性能TopN查询方法,包括:
步骤1:判断TopN数据列是否有值索引,若有则执行步骤2,否则执行步骤3;
步骤2:采用基于自身值索引的TopN算法,直接查询获取TopN数据集;
步骤3:判断其余数据列是否有值索引,若有则执行步骤4,否则执行步骤5;
步骤4:采用基于其余数据列值索引的TopN算法,间接查询获取TopN数据集;
步骤5:采用任一种或任多种组合形式的非值索引的TopN算法查询获取TopN数据集。
优选的,所述步骤2包括:
步骤2.1:以采样的方式在原始数据集合中获取采样数据集合;
步骤2.2:根据百分位算法或TopN算法,在采样数据集合上基于TopN数据列获取第一数据阈值;
步骤2.3:根据TopN数据列的值索引,以第一数据阈值为过滤条件对原始数据集合进行过滤,得到第一数据集;
步骤2.4:在第一数据集上应用TopN算法,得到TopN数据集。
优选的,所述步骤4包括:
步骤4.1:以采样的方式在原始数据集合中获取采样数据集合;
步骤4.2:根据百分位算法或TopN算法,在采样数据集合上基于具有值索引的数据列获得第二数据阈值;
步骤4.3:以第二数据阈值为过滤条件,利用该数据列的值索引,获得第二数据集;
步骤4.4:在第二数据集上应用TopN算法,得到TopN数据集。
优选的,采用随机采样法对原始数据集合进行采样,根据实际数据量,采样的比例为1/1000或1/10000,采样数据集的数据量比TopN数据集的数据量大4个数量级。
根据本发明提供的海量数据的高性能TopN查询***,包括:
模块M1:判断TopN数据列是否有值索引,若有则调用模块M2,否则调用模块M3;
模块M2:采用基于自身值索引的TopN算法,直接查询获取TopN数据集;
模块M3:判断其余数据列是否有值索引,若有则调用模块M4,否则调用模块M5;
模块M4:采用基于其余数据列值索引的TopN算法,间接查询获取TopN数据集;
模块M5:采用任一种或任多种组合形式的非值索引的TopN算法查询获取TopN数据集。
优选的,所述模块M2包括:
模块M2.1:以采样的方式在原始数据集合中获取采样数据集合;
模块M2.2:根据百分位算法或TopN算法,在采样数据集合上基于TopN数据列获取第一数据阈值;
模块M2.3:根据TopN数据列的值索引,以第一数据阈值为过滤条件对原始数据集合进行过滤,得到第一数据集;
模块M2.4:在第一数据集上应用TopN算法,得到TopN数据集。
优选的,所述模块M4包括:
模块M4.1:以采样的方式在原始数据集合中获取采样数据集合;
模块M4.2:根据百分位算法或TopN算法,在采样数据集合上基于具有值索引的数据列获得第二数据阈值;
模块M4.3:以第二数据阈值为过滤条件,利用该数据列的值索引,获得第二数据集;
模块M4.4:在第二数据集上应用TopN算法,得到TopN数据集。
优选的,采用随机采样法对原始数据集合进行采样,根据实际数据量,采样的比例为1/1000或1/10000,采样数据集的数据量比TopN数据集的数据量大4个数量级。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述的方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
(1)本发明通过采样设计和值索引设计,使得在TopN查询中,数据值的访问量大幅下降,一般下降2个数量级以上;而在海量数据场景下,TopN查询性能大幅提升;
(2)本发明聚焦在数据源数据量的减少上,因此,本发明可以和任何相关算法叠加,无论是排序算法、TopN算法、百分位算法,抑或是各种算法的分布式版本;
(3)本发明在基于数据库的OLAP***中,主要基于数据的函数和查询语句实现,具有很好的通用性和易用性,有着广泛的应用场景;
(4)本发明同样适用于非数据的OLAP***,只要满足采样性和有值索引即可,其中采样性是非常容易附加实现的,而值索引则容易通过附属KV索引(或者索引数据库)来附加实现,因此本发明具有很强的泛化性,有着广泛的应用场景。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明主流程图;
图2为基于自身的值索引的TopN算法流程图;
图3为基于其它列的值索引的TopN算法流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
本发明的核心思路是减少TopN算法过程中被访问数据的数据量,因此数据需要有值索引,然后根据一个计算得到阈值做大幅度的数据过滤。而计算阈值的过程同样需要减少被访问数据量,否则等于没减少TopN过程访问的数据量,因此计算阈值的过程需要使用采样的方法,从而大幅减少被访问的数据量。
根据上述思路,本发明有两个限制:
限制1:如果数据库原生不支持数据的值索引,或者不能通过扩展或者嵌入代码(或者算法)的方式支持值索引,那么本法将无效。但所幸的是,这种情况在现代的通用数据库(包括现代通用的分布式数据库)中极为罕见。
限制2:如果数据库原生不支持随机在表中取出数据,或者不能通过扩展或者嵌入代码(或者算法)的方式支持随机在表中取出数据,那么本法将无效。但所幸的是,这种情况在现代的通用数据库(包括现代通用的分布式数据库)中极为罕见。
因此,对于在现代的通用数据库(包括现代通用的分布式数据库),本发明是普遍适用的。
但TopN是针对某一个列的数据所做的,该列可能没有添加值索引,譬如对于大宽表场景,只会对常用的和重要的列做值索引,而不一定是所有列。因此,参考图1,本发明包括如下步骤:
步骤1:判断该列是否有值索引,也就是检查TopN数据那列是否有值索引;如果有,进入步骤2;否则进入步骤3。
步骤2:采用基于自身的值索引的TopN算法,直接查询获得TopN数据集。
步骤3:判断是否其它关键列有值索引,也就是检查数据中其它列是否有值索引;如果有,进入步骤4;否则进入步骤5。
步骤4:采用基于其它列的值索引的TopN算法,间接查询获得TopN数据集。
步骤5:蜕化执行传统的TopN算法,这种情况,查询过程将得不到有效的加速,但本发明是完整和鲁棒的。
其中,参考图2,步骤2基于自身的值索引的TopN算法,包括如下步骤:
步骤2.0:假设原始集合为A,要根据列X获得TopN数据,X有值索引。
步骤2.1:使用采样方法获得采样数据集合B。这里的采样包含但不限于随机采样,采样的比率可以根据实际情况来定,譬如从1/1000、1/10000、甚至更低的比率进行采样,从而使得数据量大幅减小。
为了确保数据的准确性,采样的数据量B要比TopN的N大1万倍,这样在步骤2.2选取特定阈值(一般还会下降100倍)后,还能留下比N大100倍以上的数据做最后的TopN。
对于一般数据库来说,这里的采样比不用特别刻意计算,可以采用经验值,譬如,对于亿级数据,从原始数据集规模下降3个数据量级之后,性能提升已经非常明显了。因此对于10亿级数据下降4个数量级,以此类推。本发明的代码实现过程,既可以硬编码,也可以采用自适应的方法,譬如包括但不限于查表,线性回归算法等。
步骤2.2:在B上基于X获得符合预期的数据阈值x_thre。B是比原始数据集A小3个数量集上的集合,在这个数据集合上按X列,可以采用但不限于高效的百分位算法(取99%)或者直接采用TopN算法,计算一个特定的数据阈值,不妨称之为x_thre。
由于数据量的大幅下降,这个计算过程是非常快速的。同时一般可以直接使用数据库函数实现,或者通过查询语句实现。
对于随机采样的场景,如果计算中使用的是百分位算法,那么x_thre近似于原始数据集A的相应百分位;取99%的话,相当于数据是原始数据A的1/100。如果计算中使用的是TopN算法,那么x_thre近似于原始数据的TopN'值,N'近似于N放大采样比率倒数倍。如果计算中采用其他方法,可以以上述方法类推。
如果数据取出后还需要按维度聚合,那么可以采用百分位算法,以保留更多的有数据;如果数据是直接使用,可以直接采用TopN算法。具体的算法选择要根据实际情况和性能目标做一些测试来选择,一旦选定后,不需要反复调整。
步骤2.3:以x_thre为过滤条件,利用X的值索引,获得数据集A'。这个过程使用过滤语句实现,譬如对于最大值Top使用大于过滤,对于最小值Top使用小于来进行过滤。
因为利用了值索引,所以是直接过滤出符合条件的数据集A',而不会访问不符合过滤条件的数据。数据量上,延续步骤2.2的讨论,如果采用百分位算法(取99%),那么数据量下降为原始的1/100;如果采用TopN算法,采样率为1/1000,则数据量巨幅下降为N的1000倍。因此数据访问时间都会大幅减少。
步骤2.4:在A'上,对于值X,应用TopN算法。对于一般数据来说,TopN的含义也就是直接根据X值做orderby然后取limitN;或者根据某些维度group by之后,再根据X值做order by,之后取limitN。
参考图3,步骤4基于其它列的值索引的TopN算法,包括如下步骤:
步骤4.0:假设原始集合为A,要根据列X获得TopN数据,X没有值索引,但列Y。
步骤4.1:使用采样方法获得采样数据集合B。同步骤2.1。
步骤4.2:在B上基于Y获得符合预期的数据阈值y_thre。除了按照Y列外,其它均同步骤2.2。
步骤4.3:以y_thre为过滤条件,利用Y的值索引,获得数据集A'。除了使用Y的值索引外,其它均同步骤2.3。
步骤4.4:在A'上,对于值X,应用TopN算法。同步步骤2.4。
显然,Y和X不见得有严格的对应关系,因此步骤4是一种近似算法。所以,应该采用两个实践来改进和提升效果:
(1)在步骤4.2中采用百分位算法,以方位较大数据量(但即使这样,也是原始数据量得1/100),防止TopN相关组成数据被过滤掉。
(2)Y应该是认为设定的表征***的关键属性。譬如,在监控场景中的数据量packet_length,因为特别大的数据量和特别小的数据量,往往是监控场景需要关注的“异常”情况。
实施例2:
实施例2是实施例1的优选例。
以Clickhouse数据库为例,假设有数据库db1,表table1,有以下若干列:time为时间,session_id为通信回话标示,packet_length为包长,建立了值索引,而packet_count为包数,未建值索引。
建表语句如下:
CREATE TABLE db1.table1
(
time DateTime,
session_id String,
packet_length UInt64,
packet_count UInt64,
INDEX l packet_length TYPE set(0)GRANULARITY 1
)
ENGINE=<Engine>
...
如果查询packet_length最大的50个通信对,参考步骤2,按如下实现:
步骤2.1:按1/1000采样:
SELECTpacket_length FROM db1.table1 SAMPLE 0.001
步骤2.2:取99%百分位数:
quantileTDigest(0.99)(packet_length)as x_thre
步骤2.3:以x_thre为过滤条件:
SELECT session_id,sum(packet_length)AS sum_length\
FROM db1.table1 WHEREpacket_length>x_thre
步骤2.4:在A'上,对于值X,应用TopN算法:
SELECT session_id,sum(packet_length)AS sum_length\
FROM db1.table1 WHEREpacket_length>x_thre\
GROUP BY session_id ORDER BY sum_length DESC LIMIT 50
汇总步骤2.1到2.4:
SELECT session_id,sum(packet_length)AS sum_length\
FROM db1.table1 WHEREpacket_length>
(SELECT quantileTDigest(0.99)(packet_length)\
FROM db1.table1 SAMPLE 0.001)\
GROUP BY session_id ORDER BY sum_length DESC LIMIT 50
如果是查询packet_count最大的50个通信对,参考步骤4,按如下实现:
步骤4.1,按1/1000采样:
SELECTpacket_length FROM db1.table1 SAMPLE 0.001
步骤4.2,取99%百分位数:
quantileTDigest(0.99)(packet_length)as y_thre
步骤4.3:以y_thre为过滤条件:
SELECT session_id,sum(packet_length)AS sum_length\
FROM db1.table1 WHEREpacket_length>y_thre
步骤4.4:在A'上,对于值X,应用TopN算法:
SELECT session_id,sum(packet_count)AS sum_count\
FROM db1.table1 WHEREpacket_length>y_thre\
GROUP BY session_id ORDER BY sum_count DESC LIMIT 50
汇总步骤4.1到4.4:
SELECT session_id,sum(packet_count)AS sum_count\
FROM db1.table1 WHEREpacket_length>
(SELECT quantileTDigest(0.99)(packet_length)\
FROM db1.table1 SAMPLE 0.001)\
GROUP BY session_id ORDER BY sum_count DESC LIMIT 50。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (5)

1.一种海量数据的高性能TopN查询方法,其特征在于,包括:
步骤1:判断TopN数据列是否有值索引,若有则执行步骤2,否则执行步骤3;
步骤2:采用基于自身值索引的TopN算法,直接查询获取TopN数据集;
步骤3:判断其余数据列是否有值索引,若有则执行步骤4,否则执行步骤5;
步骤4:采用基于其余数据列值索引的TopN算法,间接查询获取TopN数据集;
步骤5:采用任一种或任多种组合形式的非值索引的TopN算法查询获取TopN数据集;
所述步骤2包括:
步骤2.1:以采样的方式在原始数据集合中获取采样数据集合;
步骤2.2:根据百分位算法或TopN算法,在采样数据集合上基于TopN数据列获取第一数据阈值;
步骤2.3:根据TopN数据列的值索引,以第一数据阈值为过滤条件对原始数据集合进行过滤,得到第一数据集;
步骤2.4:在第一数据集上应用TopN算法,得到TopN数据集;
所述步骤4包括:
步骤4.1:以采样的方式在原始数据集合中获取采样数据集合;
步骤4.2:根据百分位算法或TopN算法,在采样数据集合上基于具有值索引的数据列获得第二数据阈值;
步骤4.3:以第二数据阈值为过滤条件,利用该数据列的值索引,获得第二数据集;
步骤4.4:在第二数据集上应用TopN算法,得到TopN数据集。
2.根据权利要求1所述的海量数据的高性能TopN查询方法,其特征在于,采用随机采样法对原始数据集合进行采样,根据实际数据量,采样的比例为1/1000或1/10000,采样数据集的数据量比TopN数据集的数据量大4个数量级。
3.一种海量数据的高性能TopN查询***,其特征在于,包括:
模块M1:判断TopN数据列是否有值索引,若有则调用模块M2,否则调用模块M3;
模块M2:采用基于自身值索引的TopN算法,直接查询获取TopN数据集;
模块M3:判断其余数据列是否有值索引,若有则调用模块M4,否则调用模块M5;
模块M4:采用基于其余数据列值索引的TopN算法,间接查询获取TopN数据集;
模块M5:采用任一种或任多种组合形式的非值索引的TopN算法查询获取TopN数据集;
所述模块M2包括:
模块M2.1:以采样的方式在原始数据集合中获取采样数据集合;
模块M2.2:根据百分位算法或TopN算法,在采样数据集合上基于TopN数据列获取第一数据阈值;
模块M2.3:根据TopN数据列的值索引,以第一数据阈值为过滤条件对原始数据集合进行过滤,得到第一数据集;
模块M2.4:在第一数据集上应用TopN算法,得到TopN数据集;
所述模块M4包括:
模块M4.1:以采样的方式在原始数据集合中获取采样数据集合;
模块M4.2:根据百分位算法或TopN算法,在采样数据集合上基于具有值索引的数据列获得第二数据阈值;
模块M4.3:以第二数据阈值为过滤条件,利用该数据列的值索引,获得第二数据集;
模块M4.4:在第二数据集上应用TopN算法,得到TopN数据集。
4.根据权利要求3所述的海量数据的高性能TopN查询***,其特征在于,采用随机采样法对原始数据集合进行采样,根据实际数据量,采样的比例为1/1000或1/10000,采样数据集的数据量比TopN数据集的数据量大4个数量级。
5.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1或2所述的方法的步骤。
CN202110349754.8A 2021-03-31 2021-03-31 海量数据的高性能TopN查询方法、***及介质 Active CN113032400B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110349754.8A CN113032400B (zh) 2021-03-31 2021-03-31 海量数据的高性能TopN查询方法、***及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110349754.8A CN113032400B (zh) 2021-03-31 2021-03-31 海量数据的高性能TopN查询方法、***及介质

Publications (2)

Publication Number Publication Date
CN113032400A CN113032400A (zh) 2021-06-25
CN113032400B true CN113032400B (zh) 2022-11-08

Family

ID=76453072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110349754.8A Active CN113032400B (zh) 2021-03-31 2021-03-31 海量数据的高性能TopN查询方法、***及介质

Country Status (1)

Country Link
CN (1) CN113032400B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745899A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing information of a database
CN103631910A (zh) * 2013-11-26 2014-03-12 烽火通信科技股份有限公司 一种分布式数据库多列复合查询的***及方法
CN107679133A (zh) * 2017-09-22 2018-02-09 电子科技大学 一种实用于海量实时pmu数据的挖掘方法
CN108182242A (zh) * 2017-12-28 2018-06-19 湖南大学 一种用于海量多维数值数据范围查询的索引方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8478775B2 (en) * 2008-10-05 2013-07-02 Microsoft Corporation Efficient large-scale filtering and/or sorting for querying of column based data encoded structures
CN102799681B (zh) * 2012-07-24 2014-11-12 河海大学 一种面向任意段数据的Top-k查询方法
CN104111936B (zh) * 2013-04-18 2017-12-05 阿里巴巴集团控股有限公司 数据查询方法和***
US10409817B1 (en) * 2016-03-25 2019-09-10 Emc Corporation Database system and methods for domain-tailored detection of outliers, patterns, and events in data streams
AU2017243870B2 (en) * 2016-03-31 2022-04-07 WiseTech Global (Licensing) Pty Ltd "Methods and systems for database optimisation"
CN111159175B (zh) * 2019-11-26 2023-10-03 南京航空航天大学 基于索引的非完整数据库Skyline查询方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745899A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing information of a database
CN103631910A (zh) * 2013-11-26 2014-03-12 烽火通信科技股份有限公司 一种分布式数据库多列复合查询的***及方法
CN107679133A (zh) * 2017-09-22 2018-02-09 电子科技大学 一种实用于海量实时pmu数据的挖掘方法
CN108182242A (zh) * 2017-12-28 2018-06-19 湖南大学 一种用于海量多维数值数据范围查询的索引方法

Also Published As

Publication number Publication date
CN113032400A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
US9298775B2 (en) Changing the compression level of query plans
US10380269B2 (en) Sideways information passing
CN108376143B (zh) 一种新型的olap预计算***及生成预计算结果的方法
US11003649B2 (en) Index establishment method and device
US8583655B2 (en) Using an inverted index to produce an answer to a query
CN108846016A (zh) 一种面向中文分词的搜索算法
CN110928882B (zh) 一种基于改进红黑树的内存数据库索引方法及***
CN107451204B (zh) 一种数据查询方法、装置及设备
CN117033424A (zh) 慢sql语句的查询优化方法、装置和计算机设备
CN105302915A (zh) 基于内存计算的高性能数据处理***
CN110874366B (zh) 数据处理、查询方法和装置
CN109117426A (zh) 分布式数据库查询方法、装置、设备及存储介质
CN110704472A (zh) 数据查询统计方法及装置
CN112527836B (zh) 一种基于t-box平台的大数据查询方法
CN113032400B (zh) 海量数据的高性能TopN查询方法、***及介质
US11709798B2 (en) Hash suppression
US10657126B2 (en) Meta-join and meta-group-by indexes for big data
US9378229B1 (en) Index selection based on a compressed workload
Slavov et al. Fast processing of SPARQL queries on RDF quadruples
US9753963B2 (en) System and method for determining an index of an object in a sequence of objects
CN114372071A (zh) 一种表数据删除方法、装置、计算机设备及存储介质
CN113220719A (zh) 一种海量维度数据关联查询优化方法及***
Lou et al. Research on data query optimization based on SparkSQL and MongoDB
CN108304499B (zh) 一种sql连接操作中谓词下推的方法、终端及介质
CN114730310A (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
GR01 Patent grant
GR01 Patent grant