CN101120340A - 超无共享并行数据库 - Google Patents

超无共享并行数据库 Download PDF

Info

Publication number
CN101120340A
CN101120340A CNA2005800054941A CN200580005494A CN101120340A CN 101120340 A CN101120340 A CN 101120340A CN A2005800054941 A CNA2005800054941 A CN A2005800054941A CN 200580005494 A CN200580005494 A CN 200580005494A CN 101120340 A CN101120340 A CN 101120340A
Authority
CN
China
Prior art keywords
auxilliary
node
dimension
database system
cut apart
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
CNA2005800054941A
Other languages
English (en)
Other versions
CN101120340B (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.)
Microsoft Corp
Microsoft Technology Licensing LLC
Original Assignee
Datallegro 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=35125731&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101120340(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Datallegro Inc filed Critical Datallegro Inc
Publication of CN101120340A publication Critical patent/CN101120340A/zh
Application granted granted Critical
Publication of CN101120340B publication Critical patent/CN101120340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

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

Abstract

一种超无共享并行数据库,包含至少一个主节点和多个辅节点。包含至少一个事实表和多个维度表的数据库在数据库系统中跨各辅节点分割与分布,这样,可以在不需要在辅节点之间传输数据的情况下并行处理查询。数据库的事实表和第一维度表跨各辅节点分割。数据库的其他维度表在每个辅节点上重复,而且这些其他维度表中的至少一个跨各辅节点分布。

Description

超无共享并行数据库
本发明要求2004年2月21日提交的美国临时专利申请No.60/546,428的权益,其内容通过引用并入此处。
技术领域
本发明涉及并行数据库系统,特别涉及无共享并行数据库系统。
背景技术
利用无共享体系结构设计的并行数据库系统包括多个节点,每个节点具有其自己的处理、存储器和磁盘资源。在这些系统中,数据库的表跨系统的各个节点分布。对于数据库的查询同时并行地运行在多个节点上。无共享并行数据库系统旨在提供线性扩张,其中增加系统中节点的数量以提高性能并使得可以处理较大的数据集。但是,由于诸如查询扭曲(query skew)等问题,传统的设计不能提供线性扩张。
当两个相对于同一数据库的且复杂程度相当的不同查询在执行时所花费的时间差异很大时就发生查询扭曲。在传统的无共享并行数据库中,查询扭曲的发生是由于在处理某些查询时需要在节点之间传输大量数据,而在处理其他查询时只有很少的数据传输或没有数据传输。这种数据传输降低了查询处理的速度,并在传统系统中造成了瓶颈。
例如,在一个有四个节点的传统系统中,数据库表通常按每个表的四分之一等量分布在每个节点上。典型的数据库查询包括了一个或多个“联结(join)”,该联结要对数据库的表进行扫描,查找一个表的主码(primary key)和另一个表的外码(foreign key)之间的匹配。为了处理带有两个数据表的联结,每个节点都必须将其所含一个数据表的一部分传输到另外的节点。依据要联结哪些数据表以及查询中包含多少联结,这种数据传输会耗费相当长的时间,因此延迟了查询的处理。随着数据集的不断扩大和查询会话的增加,查询扭曲会使系统的性能日益降低。由于这种问题的本质所限,在这种传统的系统中增加额外的节点并不能缓解这种查询处理的瓶颈。
因此,需要一种经过改进可以减轻查询扭曲的无共享并行数据库系统。此外,该经过改进的系统应减少系统操作所需要的管理开支,并应提供安全故障备援保护。
发明内容
本该发明通过提供一种超无共享并行数据库系统来解决上述的传统无共享并行数据库系统的缺陷。本发明的超无共享并行数据库系统对数据库的表进行分割并且使之分布于多个辅节点上,这样数据库的查询可以并行地处理,而不象现有技术那样在节点之间做大量的数据传输。这种数据库依照与数据库模式结构相关的一组规则以及表的相对规模来分布,本发明通过减少网络通信量及所造成的查询扭曲在很大程度上提高了系统的性能。
对于一个特定的数据库,事实表(fact table)与一个维度表(dimension table)都根据公共码(common key)来分割,并跨多个辅节点分布。数据库中小的维度表被复制到系统中所有的辅节点上。其余的维度表跨各辅节点分割,又被复制在所有的辅节点上。这样可使数据库系统在执行大部分查询时不会在各辅节点之间以及主、辅节点间产生大的网络通信量。
根据本发明的一方面,提供一种并行数据库系统,该系统包括主节点和多个辅节点;包括了事实表和维度表的数据库跨该数据库系统的各辅节点分布。为了分布数据库的表,事实表和第一维度表跨各辅节点分割。其余的维度表被复制到每一个辅节点,并且如果它们具有最小长度,它们也跨各辅节点分割。
事实表和第一维度表优选按公共码来分割。其余的维度表可以有选择地跨系统的各辅节点按行或按列分割。对数据库的查询可以被转换成至少一个子查询,该子查询可以由并行数据库系统中的各辅节点执行,而无需在辅节点之间的传输数据。
依据本发明的另一个方面,该并行数据库高速缓存该数据库系统产生的查询结果。主节点优选包含一个查询高速缓存用来高速缓存主节点和各辅节点产生的查询结果,而每个辅节点都包含查询高速缓存用以高速缓存各个辅节点的子查询结果。
根据本发明的另一方面,该数据库中每个辅节点都分配有一个或多个故障备援伙伴。除了储存有自己的表之外,每个故障备援伙伴都储存有其故障备援伙伴的全部或部分数据集。当某个辅节点发生故障时,本想在该故障辅节点执行的子查询由故障备援伙伴代替该故障辅节点来执行。
上述的本发明提供了一种高效、可靠的并行数据库系统。在数据库查询处理中消除了查询扭曲,因此可以使数据库接近线性地扩张。在查询所针对的表没有发生此期间内改变(intervening changes)的情况下,两级查询高速缓存减少了重复查询的处理量。最后,在各辅节点之间使用故障备援伙伴为在节点发生故障的情况下时可持续操作提供了成本有效的解决方法。
以上为该发明的概述。它可以帮助快速理解本发明的本质。通过参照以下关于本发明的详细说明和相关附图可得到对本发明的优选实施例的详细和完整的理解。
附图说明
图1示出无共享并行数据库系统硬件体系结构的示意图。
图2示出根据本发明的一个实施例的超无共享并行数据库系统软件体系结构的示意图。
图3示出用来生成辅模式的过程流程图。
图4示出主模式例子的示意图。
图5示出排序主模式表的过程流程图。
图6示出根据该发明的一个实施例将数据库的表批量加载到数据库系统的过程流程图。
图7示出将数据库表加载于数据库系统中辅节点的过程流程图。
图8示出将预分类数据直接批量加载于辅节点的过程流程图。
图9示出当接收到外部主机系统的新语句时所执行过程的流程图。
图10示出分析和处理SQL语句的过程流程图。
图11示出改变数据表的过程流程图。
图12示出在数据库表中更新/插入数据的过程流程图。
图13示出查询并行化过程的流程图。
图14示出运行单步查询的过程流程图。
图15示出在查询中将查询中的表名替换为辅模式中使用的表名的过程流程图。
图16示出在辅节点执行的用来运行查询的过程流程图。
图17示出多步查询过程的流程图。
图18示出在主节点故障时运行故障备援过程的流程图。
图19示出在辅节点故障时运行故障备援过程的流程图。
具体实施方式
本发明是改进的无共享并行数据库系统,称作超无共享并行数据库系统。该超无共享并行数据库系统的构造同传统的无共享并行数据库系统类似,使用至少一个主节点和多个辅节点。图1示出该超无共享并行数据库系一个实施例的硬件体系系统。
图1示出数据库系统10的配置,其中包括了主节点11和辅节点12a至12n。为了使该图简明,图1只包含了一个主节点11。然而,如下面详细描述的,本发明的其他实施例在数据库系统10中包含多个主节点11。主节点11和辅节点12a至12n通过网络13相互连接。网络13优选是用来提高系统10可靠性的冗余网络。可替换地,在非关键的应用中,可以使用非冗余网络。网络13可以使用本领域技术人员所熟知的任何网络技术和协议来实现。网络例子包括但不局限于:以太网上的TCP/IP和Infiniband上的MPI(Message Passing Interface,消息传递接口)。
数据库系统10的每个节点都具有其自己的处理、存储器和磁盘资源。特别是主节点11包含:中央处理单元(CPU)14,随机存取存储器(RAM)15和磁盘16。辅节点12a至12n分别包括CPU17a至17n,RAM 18a至18n以及磁盘19a至19n。CPU执行存储在每个磁盘中的软件模块的程序指令。CPU使用RAM作为工作空间来加载指令序列并储存和操纵数据。尽管每个节点被描绘为拥有单个CPU和单个硬盘,本领域的技术人员可以认识到每个节点可包含多个CPU和多个磁盘来改进系统的性能。例如,本发明的一个实施例使用具有双处理器和12个硬盘的磁盘阵列的节点。
除了基本的软件组件,如操作系统和设备驱动程序外,数据库系统10的每个节点都要储存并执行用以执行本发明的软件模块。图2是示出数据库系统10的软件体系结构的示意图。主节点11包括:流管理软件20,查询高速缓存软件21,结构化查询语言(SQL)分析软件22,辅模式生成软件23,更新/插入软件24,查询并行化/最优化软件25,多步查询执行软件26,结果分析软件28,日期分割维护软件29,批量加载软件30,数据库管理系统(DBMS)31和系统管理软件32。在使用多个主节点的实施例中,每个主节点配置有上述软件模块。每个辅节点分别包括DBMS(DBMS 33a至33n)和辅管理软件34a至34n。最后,管理控制台(console)软件35安装在一个或多个主节点上,并可以通过与主节点连接的终端或通过运行于独立于数据库系统10的计算机中的客户端程序来访问。
上述软件模块存储于数据库系统各节点的各磁盘上,并且由这些节点的各CPU执行。在优选实施例中,所有的节点都有相同的硬件结构,并且通过在特定节点上加载并执行相应的软件模块就可以充当主节点或可充当辅节点。根据该发明的一个实施例,各软件模块使用Java编程语言来实现。然而本领域技术人员可知道其他编程语言可用于实现所述各软件系统中的一个或多个。在本发明的操作说明中提供这些软件模块操作的细节描述。
本发明较传统的无共享并行数据库设计的重大改进在于它在运行诸如联结的数据库查询时在很大程度上减少了在节点之间传输数据的需求。这种改进是通过使用一组规则来自动地跨数据库10的各辅节点来分割、分布数据库的表。根据所生成的辅模式来执行数据库表的分割和分布。
外部主机系统给数据库系统10发送定义主模式的元数据。流管理软件20接收到包含有元数据的流,并将该元数据转发到DBMS 31。为了为所转发的主模式生成辅模式,DBMS 31将主模式的元数据转发给辅模式生成软件23。当收到该主模式后,辅模式生成软件23应用一组规则来生成辅模式。辅模式定义了数据库的表如何跨辅节点12a至12n来分割和分布。图3的流程图示出根据该发明的一个实施例由辅模式生成软件23为生成辅模式而执行的过程。图3示出的过程中嵌入了用于生成辅模式的一组规则。
在步骤S300,辅模式生成软件23接收由连接到数据库系统10的外部主机系统所提供的主模式。主模式可包括但不局限于星型模式、雪花模式及规范化模式。图4示出雪花模式的例子,是由事务处理协会(Transaction Processing Council)建立的用于数据库标准基准例(benchmark)。该图示包含了一个事实表(LINEITEM,订单项)和多个维度表(ORDERS(订货),CUSTOMER(客户),PART(零件),PARTSUPP(零件供应),SUPPLIER(供应商),NATION(国家),REGION(地区))。事实表被定义成这样的表,它与其他表没有在其中它作为双亲的双亲子女关系。维度表被定义成这样的表,它与另一个表具有在其中它作为双亲的双亲子女关系。虽然图4示出的模式只包含一个事实表,但应该理解,数据库模式可包含多个事实表。
在步骤S301中,排序该主模式的各表以准备生成辅模式。图5示出排序主模式表的过程。在步骤S500中,识别主模式内的所有事实表。对于每一个识别的事实表,在步骤S501从该事实表向外探索由主模式定义的各表关系以识别第一维度表并且在步骤S502排序其他相关的维度表。根据它们的位置和与该事实表的关系来排序各维度表。参见图4中示出的主模式,订单项LINEITEM表被识别为该主模式的唯一事实表。从LINEITEM向外探索,识别ORDERS、PART、PARTSUPP及SUPPLIER表作为与LINEITEM表有直接关系的表。根据诸如长度的特定判据,来排序这些第一层的表。在该第一层内第一个排序的表,如ORDER表,被确认为第一维度表。根据表的关系和特定的次序判据来排序剩余的维度表。
为了使用并行数据库系统来有效处理查询,较大和较频繁存取的表应尽可能平均、高效地跨各辅节点分布。在这方面,本发明采用了与用于传统无共享数据库系统相类似的方法。本发明的特别之处在于它利用公共码对事实表和第一维度表进行哈希分割。通过利用公共码对这些表进行哈希分割,把给定的码值映射到特定节点上,在不需要在辅节点之间传输数据的情况下,可处理联结了这两个表的查询。在图3示出的步骤S302中,对每个配对的事实表和第一维度表标记出哈希码。再次参见图4示出的主模式,订货码(ORDERKEY)被标记为哈希码,因为它是ORDERS表(第一维度表)的主码也是LINEITEM表(事实表)的外码。
一旦排序了数据库表并且标记了哈希码,辅模式生成处理就准备就绪来生成辅模式。检验主模式中的每个表,在辅模式中生成一个或多个相应的表。首先在步骤S303,判定当前表是事实表还是第一维度表。事实表和第一维度表的每个跨各辅节点水平分割和分布。这样,每个辅节点负责主模式中每个事实表和每个第一维度表的水平分割的一部分。
在典型的数据库中,表经常包含有大量文本。该文本通常位于表中的备注字段中。本发明的可选特征是垂直分割这样的表,将这些大的备注字段移出,并将它们置于该辅模式内单独的表中。为了确保这些行在两个表内的排列顺序完全一样,可通过使用行标识符来查找特定行的备注字段。垂直分割选择既可以设置成为默认规则,又可以通过使用来自系统管理员的输入来设置。在步骤S304判定这些表是否是垂直分割的。如果没有设定垂直分割,那么在步骤S503在辅模式内生成水平分割的表。如果设定了垂直分割,那么在步骤S306在辅模式内生成一组垂直分割的表。这些垂直分割的表为水平分割表的垂直部分,并且整体上等同于在步骤S305生成的水平分割表。
根据本发明的优选实施例,把包括事实表和第一维度表在内的每个表的完整副本存储在每个辅节点上。在步骤S307,如果被检查的表既不是事实表也不是第一维度表,则在辅模式中生成完整的表。通过把这些外部维度表的每个都放置在每个辅节点上,例如外部维度表与事实表或第一维度表之间联结的查询,可以按并行方式执行,而不需要在辅节点之间传输表数据。
除了每个外部维度表的完整副本,本发明的优选实施例还可选地跨各辅节点分割与分布外部维度表。通过在各辅节点包含外部维度表的完整副本和外部维度表的分割,可以优化查询来引用辅节点上的表,这将产生最佳系统性能。然而,某些数据库的表并不能产生足够的性能增益来证实这种附加的处理和存储空间的合理性。例如,跨各辅节点分割和分布较小的数据库表就可能不会带来显著的性能改进效果。相应地,本发明的这个方面是一种选择,可以设置成默认规则,或根据系统管理员的输入不分割某些外部维度表,如那些小于特定长度的表。
在步骤S308判定是否要分割当前表。如果没有设置分割选项,或者该表满足分割条件,在步骤S309判定是否设置了表的垂直分割。如果垂直分割未被设置,则在步骤S310生成辅模式中的水平分割的表。如果设置了垂直分割,则在步骤S311生成辅模式中的一组垂直分割表。这些垂直分割的表为水平分割表的垂直部分,并且作为整体等同于在步骤S301生成的水平分割表。
一旦检验了主模式中所有的表,并且在辅模式中建立了适当的表,所生成的辅模式被存储在DBMS 31中,并在步骤S312被发送至每个辅节点。主节点和辅节点使用辅模式用以将数据库表加装载和分割至数据库系统中。
用于特定数据库的数据通过主节点之一或者专门的批量加载节点来批量加载至本发明的数据库系统。图6示出向数据库系统中批量加载数据的过程。对于每个待加载的表,该过程包括在步骤S601通过在相关的表上设置适当的封锁来使辅节点准备接受收数据并在步骤S602向所有的辅节点发送用于每个表的数据。优选地,通过一个由节点间网络提供的多路传送装置把数据传送至各辅节点。
在步骤S603,辅节点接收的表根据辅模式进行分割。图7示出在辅节点加载和分割表的过程流程图。为了在特定的辅节点上加载和分割表,辅管理软件34检查表的每一行。在步骤S700判定表是否完全加载。在这种情况下,在步骤S701把每一行加载至相应的表里。在步骤S702判定该表是否按分割的形式保持。如果是,在步骤S703检查每一行,判定该行是否存在于该特定辅节点的分割的表中。注意,每一辅节点负责分割后的表的行的唯一的部分。通过使用任何一种已知的用于划分和分布表行的算法来进行分割。优选地,各表跨各辅节点平均分割。根据用于分割表行的算法,判定特定辅节点是否对被检查的行负责。
本发明的可选特征是利用日期分割来分割与分布数据。利用日期分割,数据库中的表根据数据内相关的日期来分割与分布。可以使用指定的规则或通过系统管理员输入控制来设置所述日期。例如,特定年、季度或者月份的日期可以存储在不同的辅节点上。存储这些经日期分割的表并用来处理日期敏感的数据库查询。日常地维护日期分割的表以去除不在相关日期范围内的数据。优选地,经日期分割的表存储在专门用于日期分割的辅节点上。然而,日期分割的表也可以与其他已分割和未分割的表一同存储在标准的辅节点上。
在步骤S704,判定特定辅节点是否是日期分割的辅节点,如果是,则在步骤S705确定被检验的行是否在辅节点所存储的日期范围内。如果该辅节点是日期分割的辅节点,并且该行属于该相关日期范围内,那么在步骤S706判定该行是否基于该辅模式来垂直分割。对于垂直分割的行,在步骤S707把该行写入相应一组垂直分割表中。如果该行未被垂直分割,那么在步骤S708把该行写入相应水平分割的表中。
本发明的可选特征是使用若干已知分割算法中的任何一种在辅节点中使用进一步的表分割。例如,可以通过哈希值或日期范围来分割。
本发明的数据库系统还设计成提供故障备援保护。为了实现这种保护,对辅节点分配故障备援伙伴。除了它自己的分割表,每一个辅节点还存储有其故障备援伙伴的分割表,并且使用同样的算法来更新相关的表,如上描述。使用这种故障备援系统提供了高级的可靠性,而不需要在每个节点上使用镜象或基于均等的(parity-based)磁盘阵列。这样可以减少实现成本,因为RAID Level0磁盘系统可以用来提供更高的性能而不用增加与高级RAID系统相应的成本。
如果被检验的行不在该辅节点的日期分割表的日期范围内,或者如果该辅节点没有储存日期分割表,则在步骤S709中判定该行是否在该辅节点垂直分割。如果该行是垂直分割的,则在步骤S710将其写入相应一组垂直分割表。
在步骤S711判定该行是否为该辅节点中水平分割表的一部分。如果该行是水平分割表的一部分,在步骤S712把该行写入该表内。
一旦某特定表的所有行被添加到数据库,各种受影响的物理表的索引在步骤S713中更新。
本发明的另一个性能增强特征是查询高速缓存和临时表高速缓存的使用。在每一个主节点上的DBMS 31中和在每一个辅节点的DBMS33中存储和维护查询高速缓存。该查询高速缓存用于存储在特定节点上运行的查询的结果。在每个主节点内的DBMS 31中存储并维护临时表高速缓存以存储由该主节点在执行多步查询时生成的临时表。当表加载到数据库系统中时,必须清空包含有根据这些表的以前版本所生成结果的查询高速缓存和临时表高速缓存。相应地在步骤S604清洗(flush)相关查询高速缓存和临时表缓存,这些高速缓存的更详细操作说明在下面给出。
前面描述了通过分类和分割表把表批量加载至数据库系统的各种处理。向数据库系统加载数据的可选处理是利用外部主机来预分类数据,该外部主机可存取所生成的辅模式和影响数据分布的任何系统设置。经预分类的数据可以绕过主节点直接加载到辅节点中。图8示出批量加载预分类数据过程的流程图。
如图8所示,检查预分类数据的每个表和分割,并加载到相应的辅节点上。对于完整存储在辅节点上的每个表,在步骤S800使所有辅节点都准备好批量加载该表,并且在步骤S801把完整的表内容发送至所有的辅节点。对于已分类数据的每个分割,在步骤S802使辅节点的所分配的故障备援集准备好加载该分割并且在步骤S803把该分割发送至该故障备援集。最后在步骤S804,清洗相应的查询高速缓存和临时表缓存。
根据本发明的一个实施例,外部主机系统用SQL语句同该数据库系统通信。SQL语句通常被主机系统分离成流(stream)。每个流都对应特定的用户或应用程序。使用流来组织SQL语句确保了语句由数据库系统按正确的顺序来执行。数据库系统所接收的SQL语句由每个主节点上的流管理软件20来管理。图9示出流管理软件20当从外部主机系统接收了新语句时所执行过程的流程图。
如上所述,本发明的数据库系统包含了一个或多个主节点。由外部主机系统发送的SQL语句被每个主节点接收并按图9所示的方式来处理。特别地,对于每一个主节点流,管理软件20在步骤S901判定所接受语句是一个新流的开始还是数据库系统已经处理过的已存在流的一部分。如果该语句为新流的开端,流管理软件20在步骤S902判定该流是否应由该特定主节点控制。在数据库系统中,每个流都由一个主节点控制。每个主节点上的流管理软件20与其他主节点通信来确定由哪个主节点来控制进入的流。可通过使用已知的负载平衡算法来确定流控制。如果在步骤S902中确定相应的主节点来控制该流,流管理软件20在步骤S903通知其他主节点该流由该主节点控制。
当每条语句被主节点接受,每个主节点上的查询高速缓存软件21在步骤S904中把该语句同该主节点的查询高速缓存做比较。如上所述,每个主节点在查询高速缓存中存储有以前查询的结果。在步骤S904中,把该语句同查询高速缓存做比较来确定是否相同的语句已被该主节点处理过并且所针对的表没有发生此期间内的改变。如果以前处理过相同的语句,在步骤S905从查询高速缓存中检索出该语句的相应结果集并传送给外部主机系统或控制该查询流的主节点,并且主节点对该语句的处理终结。如果在查询高速缓存中没有找到该语句,则在步骤S906确定所接受的语句是否为由相关主节点控制的流的一部分。如果该主节点控制该特定的流,则在步骤S907由SQL分析软件22处理该语句。如果该语句并不是由相关主节点控制的流的一部分,那么主节点对于该语句的处理结束,并且流管理软件20等待接受下一个语句。
图10示出由SQL分析软件22所执行的为进一步处理语句做准备的过程的流程图。为使每条语句准备好进一步处理,在步骤S1001对该语句分离句元(tokenize),并且在步骤S1002分析各句元。最后,在步骤S1003调用相关的子例程来处理经分析的语句。可能的子例程包括但不局限于改变表、更新/插入数据和查询并行化。
图11示出由SQL分析软件22调用的用以改变数据库表的子例程所执行的过程流程图。数据库表的改变主要由辅模式生成软件23来执行。该过程在步骤S1100中开始,该步骤确定待改变的表是事实表还是第一维度表。若该表是事实表或第一维度表,在步骤S1101确定待改变的表是否是垂直分割的。若该表未被垂直分割,则在步骤S1102,根据存储于主节点的DBMS 31中的以及每个辅节点上元数据在相应的水平分割表中进行对该表的改变。如果待改变的表被垂直分割,则在步骤S1103根据存储于主节点的DBMS 31中的以及每个辅节点上元数据改变相应一组垂直分割表。
如果待改变的表不是事实表或第一维度表,则在步骤S1104,根据存储于主节点的DBMS 31中的以及每个辅节点上元数据改变相应的表。在步骤S1105判定待改变的表是否在辅节点上被分割。如果该表被分割,那么在步骤S1106判定该表是否被垂直分割。如果该表不是被垂直分割,则在步骤S1107改变相应水平分割表的元数据和实际的表内容。如果该表是垂直分割的,则在步骤S1108改变相应一组垂直分割表的元数据和实际表内容。最后在步骤S1109,清洗依赖该被改变表的查询高速缓存数据项和临时表高速缓存数据项。
图12示出由SQL分析软件22调用的用于更新数据库或向数据库中插入数据的更新/插入子例程所执行的过程流程图。对于每一个被更新或插入的行,在步骤S1200确定该行是否为该辅节点上只以分割的形式保持的表的一部分,例如事实表或第一维度表。如果该行所在的表并不是只以分割的形式保持,则在步骤S1201把该行写入该系统的每一个辅节点。如果该行是只以分割的形式保持的表的一部分,则在步骤S1202根据适当的哈希码和可选的相关日期分割该行,并在步骤S1203将其写入相关辅节点上分割的表中。在步骤S1204,更新数据库中所有改变的表的索引。最后在步骤S1205,清洗所有依赖数据被更新/插入的表的查询高速缓存和临时表高速缓存的数据项。
通过查询并行化软件25来处理并优化查询语句。图13示出了查询并行化过程的流程图。在步骤S1301确定查询是否查找由数据库系统中任何日期分割集所覆盖的特定日期范围。如果该查询寻找由日期分割所覆盖的日期范围,则在步骤S1302指定用于该特定日期范围的辅节点的组以用于处理该查询。如果该查询并不查找特定的日期范围,或者该日期范围与所有日期分割集合中任何一个都不对应,在步骤S1301中指定所有辅节点用来处理该查询。步骤S1304、S1305和S1306确定如何根据查询结构在辅节点上执行查询并使用本领域所熟知的技术。在步骤S1304中,必须单独运行的子查询被分成两个单独的查询。首先执行该子查询,并在主节点上收集中间结果,然后把中间结果连同该查询的其余部分返回到辅节点作进一步处理。在步骤S1305中,把外部联结(outerjoin)分解成多个一起在辅节点和主节点上执行的查询以完成该查询。最后在步骤S1306,查询优化程序对多步和单步的执行策略的成本进行评估,然后选择成本最小的方案,同样使用本领域人员所熟悉的技术。然后,该查询被传递到用于单步查询的步骤S1307,或传递到用于多步查询的步骤S1308,之后,在步骤S1309把结果集返回主机。
图14示出运行单步查询的过程流程图。从外部主机系统接收查询,使用主模式的表名来引用表。为了使用辅接点并行处理该查询,表名必须被相应辅模式中的表名所代替。在替换的实施例中,主模式中使用的表可以在所生成的辅模式中使用,这样单步查询可以直接传递到辅节点。在步骤S1401,在查询中引用的表名被辅模式中相应的表名替代。图15示出了替代在查询中使用的表名的过程。
在步骤S1500中,该查询中的联结和表从事实表向外进行重新排序。在步骤S1501检验经排序的查询以确定在该查询中是否有待运行的联结。如果该查询不包含联结,在步骤S1502确定该查询中使用的表是否只以分割的形式保持在该辅节点。如果表完全保持在该辅节点上,不替换表名并且处理结束。如果该表只以分割的形式保持,在步骤S1503确定该表是否在辅模式中垂直分割。如果该表不是垂直分割的,则在步骤S1504用相应水平分割表的表名替换所述表名。如果该表在辅模式之中被垂直分割,则在步骤S1505判定该查询是否使用任何这样的列,如被垂直分割移去的大型备注字段。如果查询中没有使用被移走的列,在步骤S1506用相应垂直分割表的表名替换所述表名。如果在该查询中使用被移去的列,该表名被相应垂直分割表替换,并且在步骤S1507修改查询以便从包含移走列的表中得到相应的行。这可以利用使用本领域熟知的技术通过使用行标识符来实现。
如果在步骤S1501判定查询包括联结,每个联结依次被检验。对当前联结中每一个表,在步骤S1508判定该表为事实表还是第一维度表。如果该表是事实表或第一维度表,在步骤S1509确定该表是否在辅模式中垂直分割。如果该表不是垂直分割的,在步骤S1510用相应水平分割表的表名替换该表名。如果该表被垂直分割,在步骤S1511判定该查询是否使用在垂直分割中移去的列。如果该查询中没有使用移出的列,在步骤S1512用相应垂直分割表的表名替代该表名。另外,如果在查询中使用任何移去的列,该表名被相应的垂直分割表替换,并且在步骤S1513修改该查询以便从包含有移出列的表中取得相应行。以上目的通过使用本领域技术人员熟悉的技术通过行标识符来达到。
如果在步骤S1508判定该表不是事实表或第一维度表,则在步骤S1514判定已经检验的查询中使用的任何表名是否已被相应水平分割表的表名替代。如果该查询中不包含水平分割表的名称,过程进至步骤S1509。按上述方式重复步骤S1509至S1513。如果表名被水平分割表表名替代,则在步骤S1515判定该表是否具有该水平分割表已使用的同样的分割码。如果该表有同样的分割码,该联结在表的共处分割之间执行,并且该过程进至步骤S1509至S1513,如上所述方式来执行。如果该表没有相同的分割码,不替换表名并且处理结束。
回到图14,一旦表名在步骤S1401中被替代,在步骤S1402中通过本领域技术人员熟知的技术为辅节点上使用的特定数据库优化该查询。例如,可改变与I/O周期相关的CPU周期的成本设置,这样可以更有效的地执行查询。然后,优化的查询在步骤S1403中被传送至辅节点。当辅节点故障时,查询被发送至包括其他辅节点在内的该故障辅节点的合适的故障备援伙伴,下面将详细说明。每个辅节点的辅管理软件34接收并且处理来自该负责主节点的查询。图16示出当新查询被接收时由辅管理软件执行步骤的流程图。注意在一些情况中,查询可以在不需要辅管理软件干预的情况下由辅节点上的DBMS来直接执行。
当从主节点上接收到新的查询时,辅查询软件34在步骤S1 600判定该查询是否必须为在该辅节点使用的DBMS做转换。本发明的系统设计不需要在系统辅节点级使用专门的DBMS。该特征降低了系统成本和系统实现的时间,因为可以在辅节点上使用现有的DBMS。如果需要转换,在步骤S1601为特定的DBMS来转换查询。在步骤S1602判定是否需要执行任何优化,以便在特定DBMS中运行该查询。如果需要优化,则在步骤S1603优化该查询。
类似于在主节点级执行的处理,对照查询高速缓存来检查新查询以确定该查询是否已经相对该数据库运行并且该查询中引用的表没有发生此期间内的改变。辅管理软件34为故障备援表和为分配给特定辅节点的本地表维护查询高速缓存。某些DBMS产品包含自带的查询高速缓存。如果运行在辅节点的DBMS维持查询高速缓存,辅管理软件34无需检查或维持其自己的查询高速缓存。与主节点级维持的查询高速缓存一道,本发明提供了两级查询高速缓存,通过防止查询过程中不必要的重复来提高系统的性能。
在步骤S1604,对照查询高速缓存比较所接收的查询。如果在该查询高速缓存中找到该查询,在步骤S1605从查询高速缓存中检出该结果集。如果在查询高速缓存中没有找到该查询,在步骤S1606把该查询传送至DBMS来运行。
一旦得到结果集,辅管理软件34在步骤S1607判定在将结果集(一个或多个)返回至主节点之前是否需要对结果集(一个或多个)做后处理。若需要后处理,则在步骤S1608执行后处理。最后,在步骤S1609把结果集(一个或多个)返回发出该查询的主节点。
再次回到图14,位于主节点上的结果分析软件28从各个用来处理该查询的辅节点接收结果集。在步骤S1404,结果集分析软件28在所接受到的结果集上执行后处理。后处理包括但不局限于:把结果集组合成的单一的结果集,在该结果集内组织各结果,将结果集格式化成与提交该查询的外部主机系统相兼容的格式。
图17示出依据该发明的一个实施例中多步查询处理的流程图。在步骤S1701中,该查询被分裂成两个或更多个辅查询。将这些查询分裂成多个将在各辅节点上串行运行的辅查询消除了在辅节点之间传输数据以处理原始查询的需求,并提高了运行这些查询的系统效率。
多步查询依赖运行该查询的主节点上临时表的使用。这些临时表存储通过运行各个辅查询而产生的中间结果集。临时表被用来积累来自每一辅查询的结果集。另外,临时表可被发送至辅节点来运行后续的辅查询,该辅查询在辅节点上联结临时表与本地表。
与在数据库系统中主节点和辅节点上使用的查询高速缓存相似,每个主节点维持临时表高速缓存,用来存储临时表的副本,这些副本是为由该主节点在该主节点的DBMS 31中执行的辅查询而生成的。当执行辅查询时,在步骤S1702对照临时表高速缓存检查该辅查询来判定该特定辅查询是否已经被运行并且临时表所依赖的下层表没有此期间内的改变。如果在临时表高速缓存中没有匹配,在步骤S1703建立对于该辅查询的临时表。然后在步骤S1704至S1707运行辅查询并处理结果。在这些步骤中执行的动作同图14中步骤S1401至S1404所执行的动作相对应,因而不再赘述。
一旦辅查询被处理或者对辅查询的匹配在临时表高速缓存中发现,主节点在步骤S1708判定是否还有其他剩余的辅查询。如果还有另外的辅查询待运行,在步骤S1709判定后续的辅查询是否需要临时表来处理。如果在辅节点上要求临时表,则在步骤S1710把临时表发送至该辅节点,并且该处理返回至步骤S1702。如果临时表未被要求,该处理直接回到步骤S1702用于下一个辅查询。
如图13所示,一旦从外部主机系统接收的查询被执行和处理,或作为单步查询或作为多步查询,最终的结果集在步骤S1309返回外部主机系统。
本发明的数据库系统中每一主节点与系统管理软件32具有接口以监视数据库系统中其他节点的状态。适用的系统管理软件包括IPMI(智能平台管理接口)和英特尔的System Manager。
当接收到主节点故障的通知,流管理软件20向管理控制台35发送系统状态信息,指示主节点的故障。系统管理员使用管理控制台35来追踪数据库系统的状态,并识别需要修复或替换的故障节点,以此来维持系统性能。一旦管理控制台35被告知主节点故障,流管理软件20执行主节点故障备援处理。
图18示出数据库系统中主节点发生故障时由流管理软件20执行的故障备援处理的流程图。对于由该故障主节点管理的每个流执行图18示出的处理。在步骤S1800中,主节点判定它是否应为该故障主节点的特定流负责。根据本发明的一个实施例,这种判定是在数据库系统中可工作主节点之间通过使用相同的负载平衡方法做出的,该方法用于处理数据库系统接受的新流。然而本领域技术人员所知道的其他方法也可用来做这种判定。如果该主节点判定它对该特定流负责,则该主节点在步骤S1801中通知其他主节点它正在控制该流。
一旦主节点对流行使控制,来自该流的每个未完成语句由该主节点接管。在步骤S1802,通过使用众所周知的事务管理技术来回滚未完成的语句。之后,在步骤S1803中重新执行该语句。这样,每个由故障主节点控制的流被可工作主节点接管,由此来保证数据库系统的运行。一旦故障主节点被恢复或替换,则它就可用于处理数据库系统所接收的新流。
除了监视数据库系统中其他主节点以外,系统管理软件32还监视系统中每一个辅节点。图19示出数据库系统中辅节点故障时所执行处理的流程图。在辅节点发生故障时,在步骤S1900把该故障通知给流管理软件20。流管理软件20通过管理控制台35通知系统管理员该节点故障。对每个涉及该故障节点的未完成事务,流管理软件20使用替换该故障辅节点的相应故障备援伙伴(一个或多个)在步骤S1901回滚该未完成事务并在步骤S1902重新执行该事务。
在故障的辅节点被恢复或替换的期间,主节点在正常工作的辅节点及相应的故障备援伙伴辅节点上执行查询。这样,数据库系统的运行在辅节点发生故障时也能得到保障。一旦该辅节点被恢复或替换,主节点回到正常查询处理中。
本发明的另外实施例包括了使用分层的主节点配置来管理大量辅节点。在这种配置中,由被划分到多个层的主节点来执行查询以提高性能。除此之外,一些在辅节点级的执行处理可被转移到主节点级。其他的实施例包括使用用于数据库系统中辅节点的共享存储系统来代替上述直接连接的存储装置。故障备援数据可以存储在共享的存储装置中,这样使得任何可用辅节点可以为故障节点执行故障备援任务。
上述超无共享并行数据库系统与传统无共享并行数据库系统相比有显著优点。首先,本发明的数据库系统避免了查询扭曲和对数据库系统性能上的其他不利影响。其次,跨数据库系统中各辅节点的分割与分布是自动完成的。这可以提高系统性能,而不增加系统管理的复杂性。第三,用来缓存查询结果的两级高速缓存系统避免了多次处理相同查询的不必要重复。最后,数据库故障备援处理可在节点发生故障时维持系统操作。
以上说明旨在描述本发明的优选实施例。然而以上叙述的例子并不用于限制本发明的范围。本发明由权利要求书来阐明。应该理解,在不背离本发明的精神和范围的前提下,所说明的例子还可以有各种改型。

Claims (29)

1.一种并行数据库系统包括:
主节点;
多个辅节点;
用于跨所述多个辅节点分布数据库的装置,所述数据库包括事实表和多个维度表,
其中该事实表和第一维度表跨所述多个辅节点分割,
其中该数据库的所有其他维度表在所述多个辅节点中每一个上重复,而且
其中具有最小长度的可达多个的其他维度表也跨所述多个辅节点分割。
2.根据权利要求1所述的并行数据库系统,其中所述可达多个的其他维度表按行分割。
3.根据权利要求1所述的并行数据库系统,其中所述可达多个的其他维度表按列分割。
4.根据权利要求1所述的并行数据库系统,其中所述可达多个的其他维度表按列和行分割。
5.根据权利要求1所述的并行数据库系统,其中所述事实表和第一维度表按行分割。
6.根据权利要求5所述的并行数据库系统,其中所述事实表和第一维度表按公共码做哈希分割。
7.根据权利要求5所述的并行数据库系统,其中所述事实表和第一维度表按列分割。
8.根据权利要求1所述的并行数据库系统,其中该数据库的表跨所述多个辅节点按日期分割。
9.根据权利要求1所述的并行数据库系统,其中所述分割装置跨所述多个辅节点自动分割和分布数据库表。
10.根据权利要求1所述的并行数据库系统,进一步包括用于相对于该数据库把查询转换成至少一个子查询的装置,所述子查询可由所述并行数据库执行且不需要在所述辅节点之间传输数据。
11.根据权利要求10所述的并行数据库系统,进一步包括用于高速缓存所述并行数据库所产生的查询结果的装置。
12.根据权利要求11所述的并行数据库系统,其中所述主节点包括用于高速缓存由所述主节点产生的查询结果的装置。
13.根据权利要求12所述的并行数据库系统,其中所述多个辅节点的每个包括用于高速缓存由相应辅节点产生的子查询结果的装置。
14.根据权利要求1所述的并行数据库系统,其中对所述多个辅节点的每个,存储在相应辅节点的数据集的副本也存储在所述多个辅节点中被分配给该相应辅节点作为故障备援伙伴的另外辅节点。
15.根据权利要求14所述的并行数据库系统,其中需要由故障辅节点执行的子查询由该故障辅节点的故障备援伙伴来执行。
16.一种用于在并行数据库系统中管理数据库的方法,该数据库包括事实表和多个维度表,所述方法包括步骤:
识别该数据库中的事实表和第一维度表;
跨多个辅节点分割该事实表和该第一维度表;
在该多个辅节点的每一个上重复其他维度表的每一个,以及
跨该多个辅节点分割具有最小长度的可达多个的其他维度表。
17.根据权利要求16所述的方法,其中所述可达多个的其他维度表按行来分割。
18.根据权利要求16所述的方法,其中所述可达多个的其他维度表按列来分割。
19.根据权利要求16所述的方法,其中所述可达多个的其他维度表按行和列来分割。
20.根据权利要求16所述的方法,其中所述事实表和第一维度表按行分割。
21.根据权利要求20所述的方法,其中所述事实表和第一维度表按公共码做哈希分割。
22.根据权利要求20所述的方法,其中所述事实表和第一维度表按列分割。
23.根据权利要求16所述的方法,进一步包括跨多个辅节点根据日期分割数据库表。
24.根据权利要求16所述的方法,进一步包括相对于该数据库将查询转换成至少一个子查询,该子查询可由该并行数据库系统执行并且不需要在辅节点之间传输数据。
25.根据权利要求24所述的方法,进一步包括在主节点高速缓存查询结果。
26.根据权利要求25所述的方法,进一步包括在相应辅节点高速缓存所述至少一个子查询的结果。
27.根据权利要求16所述的方法,进一步包括把来自辅节点的数据集副本存储在分配给该辅节点的故障备援伙伴上。
28.根据权利要求27所述的方法,进一步包括在故障辅节点的故障备援伙伴上执行要由该故障辅节点执行的子查询。
29.存储在计算机可读存储介质上的计算机可执行处理步骤,所述处理步骤用来执行权利要求16至28中任何一项所述的方法。
CN2005800054941A 2004-02-21 2005-02-17 超无共享并行数据库 Active CN101120340B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US54642804P 2004-02-21 2004-02-21
US60/546,428 2004-02-21
PCT/US2005/005199 WO2005098655A2 (en) 2004-02-21 2005-02-17 Ultra-shared-nothing parallel database

Publications (2)

Publication Number Publication Date
CN101120340A true CN101120340A (zh) 2008-02-06
CN101120340B CN101120340B (zh) 2010-12-08

Family

ID=35125731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800054941A Active CN101120340B (zh) 2004-02-21 2005-02-17 超无共享并行数据库

Country Status (9)

Country Link
US (1) US7818349B2 (zh)
EP (1) EP1716505B1 (zh)
JP (1) JP4777972B2 (zh)
KR (1) KR101114149B1 (zh)
CN (1) CN101120340B (zh)
AU (1) AU2005231230B2 (zh)
CA (1) CA2556979A1 (zh)
MX (1) MXPA06009355A (zh)
WO (1) WO2005098655A2 (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
CN101916280A (zh) * 2010-08-17 2010-12-15 上海云数信息科技有限公司 并行计算系统及按查询内容进行负载均衡的方法
CN102323946A (zh) * 2011-09-05 2012-01-18 天津神舟通用数据技术有限公司 并行数据库中算子复用的实现方法
CN103092886A (zh) * 2011-11-07 2013-05-08 中国移动通信集团公司 一种数据查询操作的实现方法、装置及系统
WO2014015492A1 (zh) * 2012-07-26 2014-01-30 华为技术有限公司 数据分布的方法、装置及系统
WO2014040426A1 (zh) * 2012-09-14 2014-03-20 华为技术有限公司 查询处理方法和装置
CN103927337A (zh) * 2014-03-26 2014-07-16 北京国双科技有限公司 用于联机分析处理中关联关系的数据处理方法和装置
CN104252452A (zh) * 2013-06-25 2014-12-31 腾讯科技(深圳)有限公司 数据管理的方法及装置
CN105308579A (zh) * 2013-07-01 2016-02-03 株式会社日立制作所 系列数据并行分析基础设施及其并行分散处理方法
CN105683956A (zh) * 2013-09-20 2016-06-15 甲骨文国际公司 密集分组的维度数据
CN106233263A (zh) * 2014-02-19 2016-12-14 斯诺弗雷克计算公司 缓存系统及方法
WO2016206100A1 (zh) * 2015-06-26 2016-12-29 华为技术有限公司 一种数据表的分区管理方法及装置
CN106339432A (zh) * 2016-08-19 2017-01-18 上海巨数信息科技有限公司 一种按查询内容进行负载均衡的系统及其方法
CN103620601B (zh) * 2011-04-29 2017-04-12 谷歌公司 在映射缩减过程中汇合表
CN103714073B (zh) * 2012-09-29 2017-04-12 国际商业机器公司 数据查询的方法和装置
US9798831B2 (en) 2011-04-01 2017-10-24 Google Inc. Processing data in a MapReduce framework
CN108664560A (zh) * 2018-04-09 2018-10-16 宁波诺信睿聚投资有限责任公司 数据查询方法、装置、计算机设备及计算机可读存储介质
CN110019274A (zh) * 2017-12-29 2019-07-16 阿里巴巴集团控股有限公司 一种数据库系统以及查询数据库的方法和装置

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010538B1 (en) * 2003-03-15 2006-03-07 Damian Black Method for distributed RDSMS
US7406691B2 (en) 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7562143B2 (en) 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7552437B2 (en) 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US7266547B2 (en) * 2004-06-10 2007-09-04 International Business Machines Corporation Query meaning determination through a grid service
US7778997B1 (en) 2004-06-11 2010-08-17 Seisint, Inc. System and method for managing throughput in the processing of query requests in a database system
US7797333B1 (en) 2004-06-11 2010-09-14 Seisint, Inc. System and method for returning results of a query from one or more slave nodes to one or more master nodes of a database system
US7693826B1 (en) * 2004-06-11 2010-04-06 Seisint, Inc. System and method for pre-compiling a query and pre-keying a database system
US8266234B1 (en) * 2004-06-11 2012-09-11 Seisint, Inc. System and method for enhancing system reliability using multiple channels and multicast
US7801911B1 (en) * 2004-06-11 2010-09-21 Seisint, Inc. System and method for using activity identifications in a database system
US7917495B1 (en) 2004-06-11 2011-03-29 Seisint, Inc. System and method for processing query requests in a database system
US7739287B1 (en) 2004-06-11 2010-06-15 Seisint, Inc. System and method for dynamically creating keys in a database system
US7873650B1 (en) * 2004-06-11 2011-01-18 Seisint, Inc. System and method for distributing data in a parallel processing system
US7406461B1 (en) 2004-06-11 2008-07-29 Seisint, Inc. System and method for processing a request to perform an activity associated with a precompiled query
US7457796B2 (en) * 2004-07-08 2008-11-25 International Business Machines Corporation Method using virtual replicated tables in a cluster database management system
US7712100B2 (en) 2004-09-14 2010-05-04 International Business Machines Corporation Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
US7761557B2 (en) 2005-01-06 2010-07-20 International Business Machines Corporation Facilitating overall grid environment management by monitoring and distributing grid activity
US7502850B2 (en) 2005-01-06 2009-03-10 International Business Machines Corporation Verifying resource functionality before use by a grid job submitted to a grid environment
US7590623B2 (en) 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7707288B2 (en) 2005-01-06 2010-04-27 International Business Machines Corporation Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US7793308B2 (en) 2005-01-06 2010-09-07 International Business Machines Corporation Setting operation based resource utilization thresholds for resource use by a process
US7533170B2 (en) 2005-01-06 2009-05-12 International Business Machines Corporation Coordinating the monitoring, management, and prediction of unintended changes within a grid environment
US7571120B2 (en) 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7562035B2 (en) 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
US7467196B2 (en) 2005-01-12 2008-12-16 International Business Machines Corporation Managing network errors communicated in a message transaction with error information using a troubleshooting agent
US7472079B2 (en) 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
JP4675174B2 (ja) * 2005-07-12 2011-04-20 株式会社日立製作所 データベース処理方法、システム及びプログラム
US20070078809A1 (en) * 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. Robust data availability system having decentralized storage and multiple access paths
US8688780B2 (en) * 2005-09-30 2014-04-01 Rockwell Automation Technologies, Inc. Peer-to-peer exchange of data resources in a control system
US7860865B2 (en) * 2005-12-19 2010-12-28 Yahoo! Inc. System of a hierarchy of servers for query processing of column chunks in a distributed column chunk data store
US8214388B2 (en) * 2005-12-19 2012-07-03 Yahoo! Inc System and method for adding a storage server in a distributed column chunk data store
US20070143248A1 (en) * 2005-12-19 2007-06-21 Yahoo! Inc. Method using query processing servers for query processing of column chunks in a distributed column chunk data store
US7921132B2 (en) * 2005-12-19 2011-04-05 Yahoo! Inc. System for query processing of column chunks in a distributed column chunk data store
US7921087B2 (en) * 2005-12-19 2011-04-05 Yahoo! Inc. Method for query processing of column chunks in a distributed column chunk data store
US7921131B2 (en) * 2005-12-19 2011-04-05 Yahoo! Inc. Method using a hierarchy of servers for query processing of column chunks in a distributed column chunk data store
US20100257135A1 (en) * 2006-07-25 2010-10-07 Mypoints.Com Inc. Method of Providing Multi-Source Data Pull and User Notification
US10007686B2 (en) * 2006-08-02 2018-06-26 Entit Software Llc Automatic vertical-database design
US8086598B1 (en) 2006-08-02 2011-12-27 Hewlett-Packard Development Company, L.P. Query optimizer with schema conversion
US8671091B2 (en) * 2006-08-02 2014-03-11 Hewlett-Packard Development Company, L.P. Optimizing snowflake schema queries
US8504598B2 (en) 2007-01-26 2013-08-06 Information Resources, Inc. Data perturbation of non-unique values
US9390158B2 (en) * 2007-01-26 2016-07-12 Information Resources, Inc. Dimensional compression using an analytic platform
US9262503B2 (en) * 2007-01-26 2016-02-16 Information Resources, Inc. Similarity matching of products based on multiple classification schemes
US8160984B2 (en) 2007-01-26 2012-04-17 Symphonyiri Group, Inc. Similarity matching of a competitor's products
US20080270363A1 (en) * 2007-01-26 2008-10-30 Herbert Dennis Hunt Cluster processing of a core information matrix
US10621203B2 (en) * 2007-01-26 2020-04-14 Information Resources, Inc. Cross-category view of a dataset using an analytic platform
US20080288522A1 (en) * 2007-01-26 2008-11-20 Herbert Dennis Hunt Creating and storing a data field alteration datum using an analytic platform
US20090006309A1 (en) * 2007-01-26 2009-01-01 Herbert Dennis Hunt Cluster processing of an aggregated dataset
US20080294996A1 (en) * 2007-01-31 2008-11-27 Herbert Dennis Hunt Customized retailer portal within an analytic platform
US8782075B2 (en) 2007-05-08 2014-07-15 Paraccel Llc Query handling in databases with replicated data
US9002827B2 (en) * 2007-07-11 2015-04-07 Teradata Us, Inc. Database query table substitution
US20090024570A1 (en) * 2007-07-20 2009-01-22 Oracle Internatonal Corporation User defined query rewrite mechanism
US7885969B2 (en) * 2007-09-17 2011-02-08 International Business Machines Corporation System and method for executing compute-intensive database user-defined programs on an attached high-performance parallel computer
US9626421B2 (en) 2007-09-21 2017-04-18 Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh ETL-less zero-redundancy system and method for reporting OLTP data
US7917574B2 (en) * 2007-10-01 2011-03-29 Accenture Global Services Limited Infrastructure for parallel programming of clusters of machines
US8412548B2 (en) * 2007-11-27 2013-04-02 International Business Machines Corporation Linked decision nodes in a business process model
US20090198703A1 (en) * 2008-01-31 2009-08-06 Hewlett-Packard Development Company, L.P. Intelligent data storage system
US9177079B1 (en) * 2009-01-22 2015-11-03 Joviandata, Inc. Apparatus and method for processing multi-dimensional queries in a shared nothing system through tree reduction
US8893131B2 (en) * 2008-04-11 2014-11-18 Yahoo! Inc. System and/or method for bulk loading of records into an ordered distributed database
US8195712B1 (en) 2008-04-17 2012-06-05 Lattice Engines, Inc. Lattice data set-based methods and apparatus for information storage and retrieval
US8682853B2 (en) 2008-05-16 2014-03-25 Paraccel Llc System and method for enhancing storage performance in analytical database applications
JP5392254B2 (ja) * 2008-05-30 2014-01-22 日本電気株式会社 データベースシステム、データベース管理方法、データベース構造およびコンピュータプログラム
US8099440B2 (en) * 2008-08-15 2012-01-17 International Business Machines Corporation Method for laying out fields in a database in a hybrid of row-wise and column-wise ordering
US20100088309A1 (en) * 2008-10-05 2010-04-08 Microsoft Corporation Efficient large-scale joining for querying of column based data encoded structures
US9251212B2 (en) * 2009-03-27 2016-02-02 Business Objects Software Ltd. Profiling in a massive parallel processing environment
US8700674B2 (en) * 2009-07-14 2014-04-15 Hewlett-Packard Development Company, L.P. Database storage architecture
US8972346B2 (en) * 2009-12-11 2015-03-03 International Business Machines Corporation Method and system for minimizing synchronization efforts of parallel database systems
US8346714B1 (en) * 2009-12-17 2013-01-01 Teradota Us, Inc. Transactiontime and validtime timestamping in an enterprise active data warehouse
JP5353682B2 (ja) * 2009-12-22 2013-11-27 富士通株式会社 構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラム
US8990185B2 (en) 2010-02-19 2015-03-24 International Business Machines Corporation Evaluating reference based operations in shared nothing parallelism systems
US8290931B2 (en) * 2010-02-22 2012-10-16 Hewlett-Packard Development Company, L.P. Database designer
US8375047B2 (en) * 2010-03-31 2013-02-12 Emc Corporation Apparatus and method for query prioritization in a shared nothing distributed database
US8935248B2 (en) 2010-05-17 2015-01-13 United States Postal Service Localized data affinity system and hybrid method
US8768973B2 (en) 2010-05-26 2014-07-01 Pivotal Software, Inc. Apparatus and method for expanding a shared-nothing system
WO2012035665A1 (ja) 2010-09-17 2012-03-22 富士通株式会社 データ共有プログラム、データ配信プログラム、端末、サーバ、データ共有方法、およびデータ配信方法
JP5276639B2 (ja) * 2010-10-01 2013-08-28 日本電信電話株式会社 分散データベース管理装置および分散データベース管理プログラム
US8442988B2 (en) 2010-11-04 2013-05-14 International Business Machines Corporation Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data
US9292523B1 (en) * 2011-03-23 2016-03-22 Emc Corporation Managing data storage
CN102737033B (zh) * 2011-03-31 2015-02-04 国际商业机器公司 数据处理设备及其数据处理方法
US8793287B2 (en) 2011-05-27 2014-07-29 Sap Ag Equi-joins between split tables
US8965879B2 (en) 2011-06-03 2015-02-24 Microsoft Technology Licensing, Llc Unique join data caching method
US8862606B1 (en) * 2011-09-22 2014-10-14 Emc Corporation Executing correlated and multi-row subqueries in a MPP database
US8892502B2 (en) * 2011-12-07 2014-11-18 Sap Se Parallel processing of semantically grouped data in data warehouse environments
US8914353B2 (en) * 2011-12-20 2014-12-16 Sap Se Many-core algorithms for in-memory column store databases
US8676787B2 (en) 2011-12-22 2014-03-18 International Business Machines Corporation Distributed multi-step abstract queries
US8762378B2 (en) * 2011-12-23 2014-06-24 Sap Ag Independent table nodes in parallelized database environments
US8868594B2 (en) * 2011-12-23 2014-10-21 Sap Ag Split processing paths for a database calculation engine
US8880565B2 (en) * 2011-12-23 2014-11-04 Sap Se Table creation for partitioned tables
US9164864B1 (en) * 2011-12-28 2015-10-20 Emc Corporation Minimizing false negative and duplicate health monitoring alerts in a dual master shared nothing database appliance
US8938444B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for external application-directed data partitioning in data exporting from a database management system
US9239851B1 (en) 2012-07-12 2016-01-19 Cross Commerce Media, Inc. Advanced database systems and methods
US9015721B2 (en) * 2012-07-30 2015-04-21 Hewlett-Packard Development Company, L. P. Managing array computations during programmatic run-time in a distributed computing environment
CN104871153B8 (zh) * 2012-10-29 2019-02-01 华为技术有限公司 用于分布式大规模并行处理数据库的方法和系统
US9195701B2 (en) * 2012-10-29 2015-11-24 Futurewei Technologies, Inc. System and method for flexible distributed massively parallel processing (MPP) database
US8799284B2 (en) 2012-11-30 2014-08-05 Futurewei Technologies, Inc. Method for automated scaling of a massive parallel processing (MPP) database
US20140214886A1 (en) 2013-01-29 2014-07-31 ParElastic Corporation Adaptive multi-client saas database
US10585896B2 (en) * 2013-03-12 2020-03-10 Red Hat, Inc. Managing data in relational database management system
US10049159B2 (en) * 2013-03-15 2018-08-14 Sas Institute Inc. Techniques for data retrieval in a distributed computing environment
US20150113314A1 (en) * 2013-07-11 2015-04-23 Brian J. Bulkowski Method and system of implementing a distributed database with peripheral component interconnect express switch
CN103412897B (zh) * 2013-07-25 2017-03-01 中国科学院软件研究所 一种基于分布式结构的并行数据处理方法
US9600514B2 (en) 2013-09-09 2017-03-21 VoltDB, Inc. Methods and systems for detecting data divergence and inconsistency across replicas of data within a shared-nothing distributed database
US10176240B2 (en) 2013-09-12 2019-01-08 VoltDB, Inc. Methods and systems for real-time transactional database transformation
US9684682B2 (en) 2013-09-21 2017-06-20 Oracle International Corporation Sharding of in-memory objects across NUMA nodes
US9606921B2 (en) 2013-09-21 2017-03-28 Oracle International Corporation Granular creation and refresh of columnar data
US10061789B2 (en) * 2013-10-28 2018-08-28 Excalibur Ip, Llc Dynamic database indexes for entity attribute value stores
CN103559255B (zh) * 2013-11-01 2017-01-04 北京理工大学 一种分布式液压系统的可视化数据处理方法
US9898398B2 (en) 2013-12-30 2018-02-20 Microsoft Technology Licensing, Llc Re-use of invalidated data in buffers
US9430508B2 (en) 2013-12-30 2016-08-30 Microsoft Technology Licensing, Llc Disk optimized paging for column oriented databases
US9723054B2 (en) 2013-12-30 2017-08-01 Microsoft Technology Licensing, Llc Hierarchical organization for scale-out cluster
US9639571B2 (en) 2013-12-30 2017-05-02 VoltDB, Inc. Methods and systems for increasing capacity and performing data rebalancing without downtime to a distributed shared-nothing database with serializable isolation
US9569493B2 (en) 2013-12-31 2017-02-14 International Business Machines Corporatin Avoidance of intermediate data skew in a massive parallel processing environment
US9555378B2 (en) * 2014-01-09 2017-01-31 Dow Global Technologies Llc Composite polyamide membrane having preferred azo content
US11386085B2 (en) 2014-01-27 2022-07-12 Microstrategy Incorporated Deriving metrics from queries
US9952894B1 (en) * 2014-01-27 2018-04-24 Microstrategy Incorporated Parallel query processing
US10635669B1 (en) 2014-01-27 2020-04-28 Microstrategy Incorporated Data engine integration and data refinement
US10255320B1 (en) 2014-01-27 2019-04-09 Microstrategy Incorporated Search integration
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
US9824106B1 (en) 2014-02-20 2017-11-21 Amazon Technologies, Inc. Hash based data processing
US9679012B1 (en) * 2014-02-28 2017-06-13 Pivotal Software, Inc. Parallel streaming of external data
US9684666B1 (en) * 2014-02-28 2017-06-20 Pivotal Software, Inc. Parallel streaming of external data
US9684671B1 (en) * 2014-02-28 2017-06-20 Pivotal Software, Inc. Parallel streaming of external data
US9552390B2 (en) 2014-04-29 2017-01-24 Futurewei Technologies, Inc. System and method for out of order multiple query execution within stored procedure
US10002148B2 (en) 2014-07-22 2018-06-19 Oracle International Corporation Memory-aware joins based in a database cluster
KR101472257B1 (ko) * 2014-07-22 2014-12-11 (주)카디날정보기술 예측 논리적 데이터 지역성을 이용한 병렬질의 처리 방법 및 장치
US9875259B2 (en) 2014-07-22 2018-01-23 Oracle International Corporation Distribution of an object in volatile memory across a multi-node cluster
CN105468651B (zh) * 2014-09-12 2020-03-27 阿里巴巴集团控股有限公司 一种关系数据库数据查询方法及系统
US10089377B2 (en) * 2014-09-26 2018-10-02 Oracle International Corporation System and method for data transfer from JDBC to a data warehouse layer in a massively parallel or distributed database environment
US10180973B2 (en) 2014-09-26 2019-01-15 Oracle International Corporation System and method for efficient connection management in a massively parallel or distributed database environment
US10394818B2 (en) 2014-09-26 2019-08-27 Oracle International Corporation System and method for dynamic database split generation in a massively parallel or distributed database environment
US10528596B2 (en) 2014-09-26 2020-01-07 Oracle International Corporation System and method for consistent reads between tasks in a massively parallel or distributed database environment
US10089357B2 (en) 2014-09-26 2018-10-02 Oracle International Corporation System and method for generating partition-based splits in a massively parallel or distributed database environment
US10387421B2 (en) 2014-09-26 2019-08-20 Oracle International Corporation System and method for generating size-based splits in a massively parallel or distributed database environment
US10380114B2 (en) 2014-09-26 2019-08-13 Oracle International Corporation System and method for generating rowid range-based splits in a massively parallel or distributed database environment
US9767149B2 (en) 2014-10-10 2017-09-19 International Business Machines Corporation Joining data across a parallel database and a distributed processing system
WO2016191995A1 (zh) 2015-05-31 2016-12-08 华为技术有限公司 一种分布式数据库中关联表分区的方法和设备
US10482076B2 (en) 2015-08-14 2019-11-19 Sap Se Single level, multi-dimension, hash-based table partitioning
US10198228B2 (en) 2016-03-03 2019-02-05 Ricoh Company, Ltd. Distributed data tables for print jobs in a print workflow system
WO2018028797A1 (en) * 2016-08-12 2018-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for bulk loading of data into a distributed database
KR101936273B1 (ko) * 2016-08-23 2019-01-08 주식회사 한컴시큐어 대용량 데이터베이스에 최적화된 암호화 스케줄링의 자동화가 가능한 데이터베이스 암호화 장치 및 그 동작 방법
US10846318B1 (en) 2017-04-18 2020-11-24 Microstrategy Incorporated Natural language visualizations
US11003662B2 (en) * 2017-10-30 2021-05-11 Salesforce.Com, Inc. Trigger-free asynchronous maintenance of custom indexes and skinny performance meta-structures
US10776229B2 (en) * 2017-12-22 2020-09-15 Teradata Us, Inc. Dedicated fallback processing for a distributed data warehouse
US11138230B2 (en) * 2018-03-26 2021-10-05 Mcafee, Llc Methods, apparatus, and systems to aggregate partitioned computer database data
US11195050B2 (en) 2019-02-05 2021-12-07 Microstrategy Incorporated Machine learning to generate and evaluate visualizations
US11614970B2 (en) 2019-12-06 2023-03-28 Microstrategy Incorporated High-throughput parallel data transmission
US11567965B2 (en) 2020-01-23 2023-01-31 Microstrategy Incorporated Enhanced preparation and integration of data sets
WO2021162911A1 (en) * 2020-02-10 2021-08-19 Choral Systems, Llc Data analysis and visualization using structured data tables and nodal networks
US20220021953A1 (en) * 2020-07-16 2022-01-20 R9 Labs, Llc Systems and methods for processing data proximate to the point of collection

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0562251A2 (en) * 1992-03-24 1993-09-29 Universities Research Association, Inc. Parallel data transfer network controlled by a dynamically reconfigurable serial network
US5737549A (en) * 1994-01-31 1998-04-07 Ecole Polytechnique Federale De Lausanne Method and apparatus for a parallel data storage and processing server
US5909681A (en) * 1996-03-25 1999-06-01 Torrent Systems, Inc. Computer system and computerized method for partitioning data for parallel processing
JP3952518B2 (ja) 1996-03-29 2007-08-01 株式会社日立製作所 多次元データ処理方法
US5848408A (en) * 1997-02-28 1998-12-08 Oracle Corporation Method for executing star queries
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
JPH1153232A (ja) * 1997-08-05 1999-02-26 Hitachi Software Eng Co Ltd データベース管理方法
JPH11110262A (ja) * 1997-10-01 1999-04-23 Toshiba Corp 情報管理システム
CA2345309A1 (en) * 2000-09-18 2002-03-18 Linmor Technologies Inc. High performance relational database management system
US7668740B1 (en) * 2000-09-22 2010-02-23 Ita Software, Inc. Method, system, and computer program product for interfacing with information sources
US7085769B1 (en) 2001-04-26 2006-08-01 Ncr Corporation Method and apparatus for performing hash join
US6968335B2 (en) * 2002-11-14 2005-11-22 Sesint, Inc. Method and system for parallel processing of database queries

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012012968A1 (zh) * 2010-07-28 2012-02-02 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
CN101916261B (zh) * 2010-07-28 2013-07-17 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
CN101916280A (zh) * 2010-08-17 2010-12-15 上海云数信息科技有限公司 并行计算系统及按查询内容进行负载均衡的方法
US9798831B2 (en) 2011-04-01 2017-10-24 Google Inc. Processing data in a MapReduce framework
CN103620601B (zh) * 2011-04-29 2017-04-12 谷歌公司 在映射缩减过程中汇合表
CN102323946A (zh) * 2011-09-05 2012-01-18 天津神舟通用数据技术有限公司 并行数据库中算子复用的实现方法
CN103092886B (zh) * 2011-11-07 2016-03-02 中国移动通信集团公司 一种数据查询操作的实现方法、装置及系统
CN103092886A (zh) * 2011-11-07 2013-05-08 中国移动通信集团公司 一种数据查询操作的实现方法、装置及系统
WO2014015492A1 (zh) * 2012-07-26 2014-01-30 华为技术有限公司 数据分布的方法、装置及系统
CN103748578A (zh) * 2012-07-26 2014-04-23 华为技术有限公司 数据分布的方法、装置及系统
WO2014040426A1 (zh) * 2012-09-14 2014-03-20 华为技术有限公司 查询处理方法和装置
CN103678368B (zh) * 2012-09-14 2017-02-08 华为技术有限公司 查询处理方法和装置
CN103714073B (zh) * 2012-09-29 2017-04-12 国际商业机器公司 数据查询的方法和装置
CN104252452A (zh) * 2013-06-25 2014-12-31 腾讯科技(深圳)有限公司 数据管理的方法及装置
CN105308579A (zh) * 2013-07-01 2016-02-03 株式会社日立制作所 系列数据并行分析基础设施及其并行分散处理方法
CN105308579B (zh) * 2013-07-01 2018-06-08 株式会社日立制作所 系列数据并行分析基础设施及其并行分散处理方法
CN105683956A (zh) * 2013-09-20 2016-06-15 甲骨文国际公司 密集分组的维度数据
CN105683956B (zh) * 2013-09-20 2019-08-16 甲骨文国际公司 密集分组的维度数据
US11748375B2 (en) 2014-02-19 2023-09-05 Snowflake Inc. Query processing distribution
US11734304B2 (en) 2014-02-19 2023-08-22 Snowflake Inc. Query processing distribution
US11966417B2 (en) 2014-02-19 2024-04-23 Snowflake Inc. Caching systems and methods
CN106233263A (zh) * 2014-02-19 2016-12-14 斯诺弗雷克计算公司 缓存系统及方法
CN106233263B (zh) * 2014-02-19 2019-12-24 斯诺弗雷克公司 缓存系统及方法
US11734303B2 (en) 2014-02-19 2023-08-22 Snowflake Inc. Query processing distribution
CN103927337A (zh) * 2014-03-26 2014-07-16 北京国双科技有限公司 用于联机分析处理中关联关系的数据处理方法和装置
CN106716400A (zh) * 2015-06-26 2017-05-24 华为技术有限公司 一种数据表的分区管理方法及装置
WO2016206100A1 (zh) * 2015-06-26 2016-12-29 华为技术有限公司 一种数据表的分区管理方法及装置
US11226986B2 (en) 2015-06-26 2022-01-18 Huawei Technologies Co., Ltd. Data table partitioning management method and apparatus
CN106339432A (zh) * 2016-08-19 2017-01-18 上海巨数信息科技有限公司 一种按查询内容进行负载均衡的系统及其方法
CN110019274A (zh) * 2017-12-29 2019-07-16 阿里巴巴集团控股有限公司 一种数据库系统以及查询数据库的方法和装置
CN110019274B (zh) * 2017-12-29 2023-09-26 阿里巴巴集团控股有限公司 一种数据库系统以及查询数据库的方法和装置
CN108664560A (zh) * 2018-04-09 2018-10-16 宁波诺信睿聚投资有限责任公司 数据查询方法、装置、计算机设备及计算机可读存储介质

Also Published As

Publication number Publication date
EP1716505B1 (en) 2018-01-10
JP4777972B2 (ja) 2011-09-21
EP1716505A2 (en) 2006-11-02
KR20070026421A (ko) 2007-03-08
JP2007531087A (ja) 2007-11-01
US20050187977A1 (en) 2005-08-25
WO2005098655A2 (en) 2005-10-20
KR101114149B1 (ko) 2012-03-08
AU2005231230A1 (en) 2005-10-20
EP1716505A4 (en) 2009-10-21
AU2005231230B2 (en) 2010-05-27
CA2556979A1 (en) 2005-10-20
CN101120340B (zh) 2010-12-08
WO2005098655A3 (en) 2007-09-27
MXPA06009355A (es) 2007-03-01
US7818349B2 (en) 2010-10-19

Similar Documents

Publication Publication Date Title
CN101120340B (zh) 超无共享并行数据库
US11461356B2 (en) Large scale unstructured database systems
CN107679192B (zh) 多集群协同数据处理方法、系统、存储介质及设备
CN101568919B (zh) 具有分布式存储的联网计算机系统中的单个数据视图
US6092061A (en) Data partitioning by co-locating referenced and referencing records
CN101067823B (zh) 优化联合数据库管理系统的方法和系统
US8799264B2 (en) Method for improving search engine efficiency
US20130110873A1 (en) Method and system for data storage and management
JP2001084257A (ja) 問合せ処理方法及びシステム
CN106599043A (zh) 用于多级数据库的中间件和多级数据库系统
CN100378731C (zh) 自动数据合并
CN105373613A (zh) 基于策略的储存结构分布
CN101410836A (zh) 向应用提供对存储在数据库中的数据的访问的方法
CN103299267A (zh) 用于执行多租户存储中的交叉存储连接的方法和系统
CN109815254B (zh) 基于大数据的跨地域任务调度方法及系统
KR20120139775A (ko) 상향식 방식의 최적화된 검색 시스템 및 방법
Silberschatz et al. Database systems—breaking out of the box
US7577663B2 (en) Distributed database systems and methods
JP2001350656A (ja) 異種データソース統合アクセス方法
Lee et al. Keeping virtual information resources up and running.
US11226986B2 (en) Data table partitioning management method and apparatus
Gupta et al. Fundamental Research of Distributed Database
US6950817B1 (en) Implementing table queries in a machine with vectorial capabilities
KR101183768B1 (ko) 통합 뷰 제공 시스템 및 방법 그리고 이에 적용되는 뷰 생성 기능을 가지는 서버
Rababaah et al. Distributed Databases fundamentals and research

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180222

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

Effective date of registration: 20180222

Address after: Washington State

Patentee after: Microsoft Corp.

Address before: California, USA

Patentee before: Data Express Co.,Ltd.