CN107251017A - 经由基数估计的有效联结路径确定 - Google Patents

经由基数估计的有效联结路径确定 Download PDF

Info

Publication number
CN107251017A
CN107251017A CN201580070304.8A CN201580070304A CN107251017A CN 107251017 A CN107251017 A CN 107251017A CN 201580070304 A CN201580070304 A CN 201580070304A CN 107251017 A CN107251017 A CN 107251017A
Authority
CN
China
Prior art keywords
row
log
field
estimation
computer
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
Application number
CN201580070304.8A
Other languages
English (en)
Other versions
CN107251017B (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN107251017A publication Critical patent/CN107251017A/zh
Application granted granted Critical
Publication of CN107251017B publication Critical patent/CN107251017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

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)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

诸如超级重对数等概率计数结构可以在有关选择的一组列中的每一个的表格扫描期间形成。所述列可以基于初始相关性估计选择,所述初始相关性估计可能基于所述各自列的数据类型。列的交集或并集的估计的基数可以基于所述概率数据结构的交集形成。联结路径可以基于所述列的交集或并集的所述估计的基数确定。

Description

经由基数估计的有效联结路径确定
相关申请的交叉引用
本申请要求于2014年12月22日提交的美国专利申请No.14/578,841的利益,所述美国专利申请的公开内容以引用的方式整体并入本文中。
背景技术
数据仓库和在线分析处理(“OLAP”)系统可能包括允许分析查询的自动生成的各种工具。在一些情况下,这些工具可能依赖于用户提供有关将分析的数据的结构的各种细节。然而,提供该信息可能是参与的过程。在其它情况下,工具可以使用明确定义的模式信息诸如主键和外键关系自动地生成分析查询。然而,即使未明确定义,在分析上有用的关系可能仍然存在。可能还存在分析工具的用户不知道的分析上有用的关系。
附图说明
当结合附图进行阅读时,以下详述可以更好地理解。出于说明的目的,附图中示出本公开的方面的各种示例,然而本发明并不限于公开的特定方法和手段。
图1是描绘用于通过使用概率计数结构以估计两个列内的字段重合从而识别联结关系的系统和过程的实施方案的框图。
图2是描绘基于使用基数估计计算的估计的字段重合对两个列之间的联结路径进行识别的框图。
图3描绘用于计算概率计数结构的交集和并集的过程。
图4描绘用于使用概率计数结构识别联结路径的过程的实施方案。
图5描绘用于识别多个列中的两个之间的联结路径的过程的实施方案。
图6是描绘可以实践本公开的方面的计算环境的实施方案的框图。
图7是描绘可以实践本公开的方面的计算系统的实施方案的框图。
具体实施方式
本公开的方面可以被采用以识别可以用于在事务数据上执行分析操作的联结关系。联结关系可以用于各种目的,诸如用于生成分析查询。在一些情况下,联结关系可以用于生成可用于执行分析的分层。
本公开的实施方案可以利用诸如超级重对数(hyperloglog)等概率数据结构来识别列之间的联结关系。实施方案可以为每一潜在相关的列生成概率数据结构,其中初始相关性估计可能基于诸如共同的数据类型等因素。实施方案可以基于两个或多个概率数据结构的交集或基于交集的并集估计列值之间的重合。然后可以将列值之间的重合用作用于识别列之间的联结关系的依据。
概率数据结构可能包括与诸如近似法或随机化等各种统计技术有关的那些结构,以估计集合的基数。数据集的基数可能指代集合内的截然不同的值的数量。概率数据结构的示例包括与超级重对数、重对数(loglog)以及布隆过滤器技术有关的那些。术语超级重对数、重对数、最小哈希以及布隆过滤器可以用于指代对应于所述技术的结构。
概率数据结构可能包括若干桶。每一桶可能对应于数据流的细分并且可能包含有关细分内的估计的基数的信息。所述数据流可以基于多种准则进行细分。在一些情况下,所述细分可能是基本上随机的,在这种情况下桶可能对应于数据集的基本上随机的部分。这例如当数据流使用某些哈希函数进行细分时可能是如此情况。在其它情况下,细分可能基于诸如键范围等非随机准则。
通常来说,可以通过扫描大的(且在一些情况下非常大的)数据集获得数据流。概率数据结构可以被用于以存储器使用高效的方式估计大数据集的基数。然而,基数估计的准确度可能取决于数据流中的细分的数量和概率数据结构中的对应桶的数量。
实施方案可以利用多个概率数据结构以形成多个数据流中的数据之间的重合的估计。如本文所使用,术语数据流可能适用于来自数据库管理系统的列数据。因此,实施方案可以利用多个概率数据结构以形成多个数据列中的数据之间的重合估计。
图1是描绘用于通过使用概率计数结构以估计两个列内的字段重合从而识别联结关系的系统和过程的实施方案的框图。特定行内的列的值,其可能被称作字段,可能与另一字段重合,前提是两个字段在行内具有相同的值。实施方案可以基于重合频率确定两个列之间存在联结路径。
在图1中,表格100可能包括某一数量的行114。每一行可能包括某一数量的列,诸如列102至106。特定列和特定行的交集可以被描述成字段。术语字段可以用于描述行和列的交集或在此种交集处的值。在图1中,字段108可能对应于列102,字段110可能对应于列104,且字段112可能对应于列106。在各种实施方案中,表格100的数据可以呈行向格式和/或列向格式存储在一个或多个存储设备上。
实施方案可以基于初始相关性估计识别某些列以用于分析。例如,实施方案可以确定列102和列106是潜在相关的。在一些情况下,初始估计可能基于数据类型。联结路径可能更有可能存在于相同数据类型、类似数据类型或可以转换成共同数据类型的不同数据类型的列之间。举非限制性例子来说,可以假定描绘的列102和106二者具有诸如整数数据类型等相同数据类型。
概率计数技术可以被利用以确定特定列内的值的基数。例如,概率计数结构116可以被形成用于字段112,并且用于提供对应于列106的基数估计。类似地,概率计数结构128可以被形成用于字段108,并且用于提供对应于列102的基数估计。有关列的基数估计可能指示列的字段内的若干独特值。
概率计数结构116可能包括若干桶118至126。诸如桶120等个别桶可能对应于可能存在于字段112中的一系列值的基数或字段112中的一系列行的基数。
实施方案可能包括分析模块146。分析模块146可能包括可以计算概率计数结构116和概率计数结构128的交集的交集/并集程序140。这些结构中的任何一个可以被直观化为矢量。两个矢量的交集可能包括新矢量,所述新矢量的要素包括两个原始矢量的对应要素的交集。例如,交集可以被计算成矢量,所述矢量的五个要素包括桶118和130、桶120和132、桶122和134、桶124和136以及桶126和138的交集。在图1中,概率计数结构116和128被描绘成分别具有五个桶。在各种情况和实施方案中,可以利用更多或更少的桶。
分析模块146可能包括字段重合估计程序142。估计字段重合可能涉及利用概率数据结构116和128的交集。所述交集可能例如被用于使用容斥原理确定字段108和112的并集的基数的估计。
实施方案可以利用字段108和112的并集的估计的基数。可能包括在分析模块146中的联结路径确定程序144可以基于并集的估计的基数或基于交集而无需确定并集来识别列102与列106之间的联结路径。
图2是描绘基于使用基数估计计算的估计的字段重合对两个列之间的联结路径进行识别的框图。列200和列202可以被分析以确定两个列200与202之间是否存在自然联结路径。列200可以被分析以形成基数估计220。基数估计220可能包括列200的总体基数的指示。类似地,基数估计222可能包括列202的总体基数的指示。
例如,在图2中,列200据称可能具有为2的整体基数,且在字母表的“A至C”范围内具有为1的基数,因为字段204、206和210共享相同的值“A”,且字段208具有值“X”。列202据称可能具有为3的整体基数,且在“A至C”范围内具有为2的基数,因为字段212和218共享值“A”,字段214具有值“B”,且字段216具有值“Y”。应了解,这些示例意在对一般原理进行说明,且不应被理解成是对本公开的范围的限制。在本文所描述的技术的应用中,可能存在大量的字段值,且可能存在高基数值和可以计算基数的许多范围。
基于诸如“A至C”范围等各自范围中的估计的基数,实施方案可以执行联结路径确定224以识别涉及列200和列202的联结路径。联结路径确定224可能基于基数估计代表的交集。联结路径确定224可能还基于基数估计代表的并集,所述并集可能基于经由容斥原理的交集。
图3描绘用于计算概率计数结构的交集和并集的过程。概率计数结构可能包括各种桶,诸如描绘的桶300和304。每一桶可能包含有关所述桶的基数估计的代表。如图所示,基数估计302可能对应于桶300,且基数估计306可能对应于桶304。应注意,因为其分别在两个计算中使用,所以桶300和304以及对应基数估计302和306在图3中分别描绘两次。
概率计数结构的交集可能包括交集计算308。这可能包括基数估计302与基数估计306之间的交集。所述交集计算的性质可能部分取决于基数估计的代表。在一些情况下,集合论的应用可以用于形成对应桶的交集或并集。在其它情况下,集合论可以作为整体应用于所述代表。在其它情况下,桶的检查可以支持计算两个概率计数结构的交集或并集的推理方法。例如,在超级重对数的情况下,对超级重对数桶的二进制表示法中的前导零的检查可以用于确定交集或并集。在一些实施方案中,可以在两个基数代表之间执行按位与操作。在图3中,产生的结构被描绘成基数估计的交集308。这可以通过减法计算312从基数估计302和基数估计306的和减去,所述和可以利用加法计算310获得。加法计算310和减法计算312的性质可能会基于基数估计是如何表示的而不同。
从基数估计302和206的和减去基数估计的交集308的结果可能是基数估计的并集314。在各种实施方案中,基数估计的并集314可能代表两个列中的值之间的重叠程度。应注意,各种实施方案可能支持使用本文所描述的各种技术的涉及多个列的分析。
图4描绘用于使用概率计数结构识别联结路径的过程的实施方案。虽然被描绘成一系列的要素,但是本领域技术人员应了解,描绘的顺序不应被理解成是对本公开的范围的限制,并且描绘的要素中的至少一些可以被改变、省略、重新排序、用额外要素补充或并行执行。描绘的过程的实施方案可以使用包括由诸如本文所描述的计算系统等计算系统执行的计算机可执行指令的模块实现。在一些情况下,描绘的过程的实施方案可以在分布式计算环境中实践,在所述计算环境中表格由包括多个计算节点的分布式数据库管理系统托管。分析操作可以由通信地耦合至分布式数据库管理系统的计算节点执行,并且所述计算节点包括分析模块,诸如图1中描绘的分析模块146。
如由要素400所描绘,实施方案可以基于初始相关性估计选择用于分析的列。所述初始估计可能包括识别表格的列或者具有共同数据类型的数据收集。实施方案可以将表格的列分成元组,所述元组包括相同或类似类型的列或可以转换成相同或类似类型的列。初始估计可能还基于对有关行的各种列的字段值的取样。在所述情况下,实施方案可以大体上避免在该阶段扫描全表格。
实施方案可以识别列的多个元组以用于分析。如由要素402所描绘,实施方案可以启动对表格的扫描。实施方案可以基于在单次扫描期间构建的概率计数结构在多个元组上执行分析。在一些情况和实施方案中,表格扫描可能包括全表格扫描。在其它情况和实施方案中,表格扫描可能是部分的。各种取样技术可以被利用以减少与运行全表格扫描相关联的时间或其它成本。在涉及列存储的情况下,可以执行相关列的全扫描或部分扫描,以便形成有关每一选择的列的概率计数结构。
要素404和406描绘形成有关第一列的第一概率计数结构和有关第二列的第二概率计数结构的实施方案。所述列可能对应于通过由要素400所描绘的操作选择的列。概率计数结构可能是超级重对数、重对数、布隆过滤器、最小哈希或其它类似结构。实施方案可以被构建以基于诸如存储器效率、准确度和在所述结构的两个或多个上执行交集和/或并集操作符的可行性等因素利用特定类型的概率计数结构。
形成有关列的超级重对数结构可能包括为超级重对数结构的桶分配存储器。在要素402中启动的表格的扫描期间,哈希函数可以被应用至有关每一行的第一列的值,并且可以存储在对应于哈希函数的输出的桶中。产生的结构可能代表随机化分布,所述随机化分布的基数与第一列的基数相关。分配用于桶的较大存储器量允许实现更加细化的哈希函数以及更高准确度用于估计基数。其它概率计数结构可以类似方式形成。这些结构可以在计算设备的存储器中形成,或者在与计算设备通信地耦合的存储设备上形成。在一些情况下,诸如对于超级重对数,分配给结构的空间量对应于所述结构所提供的基数估计的准确度。在一些情况下,实施方案可以基于平衡以下因素来形成超级重对数或其它概率数据结构:可用存储器或存储空间以及所需的估计准确度水平。
要素408描绘计算第一概率计数结构和第二概率计数结构的交集的实施方案。两个概率计数结构的交集可能包括对所述概率计数结构中对应的桶的交集的计算。实施方案然后可以利用所述交集来计算概率计数结构的并集。所述交集可以例如使用图3中描绘的程序计算。
如由要素410所描绘,实施方案可以形成第一列和第二列的字段之间的重合估计。所述估计可能基于所述交集,基于所述交集计算的并集,或基于不在所述交集中的要素的数量的确定。字段重合的估计可能基于使用容斥原理以计算由第一列的也存在于第二列中的成员组成的集合的估计的基数。可选地,字段重合的估计可能基于由第一列的也不存在于第二列中的成员以及第二列的也不存在于第一列中的成员组成的集合的基数。
如由要素412所描绘,实施方案可以基于估计的重合识别第一列与第二列之间的候选联结路径。这可能包括确定第一列和第二列中的值之间的重合程度高于阈值,其中所述确定至少基于第一概率数据结构和第二概率数据结构的交集或并集。较高的重合估计指示两个列之间存在联结路径的可能性更大。因此,两个列之间的联结路径的识别可能基于重合的估计高于阈值。
图5描绘用于识别多个列中的两个之间的联结路径的过程的实施方案。虽然被描绘成一系列要素,但是本领域技术人员应了解,描绘的顺序不应被理解成是对本公开的范围的限制,并且描绘的要素中的至少一些可以被改变、省略、重新排序、用额外要素补充或并行执行。描绘的过程的实施方案可以使用包括由诸如本文所描述的计算系统等计算系统执行的计算机可执行指令的模块实现。
如由要素500所描绘,实施方案可以从多个列中选择至少第一列元组和第二列元组。列元组可能包括被选择用于进一步评估为潜在联结路径的两个列。所述元组可以从共享相同或类似数据类型或可以转换成共同数据类型的那些列中选择。数据类型可能是初始相关性估计值的依据。在一些情况和实施方案中,额外因素可能包括列中的数据的初步取样、基于列名称的分析等。选择列元组可能包括添加元组至保存在计算设备的存储器中的列表结构。然后可以访问所述列表中的元组以进行后续分析。
如由要素502所描绘,当为元组中的每一独特列构建概率数据结构时,实施方案可以扫描表格(或另外处理数据流)。例如,如果元组是(列A、列B)和(列A、列C),那么实施方案可以形成三个概率数据结构,针对列A、列B和列C中的每一个有一个。如由要素504所描绘,然后可以计算每一元组中的列之间的交集。例如,实施方案可以计算列A的概率数据结构和列B的概率数据结构的交集,并且计算列A的概率数据结构和列C的概率数据结构的交集。扫描表格或另外处理数据流可能包括对表格中的行或流中的数据进行逐记录检查。在一些情况下,扫描可能是完整的,即涉及检查表格中的每一行或流中的要素。在其它情况下,扫描可能是部分的,例如利用取样或跳过技术检查表格中的行的子集或流中的记录。
如由要素506所描绘,可以估计每一元组的列值重合程度。换句话说,可以针对列A相对于列B估计列值重合,以及针对列A相对于列C估计列值重合。估计的重合最高或高于某一阈值水平的这些元组可被识别成联结路径,如要素508中所示。图4提供有关元组的重合程度估计和联结路径的识别的更多细节。
当形成有关若干列的超级重对数或其它概率计数结构时,实施方案可以执行初始扫描。结构的大小可能会受到实施方案限制,以便遵从各种存储器约束。然后可以执行第二扫描,在此期间可以为较小数量的列形成较小数量的超级重对数或其它概率计数结构。可以相对于第一扫描期间形成的那些结构增加这些结构的大小。该方法降低了第一扫描中形成的概率计数结构所需要的存储器,并且提高了第二扫描期间形成的结构的准确度。第二扫描中使用的列可能是基于第一扫描期间形成的概率计数结构被识别为是有希望的列。
本公开的实施方案可以结合许多类型的数据库管理系统(“DBMS”)一起采用。DBMS是用于维持有组织数据收集的软件和硬件系统,在其上可以执行存储和检索操作。在DBMS中,数据通常按照关键值与额外数据之间的关联进行组织。所述关联的性质可能基于存在于数据收集中的现实世界关系,或者所述关联可能是任意的。各种操作可以由DBMS执行,所述操作包括数据定义、查询、更新和管理。一些DBMS提供使用诸如结构化查询语言(“SQL”)等查询语言与数据库的互动,而其它DBMS使用包含操作的API,诸如put和get等。与数据库的互动可能还基于各种协议或标准,诸如超文本标记语言(“HTML”)和扩展标记语言(“XML”)。DBMS可能包括各种架构部件,诸如作用以在诸如固态驱动器等一个或多个存储设备上存储数据的存储引擎。
图6是描绘可以实践本发明的方面的分布式计算环境的示例的图。各种用户600a可以与在任何类型的计算设备602a上操作的各种客户端应用互动,以通过通信网络604与在数据中心620内的各种计算节点610a、610b和610c上执行的过程通信。可选地,客户端应用602b可以在无用户干预的情况下通信。通信网络604可能包括通信技术的任何组合,包括互联网、有线和无线局域网络、光纤网络、卫星通信等。可以采用任何数量的网络协议。
与在数据中心620内操作的计算节点610a、610b和610c上执行的过程的通信可以经由网关606和路由器608提供。也可以采用多种其它网络配置。虽然图6中未明确描绘,但是可以提供各种认证机制、web服务层、业务对象或其它中间层以调整与在计算节点610a、610b和610c上执行的过程的通信。这些中间层中的一些可能自身包括在计算节点中的一个或多个上执行的过程。计算节点610a、610b和610c以及在上面执行的过程可能还经由路由器608彼此通信。可选地,可以采用分开的通信路径。在一些实施方案中,数据中心620可以被配置以与额外数据中心通信,以使得计算节点以及在上面执行的过程可以与在其它数据中心内操作的计算节点和过程通信。
计算节点610a被描绘成驻留在包括一个或多个处理器616、一个或多个存储器618和一个或多个存储设备614的物理硬件上。计算节点610a上的过程可以结合操作系统一起执行,或者可选地可以作为直接与诸如处理器616、存储器618或存储设备614等物理资源互动的裸机过程执行。
计算节点610b和610c被描绘成在虚拟机主机612上操作,所述虚拟机主机612可以提供对诸如物理处理器、存储器和存储设备等各种物理资源的共享访问。可以采用任何数量的虚拟化机制以托管计算节点。
图6中描绘的各种计算节点可以被配置以托管web服务、数据库管理系统、业务对象、监测和诊断设施等。计算节点可能指代各种类型的计算资源,诸如个人计算机、服务器、集群计算设备等。计算节点可能例如指代各种计算设备,诸如手机、智能电话、平板电脑、嵌入式设备等。当呈硬件形式实现时,计算节点大体上与被配置以存储计算机可读指令的一个或多个存储器以及被配置以读取和执行指令的一个或多个处理器相关联。基于硬件的计算节点可能还包括一个或多个存储设备、网络接口、通信总线、用户接口设备等。计算节点还涵盖虚拟计算资源,诸如使用或不使用管理程序、虚拟裸机环境等实现的虚拟机。基于虚拟化的计算节点可能具有对硬件资源的虚拟访问以及非虚拟访问。计算节点可以被配置以执行操作系统以及一个或多个应用程序。在一些实施方案中,计算节点可能还包括裸机应用程序。
在至少一些实施方案中,实现本文所描述的技术中的一个或多个的一部分或全部的服务器可能包括通用计算机系统,所述通用计算机系统包括一个或多个计算机可访问介质或被配置以访问一个或多个计算机可访问介质。图7描绘包括一个或多个计算机可访问介质或被配置以访问一个或多个计算机可访问介质的通用计算机系统。在图示的实施方案中,计算设备700包括经由输入/输出(“I/O”)接口730耦合至系统存储器720的一个或多个处理器710a、710b和/或710n(本文中可能单数称作处理器710或复数称作处理器710)。计算设备700进一步包括耦合至I/O接口730的网络接口740。
在各种实施方案中,计算设备700可能是包括一个处理器710的单处理器系统或包括几个处理器710(例如,2个、4个、8个或另一合适的数量)的多处理器系统。处理器710可能是能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器610可能是实现多种指令集架构(“ISA”)中的任何一个的通用或嵌入式处理器,所述指令集架构诸如x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA。在多处理器系统中,处理器610中的每一个可以共同但不一定实现相同的ISA。
在一些实施方案中,图形处理单元(“GPU”)712可以参与提供图形渲染和/或物理处理能力。GPU可能例如包括专用于图形计算的高度并行化处理器架构。在一些实施方案中,处理器710和GPU 712可以实现为相同类型设备中的一个或多个。
系统存储器720可以被配置以存储可由处理器610访问的指令和数据。在各种实施方案中,系统存储器720可以使用任何合适的存储器技术实现,所述技术诸如静态随机存取存储器(“SRAM”)、同步动态RAM(“SDRAM”)、非易失性/型存储器或任何其它类型的存储器。在图示的实施方案中,实现一个或多个所需的功能的程序指令和数据,诸如上面所描述的那些方法、技术和数据,被示出作为代码725和数据726存储在系统存储器720内。
在一个实施方案中,I/O接口730可以被配置以协调处理器710、系统存储器720与设备中的任何外设之间的I/O流量,包括网络接口740或其它外围接口。在一些实施方案中,I/O接口730可以执行任何必要的协议、定时或其它数据变换,以将来自一个部件(例如,系统存储器720)的数据信号转换成适合于被另一部件(例如,处理器610)所使用的格式。在一些实施方案中,I/O接口730可能包括对利用各种类型的外围总线附接的设备的支持,诸如像外围部件互连(PCI)总线标准或通用串行总线(“USB”)标准的变化形式。在一些实施方案中,I/O接口730的功能可以被分成两个或多个分开的部件,诸如像北桥和南桥。而且,在一些实施方案中,I/O接口730的功能中的一些或全部,诸如至系统存储器620的接口,可以直接并入处理器710中。
网络接口740可以被配置以允许数据在计算设备700与附接至一个或多个网络750的诸如像其它计算机系统或设备等其它一个或多个设备760之间交换。在各种实施方案中,网络接口740可以支持经由诸如以太网网络类型等任何合适的有线或无线通用数据网络的通信。另外,网络接口740可以支持经由诸如模拟语音网络或数字光纤通信网络等电信/电话网络、经由诸如光纤通道SAN(存储区域网)等存储区域网络或经由任何其它合适类型的网络和/或协议的通信。
在一些实施方案中,系统存储器720可能是被配置以存储如上所述用于实现对应方法和装置的实施方案的程序指令和数据的计算机可访问介质的一个实施方案。然而,在其它实施方案中,可以在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可访问介质可能包括诸如磁性介质或光学介质等非暂时性存储介质或存储器介质,例如经由I/O接口730耦合至计算设备700的磁盘或DVD/CD。非暂时性计算机可访问存储介质可能还包括任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDRSDRAM、RDRAM、SRAM等)、ROM等,所述易失性或非易失性介质可能包括在计算设备700的一些实施方案中作为系统存储器720或另一类型的存储器。另外,计算机可访问介质可能包括传输介质或信号,诸如经由诸如那些可以经由网络接口740实现的网络和/或无线链路等通信介质传送的电气、电磁或数字信号。多个计算设备中的部分或全部,诸如图7中所图示的那些,可以被用于实现各种实施方案中描述的功能性;例如,在多种不同设备和服务器上运行的软件部件可以协作以提供所述功能性。在一些实施方案中,补充或替代使用通用计算机系统实现,描述的功能性中的部分可以使用存储设备、网络设备或专用计算机系统实现。如本文所使用,术语“计算设备”指代至少所有这些类型的设备且并不限于这些类型的设备。
也可以被称作计算节点的计算节点可以在诸如平板计算机、个人计算机、智能电话、游戏控制台、商品硬件计算机、虚拟机、web服务、计算集群和计算器具等多种计算环境中实现。为了方便起见,这些计算设备或环境中的任何一个可以被描述成计算节点或计算节点。
由诸如公司或公共部门组织等实体建立的用于提供可经由互联网和/或其它网络可访问的一个或多个web服务(诸如各种类型的基于云的计算或存储)至分布式客户端集合的网路可以被称为提供商网络。此种提供商网络可能包括托管诸如物理和/或虚拟计算机服务器、存储设备、联网设备等的集合等各种资源池的多种数据中心,需要所述多种数据中心以实现和分布由提供商网络提供的基础设施和web服务。在一些实施方案中,所述资源可以提供给与web服务有关的各种单元中的客户端作为实例、作为相关服务的集合等,所述web服务诸如用于存储的存储容量的量、用于处理的处理能力。虚拟计算实例可能例如包括具有指定的计算能力(例如,可以通过指示CPU的类型和数量、主存储器大小等来指定)和指定的软件栈(例如,特定版本的操作系统,所述操作系统可以继而在管理程序上运行)的一个或多个服务器。
可以单独或组合使用若干不同类型的计算设备以实现不同实施方案中的提供商网络的资源,所述计算设备包括通用或专用计算机服务器、存储设备、网络设备等。在一些实施方案中,可以向客户端或用户提供对资源实例的直接访问,例如通过给予用户管理员登录和密码。在其它实施方案中,提供商网络操作程序可以允许客户端指定有关指定的客户端应用的执行要求并且代表客户端安排应用在适合于所述应用的执行平台(诸如,应用服务器实例、JavaTM虚拟机(“JVM”)、通用或专用操作系统、支持诸如Ruby、Perl、Python、C、C++等各种翻译或编译程序语言的平台或高性能计算平台)上的执行而无需例如要求客户端直接访问实例或执行平台。在一些实现中,给定的执行平台可以利用一个或多个资源实例;在其它实现中,多个执行平台可以映射至单个资源实例。
在许多环境中,实现不同类型的虚拟计算、存储和/或其它网络可访问功能的提供商网络的操作程序可以允许客户以各种资源获取模式预约或购买对资源的访问。计算资源提供商可以提供设施供客户选择和启动所需的计算资源,部署用于计算资源的应用部件,以及维持在环境中执行的应用。除此以外,计算资源提供商可以提供更多设施供客户随着应用的需求或能力要求变化手动地或利用自动缩放快速地或容易地增加或减少分配给应用的资源的数量和类型。由计算资源提供商提供的计算资源可以离散单元获得,所述离散资源可以被称作实例。实例可能代表物理服务器硬件平台、在服务器上执行的虚拟机实例或二者的某种组合。可提供各种类型和配置的实例,包括执行不同操作系统(“OS”)和/或管理程序的不同大小的资源,且具有各种安装的软件应用、运行时间等。实例可以进一步在特定可用性区域中使用,所述特定可用性区域代表例如逻辑区域、容错区域、数据中心或底层计算硬件的其它地理位置。实例可以在可用性区域内或跨可用性区域复制,以提高实例的冗余,并且实例可以在特定可用性区域内或跨可用性区域迁移。举一个例子来说,客户端与可用性区域中的特定服务器的通信的延时可能小于客户端与不同服务器的通信的延时。为此,实例可以从较高延时服务器迁移至较低延时服务器,以改善整体客户端体验。
在一些实施方案中,提供商网络可以被组织到多个地理区域中,并且每一区域可能包括一个或多个可用性区域。继而可用性区域(也可以称作可用性容器)可能包括一个或多个截然不同的位置或数据中心,被配置以使得给定可用性区域中的资源可以与其它可用性区域中的故障隔开或隔绝。也就是说,一个可用性区域中的故障可能将不会导致任何其它可用性区域中的故障。因此,资源实例的可用性配置文件意在独立于不同的可用性区域中的资源实例的可用性配置文件。客户端可能够通过在各自可用性区域中启动多个应用实例来防止其应用在单个位置处出故障。同时,在一些实现中,可以在驻留在相同的地理区域内的资源实例之间提供廉价且低延时的网络连通性(并且相同可用性区域的资源之间的网络传输可能会更快)。
前面的章节中所描述的过程、方法和算法中的每一个可能体现在由一个或多个计算机或计算机处理器执行的代码模块中,且全部或部分被所述代码模块自动化。所述代码模块可能存储在诸如硬盘驱动器、固态存储器、光盘等任何类型的非暂时性计算机可读介质或计算机存储设备上。所述过程和算法可以部分或全部在专用电路中实现。公开的过程和过程步骤的结果可以持久或另外存储在诸如像易失性或非易失性存储装置等任何类型的非暂时性计算机存储装置中。
上面所描述的各种特征和过程可以彼此独立地使用,或者可以各种方式组合。所有可能的组合和子组合意在落入本公开的范围内。除此以外,在一些实现中某些方法或过程块可以省略。本文所描述的方法和过程也并不限于任何特定的顺序,并且有关所述方法和过程的块或状态可以其它合适的顺序执行。例如,描述的块或状态可以按照除具体公开的次序以外的次序执行,或多个块或状态可以以单个块或状态组合。示例性块或状态可以串行、并行或某一其它方式执行。可以添加块或状态至公开的示例性实施方案,或者从所述公开的示例性实施方案移除块或状态。本文所描述的示例性系统和部件可以按照与所描述的方式不同的方式配置。例如,可以添加要素至公开的示例性实施方案,从所述公开的示例性实施方案移除所述要素,或与所述公开的实施方案相比重新布置所述要素。
除此以外,鉴于以下条款,可以更好地理解前述内容:
1.一种用于识别事务数据中的分析关系的系统,所述系统包括:
一个或多个计算节点,其维持包括多个行的表格;
上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由计算设备执行时引起所述系统至少:
选择所述多个行中的第一列和第二列,其中至少部分基于所述第一列与所述第二列之间的第一相关性估计选择所述第一列和所述第二列;
至少部分基于所述多个行中的第一多个字段形成第一超级重对数,所述第一多个字段对应于所述第一列;
至少部分基于所述多个行中的第二多个字段形成第二超级重对数,所述第二多个字段对应于所述第二列;
计算所述第一超级重对数和所述第二超级重对数的交集;以及
至少部分基于所述第一多个字段中的字段与所述第二多个字段中的字段之间的第二重合估计识别所述第一列与所述第二列之间的联结路径,所述第二估计至少部分基于所述交集。
2.如条款1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
基于所述第一列和所述第二列共同的数据类型形成所述第一相关性估计。
3.如条款1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
通过至少将有关所述第一列和所述第二列的所述第二重合估计与有关两个或多个额外列的额外重合估计进行比较来识别所述联结路径。
4.如条款1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
通过至少从所述第一超级重对数和所述第二超级重对数的并集减去所述第一超级重对数和所述第二超级重对数的所述交集来形成所述第二重合估计。
5.如条款1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
通过至少执行所述多个行的第一扫描来形成多个超级重对数;以及
通过至少执行所述多个行的第二扫描来形成所述第一超级重对数,其中所述第一超级重对数的大小大于在所述第一扫描期间形成的所述多个超级重对数中的超级重对数的大小。
6.一种上面存储有指令的非暂时性计算机可读存储介质,所述指令当由一个或多个计算设备执行时引起所述一个或多个计算设备至少:
至少部分基于多个行中的第一多个字段形成第一概率计数结构,所述第一多个字段对应于所述多个行中的第一列;
至少部分基于所述多个行中的第二多个字段形成第二概率计数结构,所述第二多个字段对应于所述多个行中的第二列;
计算所述第一概率计数结构和所述第二概率计数结构的交集;以及
至少部分基于所述第一多个字段中的字段与所述第二多个字段中的字段之间的重合估计识别所述第一列与所述第二列之间的联结路径,所述重合估计至少部分基于所述交集。
7.如条款6所述的非暂时性计算机可读存储介质,其包括进一步的指令,所述指令当由所述一个或多个计算设备执行时引起所述一个或多个计算设备至少:
至少部分基于所述第一列和所述第二列共同的数据类型选择所述第一列和所述第二列以用于形成所述第一概率计数结构和所述第二概率计数结构。
8.如条款6所述的非暂时性计算机可读存储介质,其包括进一步的指令,所述指令当由所述一个或多个计算设备执行时引起所述一个或多个计算设备至少:
通过至少将有关所述第一列和所述第二列的所述重合估计与有关两个或多个额外列的额外重合估计进行比较来识别所述联结路径。
9.如条款6所述的非暂时性计算机可读存储介质,其包括进一步的指令,所述指令当由所述一个或多个计算设备执行时引起所述一个或多个计算设备至少:
通过至少从所述第一概率计数结构和所述第二概率计数结构的并集减去所述第一概率计数结构和所述第二概率计数结构的所述交集来形成所述重合估计。
10.如条款6所述的非暂时性计算机可读存储介质,其中所述重合估计至少部分基于对不包括在所述交集中的字段的计数。
11.如条款6所述的非暂时性计算机可读存储介质,其包括进一步的指令,所述指令由当所述一个或多个计算设备执行时引起所述一个或多个计算设备至少:
通过至少执行所述多个行的第一扫描和所述多个行的第二扫描来形成所述第一概率计数结构,其中针对所述第二扫描增加所述第一概率计数结构的大小。
12.如条款6所述的非暂时性计算机可读存储介质,其包括进一步的指令,所述指令当由所述一个或多个计算设备执行时引起所述一个或多个计算设备至少:
通过至少合并所述第一概率计数结构和所述第二概率计数结构中的对应桶来计算所述交集。
13.如条款6所述的非暂时性计算机可读存储介质,其中所述概率计数结构包括重对数、超级重对数、布隆过滤器或最小哈希中的至少一个。
14.一种用于识别事务数据中的分析关系的计算机实现方法,所述方法包括:
至少部分基于扫描对应于第一列的第一多个字段来在计算设备的存储器中形成第一概率计数结构,所述第一多个字段存储在通信地耦合至所述计算设备的一个或多个存储设备上;
至少部分基于对应于第二列的第二多个字段来在所述计算设备的所述存储器中形成第二概率计数结构,所述第二多个字段存储在所述一个或多个存储设备上;
计算所述第一概率计数结构和所述第二概率计数结构的交集;以及
至少部分基于所述第一多个字段中的字段与所述第二多个字段中的字段之间的重合估计识别所述第一列与所述第二列之间的联结路径,所述重合估计至少部分基于所述交集。
15.如条款14所述的计算机实现方法,其进一步包括:
至少部分基于所述第一列和所述第二列共同的数据类型选择所述第一列和所述第二列以用于形成所述第一概率计数结构和所述第二概率计数结构。
16.如条款14所述的计算机实现方法,其进一步包括:
通过至少将有关所述第一列和所述第二列的所述重合估计与有关两个或多个额外列的额外重合估计进行比较来识别所述联结路径。
17.如条款14所述的计算机实现方法,其进一步包括:
通过从所述第一概率计数结构和所述第二概率计数结构的并集减去所述第一概率计数结构和所述第二概率计数结构的所述交集来形成所述重合估计。
18.如条款14所述的计算机实现方法,其中所述重合估计至少部分基于对不包括在所述交集中的字段的概率地确定的计数。
19.如条款14所述的计算机实现方法,其进一步包括:
至少部分基于所述识别的联结路径形成分层。
20.如条款14所述的计算机实现方法,其进一步包括:
通过至少合并所述第一概率计数结构和所述第二概率计数结构中的对应桶来计算所述交集。
还应了解,各种项目被图示成当使用时存储在存储器或存储装置上,且这些项目或其部分可以在存储器与其它存储设备之间传递以用于存储器管理和数据完整性的目的。可选地,在其它实施方案中,软件模块和/或系统中的一些或全部可以另一设备上的存储器中执行,并且经由计算机间通信与图示的计算系统通信。另外,在一些实施方案中,系统和/或模块中的一些或全部可以其它方式实现或提供,诸如至少部分在固件和/或硬件中,包括但不限于一个或多个专用集成电路(“ASIC”)、标准集成电路、控制器(例如,通过执行合适的指令,且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(“FPGA”)、复杂可编程逻辑设备(“CPLD”)等。模块、系统和数据结构中的一些或全部可能还存储(例如,作为软件指令或结构数据)在计算机可读介质上,所述计算机可读介质诸如硬盘、存储器、网络或将由合适的设备进行读取或经由合适连接的便携式介质产品。所述系统、模块和数据结构还可以作为生成的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)在包括基于无线的和基于有线/电缆的介质的多种计算机可读传输介质上传输,并且可能采用多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字包或帧)。在其它实施方案中,所述计算机程序产品可能还采用其它形式。因此,本发明可以用其它计算机系统配置实践。
除非另有特别说明或者另外根据使用在上下文内理解,否则尤其诸如“可能(can、could、might、may)”、“例如”等本文使用的条件语言通常意在表达某些实施方案包括而其它实施方案不包括某些特征、要素和/或步骤。因此,所述条件语言一般并非意在暗示特征、要素和/或步骤无论如何都是一个或多个实施方案所必需的,或者一个或多个实施方案都必然包括用于无论有或没有作者输入或提示决定任何特定实施方案中是否包括或将执行这些特征、要素和/或步骤的逻辑。术语“包括(comprising)”、“包括(including)”、“具有”等是同义词且以开放式方式含有地使用,且不排除额外要素、特征、动作、操作等。而且,术语“或”用于包含含义(而并非排他含义),以使得例如当使用以连接至要素的列表,所述术语“或”表示所述列表中的要素中的一个、一些或全部。
虽然已经描述了某些示例性实施方案,但是这些实施方案仅已通过举例的方式介绍,且并非意在限制本文所公开的本发明的范围。因此,前面的描述并非意在暗示任何特定特征、特性、步骤、模块或块是必需的或不可缺少的。实际上,本文所描述的新颖方法和系统可以体现为多种其它形式;另外,可以在不脱离本文所公开的本发明的精神的情况下对本文所描述的方法和系统的形式作出各种省略、替换和变更。附图及其等效形式意在覆盖将落入本文所公开的发明中的一些的范围和精神内的这些形式或修改。

Claims (15)

1.一种用于识别事务数据中的分析关系的系统,所述系统包括:
一个或多个计算节点,其维持包括多个行的表格;
上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由计算设备执行时引起所述系统至少:
选择所述多个行中的第一列和第二列,其中至少部分基于所述第一列与所述第二列之间的第一相关性估计选择所述第一列和所述第二列;
至少部分基于所述多个行中的第一多个字段形成第一超级重对数,所述第一多个字段对应于所述第一列;
至少部分基于所述多个行中的第二多个字段形成第二超级重对数,所述第二多个字段对应于所述第二列;
计算所述第一超级重对数和所述第二超级重对数的交集;以及
至少部分基于所述第一多个字段中的字段与所述第二多个字段中的字段之间的第二重合估计识别所述第一列与所述第二列之间的联结路径,所述第二估计至少部分基于所述交集。
2.如权利要求1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
基于所述第一列和所述第二列共同的数据类型形成所述第一相关性估计。
3.如权利要求1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
通过至少将有关所述第一列和所述第二列的所述第二重合估计与有关两个或多个额外列的额外重合估计进行比较来识别所述联结路径。
4.如权利要求1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
通过至少从所述第一超级重对数和所述第二超级重对数的并集减去所述第一超级重对数和所述第二超级重对数的所述交集来形成所述第二重合估计。
5.如权利要求1所述的系统,其进一步包括上面存储有计算机可读指令的一个或多个存储器,所述计算机可读指令当由所述一个或多个计算节点执行时引起所述系统至少:
通过至少执行所述多个行的第一扫描来形成多个超级重对数;以及
通过至少执行所述多个行的第二扫描来形成所述第一超级重对数,其中所述第一超级重对数的大小大于在所述第一扫描期间形成的所述多个超级重对数中的超级重对数的大小。
6.一种系统,其包括:
一个或多个处理器;以及
一个或多个存储器,所述存储器上存储有指令,所述指令当由一个或多个计算设备执行时引起所述一个或多个计算设备至少:
至少部分基于多个行中的第一多个字段形成第一概率计数结构,所述第一多个字段对应于所述多个行中的第一列;
至少部分基于所述多个行中的第二多个字段形成第二概率计数结构,所述第二多个字段对应于所述多个行中的第二列;
计算所述第一概率计数结构和所述第二概率计数结构的交集;以及
至少部分基于所述第一多个字段中的字段与所述第二多个字段中的字段之间的重合估计识别所述第一列与所述第二列之间的联结路径,所述重合估计至少部分基于所述交集。
7.如权利要求6所述的系统,其包括进一步的指令,所述指令当由所述一个或多个计算设备执行时引起所述一个或多个计算设备至少:
至少部分基于所述第一列和所述第二列共同的数据类型选择所述第一列和所述第二列以用于形成所述第一概率计数结构和所述第二概率计数结构。
8.如权利要求6所述的系统,其中所述概率计数结构包括重对数、超级重对数、布隆过滤器或最小哈希中的至少一个。
9.一种用于识别事务数据中的分析关系的计算机实现方法,所述方法包括:
至少部分基于扫描对应于第一列的第一多个字段来在计算设备的存储器中形成第一概率计数结构,所述第一多个字段存储在通信地耦合至所述计算设备的一个或多个存储设备上;
至少部分基于对应于第二列的第二多个字段来在所述计算设备的所述存储器中形成第二概率计数结构,所述第二多个字段存储在所述一个或多个存储设备上;
计算所述第一概率计数结构和所述第二概率计数结构的交集;以及
至少部分基于所述第一多个字段中的字段与所述第二多个字段中的字段之间的重合估计识别所述第一列与所述第二列之间的联结路径,所述重合估计至少部分基于所述交集。
10.如权利要求9所述的计算机实现方法,其进一步包括:
至少部分基于所述第一列和所述第二列共同的数据类型选择所述第一列和所述第二列以用于形成所述第一概率计数结构和所述第二概率计数结构。
11.如权利要求9所述的计算机实现方法,其进一步包括:
通过至少将有关所述第一列和所述第二列的所述重合估计与有关两个或多个额外列的额外重合估计进行比较来识别所述联结路径。
12.如权利要求9所述的计算机实现方法,其进一步包括:
通过从所述第一概率计数结构和所述第二概率计数结构的并集减去所述第一概率计数结构和所述第二概率计数结构的所述交集来形成所述重合估计。
13.如权利要求9所述的计算机实现方法,其中所述重合估计至少部分基于对不包括在所述交集中的字段的概率地确定的计数。
14.如权利要求9所述的计算机实现方法,其进一步包括:
至少部分基于所述识别的联结路径形成分层。
15.如权利要求9所述的计算机实现方法,其进一步包括:
通过至少合并所述第一概率计数结构和所述第二概率计数结构中的对应桶来计算所述交集。
CN201580070304.8A 2014-12-22 2015-12-21 经由基数估计的有效联结路径确定 Active CN107251017B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/578,841 US10120905B2 (en) 2014-12-22 2014-12-22 Efficient determination of join paths via cardinality estimation
US14/578,841 2014-12-22
PCT/US2015/067186 WO2016106246A1 (en) 2014-12-22 2015-12-21 Efficient determination of join paths via cardinality estimation

Publications (2)

Publication Number Publication Date
CN107251017A true CN107251017A (zh) 2017-10-13
CN107251017B CN107251017B (zh) 2020-09-25

Family

ID=55642809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580070304.8A Active CN107251017B (zh) 2014-12-22 2015-12-21 经由基数估计的有效联结路径确定

Country Status (6)

Country Link
US (2) US10120905B2 (zh)
EP (1) EP3238100B1 (zh)
JP (2) JP6381170B2 (zh)
CN (1) CN107251017B (zh)
SG (1) SG11201705014TA (zh)
WO (1) WO2016106246A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138170B2 (en) * 2016-01-11 2021-10-05 Oracle International Corporation Query-as-a-service system that provides query-result data to remote clients
US10983976B2 (en) * 2016-04-18 2021-04-20 Verizon Media Inc. Optimized full-spectrum cardinality estimation based on unified counting and ordering estimation techniques
US10713244B2 (en) * 2016-05-09 2020-07-14 Sap Se Calculation engine optimizations for join operations utilizing automatic detection of forced constraints
CN106997378B (zh) * 2017-03-13 2020-05-15 上海摩库数据技术有限公司 基于Redis的数据库数据聚合同步的方法
US11651382B2 (en) * 2017-05-31 2023-05-16 Adobe Inc. User data overlap determination in a digital medium environment
GB2565539A (en) * 2017-08-11 2019-02-20 Infosum Ltd Systems and methods for determining dataset intersection
US11500931B1 (en) * 2018-06-01 2022-11-15 Amazon Technologies, Inc. Using a graph representation of join history to distribute database data
KR102061879B1 (ko) 2018-08-22 2020-01-02 국민대학교산학협력단 랜섬웨어 탐지를 위한 초경량 주소 블록 카운팅 장치 및 방법
JP7307939B2 (ja) 2018-12-12 2023-07-13 株式会社WEST inx ラッチ錠
CN110580307B (zh) * 2019-08-09 2021-09-24 北京大学 一种快速统计的处理方法及装置
ZA202100191B (en) 2020-01-20 2023-12-20 EXFO Solutions SAS Method and device for estimating a number of distinct subscribers of a telecommunication network impacted by network issues
JP7335511B2 (ja) * 2020-03-03 2023-08-30 富士通株式会社 データマッチングシステム、情報処理装置およびデータマッチング方法
US11487668B2 (en) 2021-04-06 2022-11-01 Thoughtspot, Inc. Approximate unique count
US12045203B2 (en) * 2021-06-14 2024-07-23 EMC IP Holding Company LLC Systems and methods for physical capacity estimation of logical space units

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675714A (en) * 1992-03-30 1997-10-07 Canon Kabushiki Kaisha Mode identifying method and output apparatus using such a method
US20070233644A1 (en) * 2000-02-28 2007-10-04 Reuven Bakalash System with a data aggregation module generating aggregated data for responding to OLAP analysis queries in a user transparent manner
US20090228433A1 (en) * 2008-03-07 2009-09-10 International Business Machines Corporation System and method for multiple distinct aggregate queries
US7630967B1 (en) * 2005-11-22 2009-12-08 At&T Intellectual Property Ii, L.P. Join paths across multiple databases
CN102156933A (zh) * 2010-02-11 2011-08-17 阿里巴巴集团控股有限公司 统计电子商务交易数据的方法和统计系统
CN103765935A (zh) * 2011-08-12 2014-04-30 日本电气株式会社 通信系统

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934759A (ja) 1995-07-21 1997-02-07 Omron Corp チューニング情報作成装置およびチューニング情報作成方法
JPH113340A (ja) 1997-06-12 1999-01-06 Mitsubishi Electric Corp 製造履歴検索装置
US6263331B1 (en) 1998-07-30 2001-07-17 Unisys Corporation Hybrid hash join process
JP2000353163A (ja) 1999-06-11 2000-12-19 Just Syst Corp データベース処理装置、及びデータベース処理のためのプログラムが記憶された記憶媒体
US6374263B1 (en) 1999-07-19 2002-04-16 International Business Machines Corp. System for maintaining precomputed views
US7676384B2 (en) * 2000-01-18 2010-03-09 Medigenesis, Inc. System and method for the automated presentation of system data to, and interaction with, a computer maintained database
AU2001288469A1 (en) 2000-08-28 2002-03-13 Emotion, Inc. Method and apparatus for digital media management, retrieval, and collaboration
US7620615B1 (en) * 2001-10-26 2009-11-17 Teradata Us, Inc. Joins of relations in an object relational database system
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
US7313559B2 (en) 2002-07-19 2007-12-25 Microsoft Corporation System and method for analytically modeling data organized according to a referenced attribute
JP2004086782A (ja) 2002-08-29 2004-03-18 Hitachi Ltd 異種データベース統合支援装置
US7895191B2 (en) * 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US7299226B2 (en) * 2003-06-19 2007-11-20 Microsoft Corporation Cardinality estimation of joins
CN1856790A (zh) 2003-07-22 2006-11-01 基诺技术公司 使用本体的信息访问
US7647293B2 (en) 2004-06-10 2010-01-12 International Business Machines Corporation Detecting correlation from data
US20060020582A1 (en) 2004-07-22 2006-01-26 International Business Machines Corporation Method and system for processing abstract derived entities defined in a data abstraction model
US7908242B1 (en) 2005-04-11 2011-03-15 Experian Information Solutions, Inc. Systems and methods for optimizing database queries
US7827179B2 (en) 2005-09-02 2010-11-02 Nec Corporation Data clustering system, data clustering method, and data clustering program
US8271403B2 (en) 2005-12-09 2012-09-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for automatic comparison of data sequences using local and global relationships
US20070156734A1 (en) 2005-12-30 2007-07-05 Stefan Dipper Handling ambiguous joins
US7752233B2 (en) 2006-03-29 2010-07-06 Massachusetts Institute Of Technology Techniques for clustering a set of objects
JP4880376B2 (ja) * 2006-06-14 2012-02-22 株式会社日立製作所 支援装置、プログラム、情報処理システム及び支援方法
US7831617B2 (en) 2006-07-25 2010-11-09 Microsoft Corporation Re-categorization of aggregate data as detail data and automated re-categorization based on data usage context
US7562073B2 (en) * 2006-08-02 2009-07-14 Sap Ag Business object search using multi-join indexes and extended join indexes
US7870123B2 (en) * 2006-12-01 2011-01-11 Teradata Us, Inc. Database optimizer plan validation and characterizations
US7890480B2 (en) 2008-02-11 2011-02-15 International Business Machines Corporation Processing of deterministic user-defined functions using multiple corresponding hash tables
US8073840B2 (en) * 2008-06-17 2011-12-06 Attivio, Inc. Querying joined data within a search engine index
US8204901B2 (en) 2009-09-02 2012-06-19 International Business Machines Corporation Generating query predicates for processing multidimensional data
US9189535B2 (en) 2009-12-01 2015-11-17 International Business Machines Corporation Compensating for unbalanced hierarchies when generating OLAP queries from report specifications
US9886483B1 (en) * 2010-04-29 2018-02-06 Quest Software Inc. System for providing structured query language access to non-relational data stores
CN102314633A (zh) 2010-06-30 2012-01-11 国际商业机器公司 用于处理数据分析的设备和方法
US8484077B2 (en) * 2010-07-21 2013-07-09 Yahoo! Inc. Using linear and log-linear model combinations for estimating probabilities of events
CA2712028C (en) 2010-08-25 2011-12-20 Ibm Canada Limited - Ibm Canada Limitee Geospatial database integration using business models
CN102890678A (zh) 2011-07-20 2013-01-23 华东师范大学 一种基于格雷编码的分布式数据布局方法及查询方法
US9484743B2 (en) 2012-02-16 2016-11-01 General Electric Company Power distribution network event analysis using data from different data sources
US8682885B2 (en) * 2012-05-15 2014-03-25 Sap Ag Method and system for combining data objects
US8788506B1 (en) * 2012-05-21 2014-07-22 Google Inc. Methods and systems for estimating a count of unique items
US9582553B2 (en) * 2012-06-26 2017-02-28 Sap Se Systems and methods for analyzing existing data models
US9183048B2 (en) * 2012-12-20 2015-11-10 Oracle International Corporation System and method for implementing scalable contention-adaptive statistics counters
US9152670B2 (en) * 2012-12-20 2015-10-06 Teradata Us, Inc. Estimating number of iterations or self joins required to evaluate iterative or recursive database queries
CN103049556B (zh) 2012-12-28 2016-11-09 中国科学院深圳先进技术研究院 一种海量医疗数据的快速统计查询方法
US9268801B2 (en) 2013-03-11 2016-02-23 Business Objects Software Ltd. Automatic file structure and field data type detection
EP2973051A4 (en) * 2013-03-15 2016-11-16 Amazon Tech Inc EVOLUTIVE ANALYSIS PLATFORM FOR SEMI-STRUCTURED DATA
US9146979B2 (en) * 2013-06-13 2015-09-29 Sap Se Optimization of business warehouse queries by calculation engines
US20150039667A1 (en) * 2013-08-02 2015-02-05 Linkedin Corporation Incremental processing on data intensive distributed applications
US20150088925A1 (en) 2013-09-20 2015-03-26 Oracle International Corporation User interface for pivot views
WO2015066085A1 (en) * 2013-10-28 2015-05-07 Bawaskar Swapnil Prakash Selecting files for compaction
CN103631911B (zh) 2013-11-27 2017-11-03 中国人民大学 基于数组存储和向量处理的olap查询处理方法
US10055506B2 (en) * 2014-03-18 2018-08-21 Excalibur Ip, Llc System and method for enhanced accuracy cardinality estimation
US9633058B2 (en) * 2014-06-16 2017-04-25 International Business Machines Corporation Predictive placement of columns during creation of a large database
US9465831B2 (en) 2014-07-18 2016-10-11 Wipro Limited System and method for optimizing storage of multi-dimensional data in data storage
US9507824B2 (en) * 2014-08-22 2016-11-29 Attivio Inc. Automated creation of join graphs for unrelated data sets among relational databases

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675714A (en) * 1992-03-30 1997-10-07 Canon Kabushiki Kaisha Mode identifying method and output apparatus using such a method
US20070233644A1 (en) * 2000-02-28 2007-10-04 Reuven Bakalash System with a data aggregation module generating aggregated data for responding to OLAP analysis queries in a user transparent manner
US7630967B1 (en) * 2005-11-22 2009-12-08 At&T Intellectual Property Ii, L.P. Join paths across multiple databases
US20090228433A1 (en) * 2008-03-07 2009-09-10 International Business Machines Corporation System and method for multiple distinct aggregate queries
CN102156933A (zh) * 2010-02-11 2011-08-17 阿里巴巴集团控股有限公司 统计电子商务交易数据的方法和统计系统
CN103765935A (zh) * 2011-08-12 2014-04-30 日本电气株式会社 通信系统

Also Published As

Publication number Publication date
EP3238100A1 (en) 2017-11-01
US10120905B2 (en) 2018-11-06
SG11201705014TA (en) 2017-07-28
WO2016106246A1 (en) 2016-06-30
US20160179894A1 (en) 2016-06-23
JP6381170B2 (ja) 2018-08-29
JP2018190450A (ja) 2018-11-29
US20190073398A1 (en) 2019-03-07
US10831759B2 (en) 2020-11-10
EP3238100B1 (en) 2019-06-19
JP2018506107A (ja) 2018-03-01
CN107251017B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN107251017A (zh) 经由基数估计的有效联结路径确定
Diao et al. Automated creation of district metered area boundaries in water distribution systems
US9305019B2 (en) Method of associating user related data with spatial hierarchy identifiers for efficient location-based processing
CN111046237A (zh) 用户行为数据处理方法、装置、电子设备及可读介质
CN107408114A (zh) 基于事务访问模式识别联结关系
CN109359237A (zh) 一种用于搜索寄宿程序的方法与设备
Wang et al. Retrieving and indexing spatial data in the cloud computing environment
Gupta et al. Faster as well as early measurements from big data predictive analytics model
US11630806B1 (en) Method, apparatus, and computer program product for compression of a graph
CN105426375A (zh) 一种关系网络的计算方法及装置
Klise et al. Two-tiered sensor placement for large water distribution network models
CN109690571A (zh) 基于学习的组标记系统和方法
Mavridis et al. Object Completion using k‐Sparse Optimization
CN117235285A (zh) 融合知识图谱数据的方法及装置
CN107451461A (zh) 移动设备的设备指纹处理方法、装置、服务器及存储介质
Cobos et al. On a paper of Edmunds and Opic on limiting interpolation of compact operators between spaces
Brost et al. A computational framework for ontologically storing and analyzing very large overhead image sets
Ge et al. Impact of discretization methods on the rough set-based classification of remotely sensed images
Zhang et al. Multi-resolution 3D reconstruction of cultural landscape heritage based on cloud computing and hd image data
Gayathri et al. ex-FTCD: A novel mapreduce model for distributed multi source shortest path problem
Meng et al. Determining the number of facilities for large-scale emergency
CN109562297A (zh) 分区地形编辑
Lukaj et al. An enriched visualization tool based on google maps for water distribution networks in smart cities
Hackeloeer et al. Road network conflation: An iterative hierarchical approach
CN113297054A (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