CN112204541A - 对分区计算机数据库数据进行聚合的方法、装置和系统 - Google Patents
对分区计算机数据库数据进行聚合的方法、装置和系统 Download PDFInfo
- Publication number
- CN112204541A CN112204541A CN201980030556.6A CN201980030556A CN112204541A CN 112204541 A CN112204541 A CN 112204541A CN 201980030556 A CN201980030556 A CN 201980030556A CN 112204541 A CN112204541 A CN 112204541A
- Authority
- CN
- China
- Prior art keywords
- sub
- queries
- nodes
- data
- query
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了方法、装置、系统和制品。一种示例分区计算机数据库系统包括:多个节点;数据引导器,所述数据引导器将数据库数据的多个部分跨所述多个节点分布;查询器,所述查询器与所述多个节点中的相应节点相关联,所述查询器执行所述数据库数据的相应部分的相应子查询;以及协调器,所述协调器接收对所述数据库数据进行查询的请求,并且合并所述多个子查询的结果,以形成对所述请求的响应。
Description
技术领域
本公开总体上涉及数据库,并且更具体地,涉及对分区计算机数据库数据进行聚合的方法、装置和系统。
背景技术
数据驱动的安全性将大数据分析应用于安全数据流。通过收集来自分布在大规模客户端系统中的大量机器的数据,可以生成安全数据流。
附图说明
图1例示了根据本公开的教导的示例系统,在该示例系统中,可以可扩展地聚合分区数据库数据。
图2是图1的示例系统的示例控制面板(dashboard)。
图3是例示图1的示例集群和示例节点的示例实现方式的框图。
图4是表示用于实现图1的示例节点和/或更一般地示例集群的示例硬件逻辑或机器可读指令的流程图。
图5例示了被构造成执行图4的示例机器可读指令以实现图1的示例节点和/或更一般地示例集群的示例处理器平台。
当有益时,将在附图和随附的说明书中使用相同的附图标记来指代相同或相似的部分。在所呈现的各个附图中示出的连接线或连接件旨在表示各个元件之间的示例功能关系和/或物理或逻辑联接。
具体实施方式
在计算机安全信息和事件管理(SIEM)领域,安全运营中心分析人员需要能够交互地控制数据流聚合,并进行过滤以识别否则可能无法观察到的数据流性质。然而,随着客户端部署扩大到云规模,安全数据流变得非常大(例如,数亿个事件)以使得单个数据库节点不再能够处理流的提取(ingestion)和聚合(aggregation)。因此,本文公开了扩展到超出单个节点的现有限制的系统、方法和装置。本文公开的一些示例在流数据被接收和提取时(即,基本上实时),通过跨多个节点对流数据进行分区(例如,散布、分布)来扩展流数据提取。
在已知的大型系统中,在不进行数据重新置乱(例如,聚合、组合等)的情况下,以这种方式跨多个节点分区的数据无法被连接(join)。例如,给定两个表R和S,R JOINS是R和S中具有共同属性名称的元组的所有组合的集合。考虑作为字段K的子集的示例共同属性。为了计算R JOIN S,数据库系统必须获取R中的各行r并找到S中的所有元组s,其中r.k=s.k。为了在分布有R和S两者的分布式系统中进行这种计算,集群中的各个物理节点必须将数据从S或R任一者提供至其它节点,然后所述其它节点才能进行局部合并。R与P(S)之间的局部合并是将R中的各个r与P(S)中的所有行进行比较,以确保针对JOIN确定总笛卡尔积。在节点之间提供数据称为重新置乱(re-shuffling),并且使得在已知分布式系统上实时JOIN是不可行的。相反,根据本公开的教导,可以在不进行重新置乱的情况下,跨多个节点实时地对分区数据进行可扩展过滤、连接和聚合。当前可用的、昂贵的且复杂的系统仅能够处理约一百万个事件每秒(EPS)。与之形成鲜明对比,本公开的教导已被用于实现能够超过两百万EPS的系统。由于在SIEM领域中EPS是重要基准,因此EPS的2倍提高代表着SIEM的数据库系统、装置和方法的显著改进。这种改进允许SIEM分析人员能够更快地检测安全事件并做出响应,以减少他们正在监测的计算机系统中的安全事件,从而减少例如数据丢失、数据失窃、计算机系统不可用等的可能性。
现在将详细参照非限制性示例,其中的一些示例在附图中例示。
图1例示了示例分区数据库系统100,其中,可以跨节点104A、104B、104C、……、104N的集群103实时地对数据库数据102(例如,SIEM系统的安全事件数据)进行可扩展分区。示例节点104A至104N是具有用于存储数据库数据的一个或更多个非暂时性存储设备或存储盘的计算机系统(例如,服务器、工作站等)。数据库数据102被分区成数据库数据102的被存储在节点104A至104N上的部分106A、106B、106C、……、106N。根据本公开的教导,被存储在部分106A至106N中的数据库数据102可以随后被实时地聚合(例如,组合、合并等)。在一些示例中,部分106A至106N被存储在不同节点104A至104N上。另外地和/或另选地,一个部分106A至106N可以被存储在多个节点104A至104N上以提供冗余,多个部分106A至106N可以被存储在一个节点104A至104N上,等等。
为了将数据库数据102分区成部分106A至106N,图1的示例系统100包括示例数据引导器(data director)108。当数据库数据102被实时接收时,示例数据引导器108根据例如不依赖于数据内容的模式来将数据库数据102引导(例如,分布、散布等)至部分106A至106N。示例模式包括随机分布、旋转分布、轮询(round robin)分布等。在一些示例中,相同的数据被存储在多个部分106A至106N中。因为数据库数据102的分布可以跨节点104A至104N均匀地(例如,基本上均匀地)散布数据库数据102,所以可以避免瓶颈,并且可以以高速率(例如,超过两百万EPS)对数据库数据102进行分区。
在图1的所示示例中,数据库数据102被分割成维度(dimension)和事实(fact)。事实包含对一个或更多个维度的引用(例如,键、指针等)。在图1的示例中,维度被存储在维度表110中,该维度表在各个节点104A至104N上复制。示例维度包括用于触发警报(alert)的规则、规则的描述或性质等。
在图1的所示示例中,部分106A至106N将数据库数据存储在包含示例事实F1、F2、……、FN的事实表中(其中之一在附图标记112处指明)。示例事实F1-FN被存储在事实表112的单独行中(例如,水平排列、水平分区等)。其它部分106A至106M同样在事实表的行中存储相同或不同事实。在一些示例中,事实表112的行的子集由分片(shard)存储,该分片是存储有相同数据的节点104A至104N的集合。
可以使用任何数量和/或类型的数据结构来将示例部分106A至106N、示例事实表112和示例维度表110存储在任何数量和/或类型的计算机可读存储设备和/或磁盘上。
为了对数据库数据102进行查询,图1的示例节点104A包括示例查询器114。针对对数据库数据102进行查询的各个请求116,示例查询器114中的一者(例如,与节点104A相关联的查询器114)是请求116的协调器。可以被包括在请求116中的示例SQL查询是:
SELECT D.Msg,AVG(F.s)As Average
FROM Alert As F INNER JOIN Rule As D ON(F.DSIDSigID=D.ID)
WHERE D.class=<filter>
GROUP BY D.Msg
在所示示例中,节点104A的充当协调器的查询器114形成(例如,限定、生成等)子查询120B、120C、……、120N,以由相应节点104B至104N的查询器114执行。在一些示例中,协调器形成要由协调器(即,节点104A的查询器114)执行的子查询120A。示例协调器形成针对各个节点104A至104N的子查询120A至120N(可以是相同的),所述各个节点104A至104N存储与请求116有关的数据库数据的部分106A至106N。示例SQL子查询120A至120N是:
SELECT D.Msg,SUM(F.s)As Sum,COUNT(F.s)As Count
FROM Alert As F INNER JOIN Rule As D ON(F.DSIDSigID=D.ID)
WHERE D.class=<filter>
GROUP BY D.Msg
上面示出的查询是可以被执行以填充图2的示例控制面板130的查询的例示性示例。在这些示例中,表Alert是需要与Rule(其为维度表)连接的F(可分区)表(其为事实表)。示例查询116的结果是每种类型的消息(D.Msg)的平均量(F.s)。查询116是被发送至数据库协调器118的高级查询。示例子查询120A至120N表示在最终聚合之前由各个节点104A至104N进行的中间计算。示例查询器114执行其子查询120A至120N,并将包含其子查询120A至120N的结果的响应122A、122B、122C、……、122N返回至协调器。因为数据库数据102被分成水平分区的事实表和维度表,所以数据库数据102不需要被重新置乱(例如,在节点104A至104N之间移动)以进行子查询120A至120N。通过消除重新置乱,子查询120A至120N是可线性扩展的,因此,可以实时进行整个查询请求116。此外,在对数据库数据102进行分区之后,可以改变数据的聚合。
图1的示例协调器组合子查询120A至120N的结果,以形成对请求116的响应124,该响应124包含请求116中包含的查询的结果。假定子查询120A至120N的结果已被组合成MapResults,则可以由协调器执行以减少子查询120A至120N的结果(例如,移除冗余条目)的示例SQL命令是:
SELECT Msg,SUM(Count)/SUM(sum)As Average
FROM MapResults
GROUP BY Msg
示例API 132向指定的协调器118(例如,查询器114中的一者)发送查询116。协调器118进行三个动作:(1)确定哪些节点需要参与查询116的解决;(2)创建在各个参与节点104A至104N上要在本地计算的子查询120A至120N(可以是相同的);以及(3)将各个结果122A至122N合并成单个结果集。例如,通过观察由示例查询116的WHERE条件产生的分片键值(sharding key value)来完成参与节点的确定。如果未提供分片键作为WHERE条件的一部分,则每个分片的一个副本参与查询116(例如,所有分片都参与)。如果提供分片键值的集合作为WHERE条件的一部分,则使用哪些分片管理这些键值的知识来确定将向哪些分片发送各个子查询120A至120N。子查询120A至120N的创建包括聚合函数的转换,并且,如果存在分片键值,则包括根据由各个分片管理的数据的、按节点104A至104N分开的过滤准则。通过例如将一个高级聚合函数(例如,来自示例AVG(s))映射到要在子查询120A至120N中计算的一个或更多个低级聚合函数(例如,所示示例中的COUNT(F.s)和SUM(F.s))来实现该转换。针对由各个分片管理的数据范围插入过滤条件(如果存在)(上面示出的示例子查询120A至120N不使用分片键)。在本文公开的示例中,不需要已知的分布式JOIN操作中固有的数据置乱,至少是因为事实(例如,警报)被分区并且维度(例如,规则)被复制。这消除了通过网络提供事实或维度以确保可以在JOIN操作期间考虑事实和维度的所有组合的需要。
在一些示例中,协调器识别是否任何节点104B至104N未能响应子查询120B至120N。如果/当节点104B至104N未能做出响应时,协调器将移交提示存储在受影响的节点104B至104N上的提示目录134中,以供集群管理过程进行处置。
在图1的所示示例中,用户(例如,SIEM安全运营中心分析员)使用在例如示例客户端设备128上执行的示例客户端应用126来与集群103进行交互。例如,图1的示例客户端应用126可以被用于生成和发送请求116,并处理响应122中接收到的针对那些请求116的查询结果,以对示例控制面板130的内容进行填充、更新等。图2中示出了示例控制面板130。图2的示例控制面板130包括描绘与已接收的不同事件类型相关联的安全相关事件的数量的示例图表202、示出安全相关事件接收的时间分布的示例图表204,等等。示例客户端应用126通过这样的方式来维护控制面板130:发送查询请求116,以收集更新和维护控制面板130中所示的图表202、204所需的数据库数据102。图5的示例处理器平台500可以被用于实现示例客户端设备128。
为了使客户端应用126能够与节点104A至104N进行通信,图1的示例客户端应用126包括示例应用编程接口(API)132。图1的示例API 132使客户端应用126能够使用SQL操作与集群103进行通信,这些SQL操作被转换为例如由节点104A至104N实现的基于ApacheThrift的接口。另外,API 132应用一种或更多种策略来为请求116选择协调器。例如,API132可以知道由节点104A至104N形成的集群103的拓扑,并且根据所请求的数据库数据来将请求116路由至最接近的节点104A至104N。
尽管图1例示了实现分区数据库系统100的示例方式,但是图1所示的元件、过程和/或设备中的一者或更多者可以被组合、划分、重新布置、省略、消除和/或以任何其它方式实现。此外,图1的示例节点104A至104N、示例部分106A至106N、示例数据引导器108、示例维度表110、示例事实表112、示例查询器114、示例协调器、示例客户端应用126、示例API132和/或更一般地示例系统100可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例节点104A至104N、示例部分106A至106N、示例数据引导器108、示例维度表110、示例事实表112、示例查询器114、示例协调器、示例客户端应用126、示例API 132和/或更一般地示例系统100中的任一者可以由一个或更多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)来实现。当阅读本专利的涵盖纯软件和/或固件实现方式的任何装置或系统权利要求时,示例节点104A至104N、示例部分106A至106N、示例数据引导器108、示例维度表110、示例事实表112、示例查询器114、示例协调器、示例客户端应用126、示例API 132和示例系统100中的至少一者据此被明确规定成包括非暂时性计算机可读存储设备或存储盘(诸如,存储器、数字通用盘(DVD)、光盘(CD)、蓝光盘等),该非暂时性计算机可读存储设备或存储盘包括软件和/或固件。更进一步地,图1的示例系统100可以包括除了图1所示之外的或代替图1所示的一个或更多个元件、过程和/或设备,和/或可以包括任何或所有所示元件、过程和设备中的不止一个。如本文所使用的,短语“在通信上”(包括其变型)涵盖直接通信和/或通过一个或更多个中间部件的间接通信,并且不需要直接的物理(例如,有线)通信和/或恒定的通信,而是另外包括定期间隔、计划间隔、非周期性间隔和/或一次性事件的选择性通信。
图3是例示图1的示例集群103和示例节点104A至104N的示例实现方式的框图。为了提供到示例节点104A至104N的接口,图3的示例节点104A至104N包括示例相应示例服务接口模块302A、302B、302C、……、302N。图3的示例服务接口模块302A至302N形成集群103的分布式服务接口层302,该分布式服务接口层302为客户端应用126提供了对部分106A至106N进行查询的公共接口。图3的示例分布式服务层302使得客户端应用126能够对集群103进行查询,就好像集群103是单个数据库节点一样。例如,客户端应用126可以发送单个查询请求116,该单个查询请求116被分解成子查询120A至120N,以由节点104A至104N执行,而不需要客户端应用126知道数据库数据102如何被分区。为了对部分106A至106N进行查询,示例服务接口模块302A至302N包括相应示例查询器114。
在图3的所示示例中,分布式服务层302维护与节点104A至104N的当前处理负荷有关的信息以及节点104A至104N之间就经历的时延而言的距离(可能与网络拓扑不一致)、识别哪些节点104B至104N在工作、解析查询请求116以识别哪些节点104B至104N应该接收各个子查询120B至120N,并且在将查询结果发送至客户端应用126之前合并结果。
为了对数据持久性进行管理,图3的示例节点104A至104N包括相应的示例数据管理模块304A、304B、304C、……、304N。图3的示例数据管理模块304A至304N形成集群103的数据管理层304。图3的示例数据管理层304针对被存储在部分106A至106N中的数据库数据102维护持久系统状态信息,并且对部分106A至106N进行任何必要的持久改变。
为了对集群103进行管理,图3的示例节点104A至104N包括相应的示例集群管理模块306A、306B、306C、……、306N。图3的示例集群管理模块306A至306N形成集群103的集群管理层306。图3的示例集群管理层306例如通过以下方式确保集群103的长期一致性:针对内部一致性对部分106A至106N(例如,事实表112)和维度表110进行检查,在识别出不一致时运行数据修复过程,允许将空节点引入到集群103中,允许节点离开集群103(例如,退役)、跨分片重新平衡数据、允许重新引入已位于集群外一段时间的节点,等等。
虽然图3例示了实现图1的示例集群103和示例节点104A至104N的示例方式,但图3所示的元件、过程和/或设备中的一者或更多者可以组合、划分、重新布置、省略、消除和/或以任何其它方式实现。此外,图3的示例服务接口模块302A至302N、示例服务接口层302、示例数据管理模块304A至304N、示例数据管理层304、示例集群管理模块306A至306N、示例集群管理层306和/或更一般地示例节点104A至104N和示例集群103可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,图3的示例服务接口模块302A至302N、示例服务接口层302、示例数据管理模块304A至304N、示例数据管理层304、示例集群管理模块306A至306N、示例集群管理层306和/或更一般地示例节点104A至104N和示例集群103中的任一者可以由一个或更多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、GPU、DSP、ASIC、PLD和/或FPLD来实现。当阅读本专利的涵盖纯软件和/或固件实现方式的任何装置或系统权利要求时,图3的示例服务接口模块302A至302N、示例服务接口层302、示例数据管理模块304A至304N、示例数据管理层304、示例集群管理模块306A至306N、示例集群管理层306、示例节点104A至104N和示例集群103中的至少一者据此被明确规定成包括非暂时性计算机可读存储设备或存储盘(诸如,存储器、DVD、CD、蓝光盘等),该非暂时性计算机可读存储设备或存储盘包括软件和/或固件。更进一步地,图1的示例节点104A至104N和示例集群103可以包括除了图3所示的之外或代替图3所示的一个或更多个元件、过程和/或设备,和/或可以包括任何或所有所示元件、过程和设备中的不止一个。
图4示出了表示用于实现图1和图3的示例节点104A至104N和/或更一般地示例集群130的示例硬件逻辑或机器可读指令的流程图。机器可读指令可以是由诸如下面结合图5讨论的示例处理器平台500中示出的处理器510的处理器执行的程序或程序的一部分。程序可以体现在被存储在非暂时性计算机可读存储介质(诸如,光盘只读存储器(CD-ROM)、软盘、硬盘驱动器、DVD、蓝光盘或与处理器510相关联的存储器)上的软件中,但整个程序和/或其部分可以另选地由处理器510以外的设备执行和/或体现在固件或专用硬件中。此外,尽管参照图4例示的流程图描述了示例程序,但可以另选地使用实现示例集群103和示例节点104A至104N的许多其它方法。例如,可以改变框的执行顺序,和/或可以改变、消除或组合所描述的框中的一些框。另外地和/或另选地,可以通过一个或更多个被构造成无需执行软件或固件即可进行对应操作的硬件电路(例如,分立和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现任何或所有框。
如上所述,可以使用被存储在非暂时性计算机和/或机器可读介质(诸如,硬盘驱动器、闪存存储器、只读存储器、CD-ROM、DVD、缓存、随机存取存储器和/或信息存储达任何持续时间(例如,延长的时段、永久地、简短的实例、临时缓冲和/或用于缓存信息)的任何其它存储设备或存储盘)上的可执行指令(例如,计算机和/或机器可读指令)来实现图4的示例过程。如本文所使用的,术语非暂时性计算机可读介质被明确规定成包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号以及排除传输介质。
“包括”和“包含”(及其所有形式和时态)在本文中用作开放式用语。因此,每当权利要求采用任何形式的“包括”或“包含”(例如,包含(comprises)、包括(includes)、包含(comprising)、包括(including)、具有等)作为前置词或用于任何类型的权利要求陈述中时,应当理解,在不落在对应权利要求或陈述的范围之外的情况下,可以存在附加要素、用语等。如本文所使用的,当短语“至少”用作例如权利要求的前序部分中的过渡用语时,其以与用语“包含”和“包括”是开放式相同的方式而是开放式的。当例如以诸如A、B和/或C的形式使用时,用语“和/或”是指A、B、C的任何组合或子集,例如,(1)仅A、(2)仅B、(3)仅C、(4)A与B、(5)A与C以及(6)B与C。
图4的程序在框402处开始,在框402,集群103等待从客户端应用126接收查询请求116。当在节点104A至104N中的充当查询请求116的协调器的第一节点处接收到查询请求116时(框402),协调器识别受查询请求116影响的节点104A至104N(框404)。协调器将查询请求116分解成子查询120A至120N(框406),并向识别出的节点104A至104N发送子查询120A至120N(框408)。
协调器等待从识别出的节点104A至104N接收子查询120A至120N的结果122A至122N(框410)。当已经接收到结果122A至122N时(框410),协调器组合结果(框412)并且减少结果以例如移除冗余数据(框414)。协调器向客户端应用126发送具有结果的响应124(框416),并且控制从图4的示例程序退出。
返回至框410,当并非所有子查询结果122A至122N都已接收到时(框410),协调器确定是否已经发生超时(框418)。如果尚未发生超时(框418),则协调器继续等待子查询结果122A至122N(框410)。如果发生超时(框418),则协调器针对尚未从其接收到子查询结果122A至122N的节点104A至104N存储提示移交(hintedhandoff)通知(框420),并且控制进行至框412,以组合接收到的子查询结果122A至122N。
图5是被构造成执行图4的指令以实现图1和图3的集群103和节点104A至104N的示例处理器平台500的框图。例如,处理器平台500可以是服务器、个人计算机、工作站或任何其它类型的计算设备。
所示示例的处理器平台500包括处理器510。所示示例的处理器510是硬件。例如,处理器510可以由来自任何期望系列或制造商的一个或更多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器来实现。硬件处理器可以是基于半导体的(例如,基于硅的)器件。在该示例中,处理器实现示例查询器114、示例协调器、示例服务接口模块302A至302N、示例数据管理模块304A至304N、示例集群管理模块306A至306N、示例数据引导器108、示例客户端应用126、示例API 132。
所示示例的处理器510包括本地存储器512(例如,缓存)。所示示例的处理器510经由总线518与包括易失性存储器514和非易失性存储器516的主存储器进行通信。易失性存储器514可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、动态随机存取存储器和/或任何其它类型的随机存取存储器设备来实现。非易失性存储器516可以由闪存存储器和/或任何其它期望类型的存储器设备来实现。对主存储器514、516的访问由存储器控制器来控制。
所示示例的处理器平台500还包括接口电路520。接口电路520可以通过任何类型的接口标准(诸如,以太网接口、通用串行总线(USB)、接口、近场通信(NFC)接口和/或PCI express接口)来实现。
在所示示例中,一个或更多个输入设备522连接至接口电路520。输入设备522允许用户将数据和/或命令输入到处理器510中。例如,输入设备可以通过音频传感器、麦克风、摄像头(静态或视频)、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、isopoint和/或语音识别系统来实现。
一个或更多个输出设备524也连接至所示示例的接口电路520。输出设备524可以例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、原位切换(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器来实现。因此,所示示例的接口电路520通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。示例控制面板130可以显示在输出设备524上。
所示示例的接口电路520还包括通信设备(诸如,发送器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口),以促进经由网络526与外部机器(例如,任何种类的计算设备)交换数据。通信可以经由例如以太网连接、数字订户线(DSL)连接、电话线连接、同轴电缆系统、卫星系统、直线对传(line-of-site)无线系统、蜂窝电话系统等。在Wi-Fi系统的某些示例中,接口电路520包括射频(RF)模块、天线、放大器、滤波器、调制器等。
所示示例的处理器平台500还包括一个或更多个用于存储软件和/或数据的大容量存储设备528。这样的大容量存储设备528的示例包括软盘驱动器、硬盘驱动器、CD驱动器、蓝光盘驱动器、独立磁盘冗余阵列(RAID)系统和DVD驱动器。在所示示例中,示例部分106A至106N、示例事实表112和示例维度表110被存储在大容量存储设备528上。
包括图4的编码指令的编码指令532可以被存储在大容量存储设备528、易失性存储器514、非易失性存储器516中和/或可移除非暂时性计算机可读存储介质(诸如,CD-ROM或DVD)上。
根据前述内容,将理解,已经公开了对分区数据库数据进行聚合的示例系统、方法、装置和制品。根据前述内容,将理解,已经公开了通过能够对分区数据库数据进行聚合而使计算机工作更加有效的方法、装置和制品。因此,通过使用本公开的教导,计算机可以通过能够以当前不可行的速率实时处理数据库数据来更有效地工作。
本文公开了对分区数据库数据进行聚合的示例方法、系统、装置和制品。另外的示例及其组合至少包括以下内容。
示例1是一种分区数据库系统,所述分区数据库系统包括:
多个节点;
数据引导器,所述数据引导器将数据库数据的多个部分跨所述多个节点分布,所述多个部分根据不基于数据内容的模式来分布;
查询器,所述查询器与所述多个节点中的相应节点相关联,所述查询器执行所述数据库数据的相应部分的相应子查询;以及
协调器,所述协调器:
接收对所述数据库数据进行查询的请求;并且
合并所述多个子查询的结果,以形成对所述请求的响应。
示例2是示例1的分区数据库系统,其中,所述节点中的至少一些节点将其相应的所述数据库数据的部分存储在水平排列的事实表中。
示例3是示例1至2中任一项的分区数据库系统,其中,所述模式是旋转模式和随机模式中的至少一种。
示例4是示例1至3中任一项的分区数据库系统,其中,所述查询器实现分布式接口,所述分布式接口对与所述节点相关联的存储设备的拓扑以及所述分区数据库系统的实时状态进行监测。
示例5是示例1至4中任一项的分区数据库系统,其中,所述查询器中的第一查询器在不置乱所述数据库数据的所述相应部分的情况下进行所述相应子查询。
示例6是示例1至5中任一项的分区数据库系统,其中,所述子查询中的第一子查询是可线性扩展的查询。
示例7是示例1至6中任一项的分区数据库系统,其中,所述协调器是所述查询器中的第一查询器,并且所述协调器:
基于所述请求来形成所述子查询;并且
向所述查询器中的其它查询器发送所述子查询。
示例8是示例7的分区数据库系统,其中,所述查询器中的所述第一查询器分解所述请求,以形成所述子查询。
示例9是示例1至8中任一项的分区数据库系统,其中,所述请求是从客户端应用接收的。
示例10是一种方法,所述方法包括:
将数据库数据的相应部分跨多个节点分布;
通过利用至少一个处理器执行指令来分解对所述数据库数据进行查询的请求,以形成所述数据库数据的相应部分的多个子查询;
在所述节点中的相应节点上执行所述子查询;以及
通过利用至少一个处理器执行指令来组合所述多个子查询的结果,以形成对所述请求的响应。
示例11是示例10的方法,其中,分布所述数据库数据是根据旋转模式和随机模式中的至少一种。
示例12是示例10至11中任一项的方法,其中,所述子查询中的第一子查询不置乱所述数据库数据的所述相应部分。
示例13是示例10至11中任一项的方法,其中,所述多个子查询中的第一子查询是可线性扩展的。
示例14是根据示例10至13中任一项的方法,其中,接收所述查询请求并分解所述查询请求以形成所述多个子查询是在所述多个节点中的第一节点上进行的,所述第一节点:
向所述多个节点中的相应节点发送所述子查询;
从所述节点中的所述相应节点接收所述子查询的所述结果;并且
组合所述结果,以形成所述响应。
示例15是示例14的方法,其中,组合所述结果包括合并和减少所述子查询的所述结果。
示例16是一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,在执行所述指令时,所述指令使机器至少:
分解对数据库数据进行查询的请求,以形成所述数据库数据的相应部分的多个子查询,所述数据库数据的所述部分分布在分区数据库系统的相应节点上;
向相应节点发送所述子查询,以在所述数据库数据的相应部分上执行;以及
组合所述多个子查询的结果,以形成对所述请求的响应。
示例17是示例16的非暂时性计算机可读存储介质,其中,所述子查询中的第一子查询是可线性扩展的。
示例18是示例16至17中任一项的非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括另外的指令,在执行所述另外的指令时,所述另外的指令使所述机器通过合并和减少所述子查询的所述结果来组合所述结果。
示例19是示例16至18中任一项的非暂时性计算机可读存储介质,其中,所述子查询中的第一子查询不置乱所述数据库数据的所述相应部分。
示例20是示例16至19中任一项的非暂时性计算机可读存储介质,其中所述数据库数据的分布模式不依赖于数据内容。
尽管本文已经公开了特定示例方法、装置和制品,但是本专利的覆盖范围不限于此。相反,本专利涵盖了完全落入本专利权利要求范围内的所有方法、装置和制品。
Claims (20)
1.一种分区数据库系统,所述分区数据库系统包括:
多个节点;
数据引导器,所述数据引导器将数据库数据的多个部分跨所述多个节点分布,所述多个部分根据不基于数据内容的模式来分布;
查询器,所述查询器与所述多个节点中的相应节点相关联,所述查询器执行所述数据库数据的相应部分的相应子查询;以及
协调器,所述协调器:
接收对所述数据库数据进行查询的请求;并且
合并所述多个子查询的结果,以形成对所述请求的响应。
2.根据权利要求1所述的分区数据库系统,其中,所述节点中的至少一些节点将所述数据库数据的与所述至少一些结点相应的部分存储在水平排列的事实表中。
3.根据权利要求1所述的分区数据库系统,其中,所述模式是旋转模式和随机模式中的至少一种。
4.根据权利要求1所述的分区数据库系统,其中,所述查询器实现分布式接口,所述分布式接口对与所述节点相关联的存储设备的拓扑以及所述分区数据库系统的实时状态进行监测。
5.根据权利要求1所述的分区数据库系统,其中,所述查询器中的第一查询器在不置乱所述数据库数据的所述相应部分的情况下进行所述相应子查询。
6.根据权利要求1所述的分区数据库系统,其中,所述子查询中的第一子查询是可线性扩展的查询。
7.根据权利要求1所述的分区数据库系统,其中,所述协调器是所述查询器中的第一查询器,并且所述协调器:
基于所述请求来形成所述子查询;并且
向所述查询器中的其它查询器发送所述子查询。
8.根据权利要求7所述的分区数据库系统,其中,所述查询器中的所述第一查询器分解所述请求,以形成所述子查询。
9.根据权利要求1所述的分区数据库系统,其中,所述请求是从客户端应用接收的。
10.一种方法,所述方法包括以下步骤:
将数据库数据的相应部分跨多个节点分布;
通过利用至少一个处理器执行指令来分解对所述数据库数据进行查询的请求,以形成所述数据库数据的相应部分的多个子查询;
在所述节点中的相应节点上执行所述子查询;以及
通过利用至少一个处理器执行指令来组合所述多个子查询的结果,以形成对所述请求的响应。
11.根据权利要求10所述的方法,其中,分布所述数据库数据的步骤是根据旋转模式和随机模式中的至少一种进行的。
12.根据权利要求10所述的方法,其中,所述多个子查询中的第一子查询不置乱所述数据库数据的所述相应部分。
13.根据权利要求10所述的方法,其中,所述多个子查询中的第一子查询是可线性扩展的。
14.根据权利要求10所述的方法,其中,接收所述查询请求并分解所述查询请求以形成所述多个子查询的步骤是在所述多个节点中的第一节点上进行的,所述第一节点:
向所述多个节点中的相应节点发送所述子查询;
从所述节点中的所述相应节点接收所述子查询的所述结果;并且
组合所述结果,以形成所述响应。
15.根据权利要求10所述的方法,其中,组合所述结果的步骤包括合并和减少所述子查询的所述结果。
16.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括指令,在执行所述指令时,所述指令使机器至少:
分解对数据库数据进行查询的请求,以形成所述数据库数据的相应部分的多个子查询,所述数据库数据的所述部分分布在分区数据库系统的相应节点上;
向相应节点发送所述子查询,以在所述数据库数据的相应部分上执行;以及
组合所述多个子查询的结果,以形成对所述请求的响应。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述子查询中的第一子查询是可线性扩展的。
18.根据权利要求16所述的非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括另外的指令,在执行所述另外的指令时,所述另外的指令使所述机器通过合并和减少所述子查询的所述结果来组合所述结果。
19.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述子查询中的第一子查询不置乱所述数据库数据的所述相应部分。
20.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述数据库数据的分布模式不依赖于数据内容。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/935,746 | 2018-03-26 | ||
US15/935,746 US11138230B2 (en) | 2018-03-26 | 2018-03-26 | Methods, apparatus, and systems to aggregate partitioned computer database data |
PCT/US2019/023877 WO2019190983A1 (en) | 2018-03-26 | 2019-03-25 | Methods, apparatus, and systems to aggregate partitioned computer database data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112204541A true CN112204541A (zh) | 2021-01-08 |
Family
ID=67984247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980030556.6A Pending CN112204541A (zh) | 2018-03-26 | 2019-03-25 | 对分区计算机数据库数据进行聚合的方法、装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11138230B2 (zh) |
EP (1) | EP3776254B1 (zh) |
CN (1) | CN112204541A (zh) |
WO (1) | WO2019190983A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468208A (zh) * | 2021-07-19 | 2021-10-01 | 网易(杭州)网络有限公司 | 生成数据查询语句的方法和装置、服务器及存储介质 |
US11138230B2 (en) | 2018-03-26 | 2021-10-05 | Mcafee, Llc | Methods, apparatus, and systems to aggregate partitioned computer database data |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11556710B2 (en) * | 2018-05-11 | 2023-01-17 | International Business Machines Corporation | Processing entity groups to generate analytics |
US11573927B1 (en) | 2018-10-31 | 2023-02-07 | Anaplan, Inc. | Method and system for implementing hidden subscriptions in a distributed computation system |
US11354324B1 (en) | 2018-10-31 | 2022-06-07 | Anaplan, Inc. | Method and system for servicing query requests using revisions maps |
US11281683B1 (en) | 2018-10-31 | 2022-03-22 | Anaplan, Inc. | Distributed computation system for servicing queries using revisions maps |
US11580105B2 (en) | 2018-10-31 | 2023-02-14 | Anaplan, Inc. | Method and system for implementing subscription barriers in a distributed computation system |
US11481378B1 (en) * | 2018-10-31 | 2022-10-25 | Anaplan, Inc. | Method and system for servicing query requests using document-based metadata |
US11475003B1 (en) * | 2018-10-31 | 2022-10-18 | Anaplan, Inc. | Method and system for servicing query requests using dataspaces |
US11494423B1 (en) * | 2020-09-09 | 2022-11-08 | Amazon Technologies, Inc. | Generating partial boolean query results based on client-specified latency constraints |
CN113238804B (zh) * | 2021-05-17 | 2022-06-28 | 深圳掌酷软件有限公司 | 一种基于智能终端息屏状态下指定应用唤醒系统及方法 |
US11928120B2 (en) * | 2022-05-31 | 2024-03-12 | Microsoft Technology, LLC. | Distributed data query under data flow limitations |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742806A (en) * | 1994-01-31 | 1998-04-21 | Sun Microsystems, Inc. | Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system |
US5584024A (en) * | 1994-03-24 | 1996-12-10 | Software Ag | Interactive database query system and method for prohibiting the selection of semantically incorrect query parameters |
US5745746A (en) * | 1996-06-24 | 1998-04-28 | International Business Machines Corporation | Method for localizing execution of subqueries and determining collocation of execution of subqueries in a parallel database |
US6092062A (en) * | 1997-06-30 | 2000-07-18 | International Business Machines Corporation | Relational database query optimization to perform query evaluation plan, pruning based on the partition properties |
US6405198B1 (en) * | 1998-09-04 | 2002-06-11 | International Business Machines Corporation | Complex data query support in a partitioned database system |
US6285997B1 (en) * | 1998-11-16 | 2001-09-04 | International Business Machines Corporation | Query optimization with deferred update and autonomous sources |
US7167853B2 (en) * | 1999-05-20 | 2007-01-23 | International Business Machines Corporation | Matching and compensation tests for optimizing correlated subqueries within query using automatic summary tables |
US20040225865A1 (en) * | 1999-09-03 | 2004-11-11 | Cox Richard D. | Integrated database indexing system |
JP2002169808A (ja) * | 2000-11-30 | 2002-06-14 | Hitachi Ltd | セキュアマルチデータベースシステム |
US6795817B2 (en) * | 2001-05-31 | 2004-09-21 | Oracle International Corporation | Method and system for improving response time of a query for a partitioned database object |
US8868544B2 (en) * | 2002-04-26 | 2014-10-21 | Oracle International Corporation | Using relational structures to create and support a cube within a relational database system |
US7246159B2 (en) * | 2002-11-01 | 2007-07-17 | Fidelia Technology, Inc | Distributed data gathering and storage for use in a fault and performance monitoring system |
CA2427202A1 (en) * | 2003-04-30 | 2004-10-30 | Ibm Canada Limited - Ibm Canada Limitee | Method and system for aggregation subquery join elimination |
CN100454298C (zh) * | 2003-12-08 | 2009-01-21 | 皇家飞利浦电子股份有限公司 | 旋律数据库搜索 |
CN101120340B (zh) | 2004-02-21 | 2010-12-08 | 数据迅捷股份有限公司 | 超无共享并行数据库 |
US8880502B2 (en) * | 2004-03-15 | 2014-11-04 | International Business Machines Corporation | Searching a range in a set of values in a network with distributed storage entities |
US7814042B2 (en) * | 2004-08-17 | 2010-10-12 | Oracle International Corporation | Selecting candidate queries |
US8935273B2 (en) * | 2005-06-23 | 2015-01-13 | International Business Machines Corporation | Method of processing and decomposing a multidimensional query against a relational data source |
US20070226177A1 (en) * | 2006-03-23 | 2007-09-27 | International Business Machines Corporation | Evaluating a current partitioning of a database |
US8423569B2 (en) * | 2006-08-09 | 2013-04-16 | International Business Machines Corporation | Decomposed query conditions |
US7962442B2 (en) * | 2006-08-31 | 2011-06-14 | International Business Machines Corporation | Managing execution of a query against selected data partitions of a partitioned database |
US7657505B2 (en) * | 2007-01-19 | 2010-02-02 | Microsoft Corporation | Data retrieval from a database utilizing efficient eager loading and customized queries |
US7805456B2 (en) * | 2007-02-05 | 2010-09-28 | Microsoft Corporation | Query pattern to enable type flow of element types |
US7984043B1 (en) * | 2007-07-24 | 2011-07-19 | Amazon Technologies, Inc. | System and method for distributed query processing using configuration-independent query plans |
US20100017395A1 (en) * | 2008-07-16 | 2010-01-21 | Sapphire Information Systems Ltd. | Apparatus and methods for transforming relational queries into multi-dimensional queries |
US9183260B2 (en) * | 2008-10-09 | 2015-11-10 | International Business Machines Corporation | Node-level sub-queries in distributed databases |
US7996369B2 (en) * | 2008-11-14 | 2011-08-09 | The Regents Of The University Of California | Method and apparatus for improving performance of approximate string queries using variable length high-quality grams |
US8204873B2 (en) * | 2009-08-26 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | System and method for query expression optimization |
US8688683B2 (en) * | 2009-11-30 | 2014-04-01 | Business Objects Software Ltd. | Query plan reformulation |
US9020910B2 (en) * | 2010-01-13 | 2015-04-28 | International Business Machines Corporation | Storing tables in a database system |
US8447754B2 (en) * | 2010-04-19 | 2013-05-21 | Salesforce.Com, Inc. | Methods and systems for optimizing queries in a multi-tenant store |
US8886631B2 (en) * | 2010-06-04 | 2014-11-11 | Yale University | Query execution systems and methods |
US8655901B1 (en) * | 2010-06-23 | 2014-02-18 | Google Inc. | Translation-based query pattern mining |
US8713046B2 (en) * | 2011-11-08 | 2014-04-29 | Sybase, Inc. | Snapshot isolation support for distributed query processing in a shared disk database cluster |
US10860563B2 (en) * | 2012-01-06 | 2020-12-08 | Microsoft Technology Licensing, Llc | Distributed database with modular blocks and associated log files |
US20130239093A1 (en) * | 2012-03-09 | 2013-09-12 | Microsoft Corporation | Parallelizing top-down interprocedural analysis |
US9652502B2 (en) * | 2012-03-30 | 2017-05-16 | Khalifa University Of Science, Technology And Research | Method and system for continuous query processing |
US10579634B2 (en) | 2012-08-30 | 2020-03-03 | Citus Data Bilgi Islemleri Ticaret A.S. | Apparatus and method for operating a distributed database with foreign tables |
US9563663B2 (en) * | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US9053210B2 (en) * | 2012-12-14 | 2015-06-09 | Microsoft Technology Licensing, Llc | Graph query processing using plurality of engines |
US9081826B2 (en) | 2013-01-07 | 2015-07-14 | Facebook, Inc. | System and method for distributed database query engines |
US9607042B2 (en) * | 2013-09-16 | 2017-03-28 | Mastercard International Incorporated | Systems and methods for optimizing database queries |
US9396246B2 (en) * | 2013-11-08 | 2016-07-19 | International Business Machines Corporation | Reporting and summarizing metrics in sparse relationships on an OLTP database |
WO2015099961A1 (en) * | 2013-12-02 | 2015-07-02 | Qbase, LLC | Systems and methods for hosting an in-memory database |
GB2521197A (en) * | 2013-12-13 | 2015-06-17 | Ibm | Incremental and collocated redistribution for expansion of an online shared nothing database |
US10120902B2 (en) * | 2014-02-20 | 2018-11-06 | Citus Data Bilgi Islemleri Ticaret A.S. | Apparatus and method for processing distributed relational algebra operators in a distributed database |
US10437843B2 (en) * | 2014-07-29 | 2019-10-08 | Microsoft Technology Licensing, Llc | Optimization of database queries via transformations of computation graph |
US9767149B2 (en) * | 2014-10-10 | 2017-09-19 | International Business Machines Corporation | Joining data across a parallel database and a distributed processing system |
US9747319B2 (en) * | 2014-12-31 | 2017-08-29 | Nexenta Systems, Inc. | Read-modify-write processing of chunks at the storage server level in a distributed object storage system |
US10061824B2 (en) * | 2015-01-30 | 2018-08-28 | Splunk Inc. | Cell-based table manipulation of event data |
US10025822B2 (en) * | 2015-05-29 | 2018-07-17 | Oracle International Corporation | Optimizing execution plans for in-memory-aware joins |
US20160371355A1 (en) * | 2015-06-19 | 2016-12-22 | Nuodb, Inc. | Techniques for resource description framework modeling within distributed database systems |
WO2017062288A1 (en) * | 2015-10-07 | 2017-04-13 | Oracle International Corporation | Relational database organization for sharding |
US10496614B2 (en) * | 2015-10-07 | 2019-12-03 | Oracle International Corporation | DDL processing in shared databases |
JP2019500645A (ja) * | 2015-12-03 | 2019-01-10 | アンバウンド テック リミテッド | 暗号プロトコルを用いたsqlベースのデータベースの保護 |
US9760604B2 (en) * | 2015-12-23 | 2017-09-12 | Gluent Inc. | System and method for adaptive filtering of data requests |
US10599664B2 (en) * | 2016-04-22 | 2020-03-24 | Cloudera, Inc. | Interactive identification of similar SQL queries |
US20170337232A1 (en) * | 2016-05-19 | 2017-11-23 | Fifth Dimension Holdings Ltd. | Methods of storing and querying data, and systems thereof |
US10116725B2 (en) * | 2016-05-27 | 2018-10-30 | Intuit Inc. | Processing data retrieval requests in a graph projection of an application programming interfaces (API) |
US10885027B2 (en) | 2016-08-24 | 2021-01-05 | Nec Corporation | Progressive processing for querying system behavior |
US10437821B2 (en) * | 2016-10-26 | 2019-10-08 | Sap Se | Optimization of split queries |
US10528599B1 (en) * | 2016-12-16 | 2020-01-07 | Amazon Technologies, Inc. | Tiered data processing for distributed data |
US11138230B2 (en) | 2018-03-26 | 2021-10-05 | Mcafee, Llc | Methods, apparatus, and systems to aggregate partitioned computer database data |
-
2018
- 2018-03-26 US US15/935,746 patent/US11138230B2/en active Active
-
2019
- 2019-03-25 WO PCT/US2019/023877 patent/WO2019190983A1/en unknown
- 2019-03-25 CN CN201980030556.6A patent/CN112204541A/zh active Pending
- 2019-03-25 EP EP19776041.6A patent/EP3776254B1/en active Active
-
2021
- 2021-09-30 US US17/491,146 patent/US20220019601A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138230B2 (en) | 2018-03-26 | 2021-10-05 | Mcafee, Llc | Methods, apparatus, and systems to aggregate partitioned computer database data |
CN113468208A (zh) * | 2021-07-19 | 2021-10-01 | 网易(杭州)网络有限公司 | 生成数据查询语句的方法和装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3776254A4 (en) | 2021-12-22 |
WO2019190983A1 (en) | 2019-10-03 |
US20190294724A1 (en) | 2019-09-26 |
US11138230B2 (en) | 2021-10-05 |
US20220019601A1 (en) | 2022-01-20 |
EP3776254B1 (en) | 2023-12-06 |
EP3776254A1 (en) | 2021-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112204541A (zh) | 对分区计算机数据库数据进行聚合的方法、装置和系统 | |
US10445349B2 (en) | Management of a database system | |
CN109213792B (zh) | 数据处理的方法、服务端、客户端、装置及可读存储介质 | |
US8788458B2 (en) | Data caching for mobile applications | |
US9940375B2 (en) | Systems and methods for interest-driven distributed data server systems | |
US7392247B2 (en) | Method and apparatus for fusing context data | |
US9223875B2 (en) | Real-time distributed in memory search architecture | |
US20170366624A1 (en) | Clustering layers in multi-node clusters | |
US8949535B1 (en) | Cache updating | |
US20150019547A1 (en) | Unified user profiles | |
US11429636B2 (en) | Smart elastic scaling based on application scenarios | |
US11750692B2 (en) | Connection pool anomaly detection mechanism | |
CN100422952C (zh) | 追踪数据库中的空间占用 | |
US20190005252A1 (en) | Device for self-defense security based on system environment and user behavior analysis, and operating method therefor | |
US11226986B2 (en) | Data table partitioning management method and apparatus | |
US20200042609A1 (en) | Methods and systems for searching directory access groups | |
CN110109931B (zh) | 一种用于防止rac实例间数据访问发生冲突的方法及系统 | |
US9069817B2 (en) | Database row access control | |
US20210200765A1 (en) | Connection pools for parallel processing applications accessing distributed databases | |
US7925617B2 (en) | Efficiency in processing queries directed to static data sets | |
US9934068B2 (en) | Data analysis system | |
CN103905512A (zh) | 一种数据处理方法和设备 | |
US11061916B1 (en) | Computing approximate distinct counts for large datasets | |
US20180060236A1 (en) | Method and systems for master establishment using service-based statistics | |
US20170374144A1 (en) | Harvesting spare storage in a data center |
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 |