CN103562910A - 管理数据查询 - Google Patents

管理数据查询 Download PDF

Info

Publication number
CN103562910A
CN103562910A CN201280021472.4A CN201280021472A CN103562910A CN 103562910 A CN103562910 A CN 103562910A CN 201280021472 A CN201280021472 A CN 201280021472A CN 103562910 A CN103562910 A CN 103562910A
Authority
CN
China
Prior art keywords
data
representative
data stream
inquiry
plan
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
CN201280021472.4A
Other languages
English (en)
Other versions
CN103562910B (zh
Inventor
I.谢克特
G.J.艾琳
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
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 Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Priority to CN201710812945.7A priority Critical patent/CN107622103B/zh
Publication of CN103562910A publication Critical patent/CN103562910A/zh
Application granted granted Critical
Publication of CN103562910B publication Critical patent/CN103562910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • 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/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • 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/2452Query translation
    • G06F16/24526Internal representations for queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Operations Research (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在一个方面,一般,一种用于生成代表数据库查询(702)的数据流图形(716)的方法包括:从计划发生器(748)接收查询计划(714),该查询计划代表用于对于代表数据源(726a、726b)的至少一个输入(734a、734b)运行数据库查询的操作,从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路,和基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。

Description

管理数据查询
技术领域
该说明书涉及管理数据查询。
背景技术
数据可存储在数据库中并按照诸如数据库表格的各种形式来安排。数据库表格可包括具有公共主题或目的的数据的集合。数据库表格的安排可通过数据库方案来定义,并且多个数据库表格可具有相似或相同安排。此外,当调整、附加或删除数据时,数据库的内容及其关联数据库表格可随着时间而改变。可使用各种技术来将数据传递到数据库里面和外面,并操纵数据库中的数据。
发明内容
在一个方面,一般来说,用于生成代表数据库查询的数据流图形(graph)的方法包括从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作,从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路,并基于代表数据源的至少一个输入的至少一个特性来改变该数据流图形的一个或多个组件。
各方面可包括以下特征中的一个或多个。改变该数据流图形的一个或多个组件包括去除该数据流图形的至少一个组件。该图形的组件对应于该查询计划所代表的操作。所述至少一个操作能够由与所述至少一个输入所代表的数据源关联的可运行功能性执行。所述至少一个输入的特性包括与该输入所代表的数据源关联的可运行功能性。该可运行功能性包括分类功能性。改变该数据流图形的一个或多个组件的步骤包括将代表可应用于第一输入的第一操作的第一组件和代表可应用于第二输入的第二操作的第二组件合并为单一组件,该单一组件代表等效于该第一操作和该第二操作的单一操作,该单一操作可应用于该第一输入和该第二输入。改变该数据流图形的一个或多个组件的步骤包括将代表第一数据源的第一输入组件和代表第二数据源的第二输入组件合并为单一输入组件,该单一输入组件包括访问该第一数据源和该第二数据源的数据的操作。改变该数据流图形的一个或多个组件的步骤包括去除代表可应用于第一输入的第一操作的第一组件,并向该第一输入应用第二组件,该第二组件代表对应于与该第一操作相同的功能性的第二操作,并且该第二操作可应用于第二输入。该方法还包括标识和与代表所述至少一个数据源的组件关联的数据库关联的功能性,并基于该标识,配置该组件以向该数据库提供数据库查询。所述代表数据源的至少一个输入包括数据文件、数据库表格、第二数据流图形的输出、和网络套接字中的至少一个。将该数据流图形的输出分配到数据文件、数据库表格、第二数据流图形、和网络套接字中的至少一个。该数据库查询包括SQL查询。该数据流图形包括被配置为从该计划发生器接收输出的组件。
在另一方面,一般,一种计算机可读介质存储有用于生成代表数据库查询的数据流图形的计算机程序,并且该计算机程序包括指令,用于促使计算机:从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
在另一方面,一般,一种用于生成代表数据库查询的数据流图形的系统,该系统包括:用于从计划发生器接收查询计划的部件,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;用于从该查询计划产生数据流图形的部件,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和用于基于代表数据源的至少一个输入的至少一个特性、来改变该数据流图形的一个或多个组件的部件。
在另一方面,一般,一种用于生成代表数据库查询的数据流图形的系统,该系统包括:计算机系统,被配置为从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
在另一方面,一般,一种用于生成代表数据库查询的数据流图形的系统,该系统包括:接口,与提供查询计划的计划发生器通信,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;和处理器,被配置为从该计划发生器提供的查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路,和基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
附图说明
图1是数据流图形的框图。
图2图示了数据库查询和数据流图形。
图3是数据库系统和关联组件的概括。
图4代表数据流图形的运行。
图5是数据库表格和数据库表格的结构代表。
图6图示了其每一个包括可运行功能的数据库查询和数据流图形。
图7是数据库系统和关联组件的概括。
图8图示了查询计划和数据流图形。
图9图示了数据库查询用户界面。
图10-11图示了查询计划和数据流图形。
图12是用于数据库系统的操作的流程图。
具体实施方式
1数据库、查询和图形
数据库管理系统处置一个或多个数据库中存储的数据。为了存储这样的数据,数据库储存器能采用可作为组织为诸如行和列的数据结构的数据组的、诸如数据库表格的一个或多个形式。在一个图中,每一行代表数据的记录,而每一列代表每一行中的区域(field)。
数据库中包括的信息可使用数据库查询来访问和处理(例如,修改)。数据库查询是描述数据库内容的子集和对该子集中的数据采取的动作的指令的集合。例如,一些数据库系统执行按照诸如结构化查询语言(SQL)的专用数据库查询语言书写的数据库查询。在这些数据库系统中,SQL查询是用于操纵数据库的内容的主要手段。
在一些实现中,数据库查询和其他计算在图形代表中与数据库管理系统关联。例如,数据可被代表为通过一组操作(称为数据流)。在一个安排中,数据流可通过直接图形提供,其中计算的组件与图形的顶点关联,并且组件之间的数据流对应于图形的链路(弧、边缘)。图形是模块实体,并且可与其他模块图形连接或组合。每一图形可由一个或多个图形组成,并且特定图形可以是较大图形中的组件。图形开发环境(GDE)提供用于指定可运行图形并定义图形组件的参数的用户界面。实现这样的基于图形的计算的系统在美国专利第5966072号EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS中描述,通过引用将其全部合并在这里。
参考图1,数据流图形101(如示范用户界面中代表的)的示例包括输入组件102,用于提供数据流图形101的可运行组件104a-104j所要处理的一组数据。在一些示例中,输入组件102是能包括与数据库系统关联的数据记录或者与交易处理系统关联的交易的数据源。数据记录可按照诸如数据库表格的各种形式来存储。每一可运行组件104a-104j与整个数据流图形101所定义的计算的一部分关联。工作元素(例如,来自数据组或数据库表格的单独数据记录)进入组件的一个或多个输入端口,并且输出工作元素(在一些情况下,是输入工作元素,或输入工作元素的已处理版本)典型地离开该组件的一个或多个输出端口。在数据流图形101中,来自组件104e、104g和104i的输出工作元素被存储在输出数据组件102a-102c中。
输入组件102和输出数据组件102a-102c中的每一个例如能提供对于数据文件、数据库表格、第二数据流图形的输出、网络套接字、或另一数据源中的任一个的访问。
使用一些基于图形的数据库系统来处理数据库查询。例如可将数据库查询应用到一个或多个数据库表格,以提取例如用于在数据流中处理的数据库表格内容的所标识的子集。在一些实现中,基于图形的数据库系统接受和运行数据流图形形式的数据库查询。其他数据库系统可使用其他类型数据库查询。
在一些情况下,将一个或多个数据库表格从使用SQL的另一类数据库系统移动到基于图形的数据库系统。所述另一数据库系统可具有与基于图形的数据库系统不兼容的已书写的许多SQL查询。在一些实现中,可将SQL查询变换为与基于图形的数据库系统兼容的数据库查询。
图2示出了按照SQL书写的数据库查询200的示例。该示例数据库查询200意欲在基于图形的数据库管理系统所管理的数据库表格202、204上操作。基于图形的数据库管理系统可识别数据库表格202、204中的数据,因为数据库表格具有基于图形的数据库管理系统所固有(native)的格式。数据库表格202、204可包括从其他数据库表格(例如源自识别SQL查询并不使用数据流图形的数据库系统的数据库表格)获得的数据。
然而,基于图形的数据库管理系统可以不具有用于处理SQL查询的内建功能性,这样可产生基于图形的数据库查询以模拟SQL数据库查询200。基于图形的数据库查询由基于图形的数据库系统识别。例如,数据库查询200可(使用这里描述的技术)从SQL查询变换206为数据流图形208。数据流图形208通过接受数据库表格202、204作为输入而对它们进行操作,并提供数据库查询200的运行结果作为输出。
2查询计划
一些数据库系统基于查询计划(有时也称为解释计划)进行诸如SQL查询的数据库查询。查询计划是如果运行数据库查询可执行的数据库操作的描述。该查询计划可描述数据库操作的一个可能安排,即使其他操作安排或不同操作集合将实现相同结果。
为了提供这样的查询计划,数据库系统可包括查询计划发生器(有时也称为查询计划器)。例如,当正运行数据库查询时,查询计划发生器能产生查询计划,或者在进行关于运行查询的任何决定之前,查询计划发生器能生成查询计划。
在一些安排中,数据库操作可按照各种顺序运行,同时仍提供等效输出。这样,查询计划发生器可具有确定最佳查询计划的功能性。例如,最佳查询计划可以是描述以下数据库操作的安排的查询计划,所述数据库操作用于在最小数量时间中运行数据库查询、或使用诸如数据储存空间的最小数量数据库资源、或按照别的方式在该数据库系统已标识的约束下实现该数据库查询。查询计划发生器的用于确定最佳查询计划的功能性可包括对许多可能查询计划进行打分或分级的功能性,并且还可以包括将可能查询计划重排为最佳或有效配置的功能性。
单一数据库查询可被运行多次,并且每一运行可具有唯一最佳查询计划。例如,数据库表格中的数据可在数据库查询的两次运行之间改变。在该示例中,在数据库查询的第一次运行中生成的查询计划中描述的操作在数据库查询的第二次运行期间可需要比第一次运行期间或多或少的运行时间。在该情况下,不同的操作安排可以更好地适应数据库查询的第二次运行,例如,相同操作的不同安排、或不同操作的安排。考虑到数据库表格的瞬时状态,可生成对于数据库查询的第二次运行优化的查询计划用于该运行。
3系统概括
在产生模拟诸如SQL查询的另一类数据库查询的基于图形的数据库查询时,可使用查询计划发生器。图3示出了用于准备数据库查询302以在数据库管理计算机系统304上运行的数据库查询管理系统300。示出的数据库管理计算机系统304包括图形运行引擎306,其处置实现为数据流图形的数据库操作。数据库查询管理系统300还包括图形生成计算机系统308,其具有图形生成引擎310,能由数据流图形要执行的操作的描述构建数据流图形312。例如,这些操作的描述可以是查询计划314。图形生成计算机系统308被配置有基于代表数据源的输入的一个或多个特性来改变数据流图形的组件的能力,如下面在描述“联合查询”的第6部分中更详细描述的那样。
数据库查询管理系统300还包括查询计划计算机系统316,其运行查询计划发生器318。查询计划发生器318可以是从数据库查询产生查询计划的任何查询计划发生器,并且不需要被设计有与数据流图形或图形生成有关的任何功能性。此外,数据库查询管理系统300还包括数据库计算机系统320,其在数据储存器(例如,硬盘驱动器、光盘等)中具有数据库322,并包括一个或多个数据库表格324a、324b和324c。
尽管示出了单独计算机系统用于数据库管理计算机系统304、图形生成计算机系统308、查询计划计算机系统316、和数据库计算机系统320,但是这些计算机系统中的两个或多个可以是相同计算机系统、或相同计算机系统的组件。这些计算机系统全部具有用于运行它们的相应可运行组件的至少一个处理器和至少一个数据储存系统。计算机系统能使用诸如局域网(LAN)、广域网(WAN)的计算机网络、诸如因特网的网络、或另一种类计算机网络彼此连接。
为了表明从一个或多个数据库查询302产生数据流图形312,在数据流图形的运行之前,由图形生成计算机系统308接收和处理数据库查询和数据库表格326。图形生成计算机系统308从数据库计算机系统320接收数据库表格326。
数据库表格326可采用几个形式中的任一个。例如,数据库表格326可以是关系数据库表格、部分数据库表格、平面文件、或另一类型数据文件或一组数据文件。在一些示例中,数据库表格326可按照关于数据库表格的信息的形式接收,例如关于数据库表格的元数据、或数据库表格的描述。
在一些实现中,数据库表格326可通过与数据库计算机系统320关联或者按照别的方式可由图形生成计算机系统308访问的数据登记簿来标识。数据登记簿可以是查找文件目录的形式,例如其可包括与数据库表格326关联的数据文件位置、以及与数据库表格关联的主关键字和索引信息。数据登记簿还可以提供关于不同类型数据库表格的数据格式的信息。此外,数据登记簿还可以提供关于数据流图形312能如何访问数据库表格的信息。
图形生成计算机系统308还接收要向数据库表格326应用的数据库查询302。例如,数据库查询可以是SQL查询。数据库查询302可从任意数目的可能源接收。例如,数据库查询302可从其中用户330已键入数据库查询的用户界面328接收。在一些示例中,数据库查询302从数据储存系统接收,或者该数据库查询从诸如因特网的计算机网络接收,或者该数据库查询基于另一先前接收的数据库查询来生成。
在一些实现中,图形生成计算机系统308向查询计划计算机系统316提供(箭头332所代表的)从关于数据库表格326的信息产生的数据库表格326的版本。例如,向查询计划计算机系统316提供的数据库表格326的版本可以是尺寸比该数据库表格更小的数据库表格的结构代表334,并由此需要更少计算资源来处理。数据库表格326的结构代表334可包括关于数据库表格的信息,但是缺少数据库表格的一些或全部数据。例如,数据库表格326的结构代表334可包括反映数据库表格的格式的格式,诸如数据库表格的列、行或区域。数据库表格326的结构代表334还可包括关于数据的信息,诸如数据库表格中的元素的数据储存尺寸、或数据库表格中的元素的数据类型。
图形生成计算机系统向查询计划计算机系统316提供(箭头332所代表的)数据查询302和数据库表格326的结构代表334。查询计划计算机系统316运行查询计划发生器318,该查询计划发生器318产生为了在数据库表格326上运行数据库查询而优化的查询计划。数据库表格326的结构代表334供应与数据库表格326自己将供应的信息相同的由查询计划发生器318使用的信息,例如数据尺寸、数据类型、以及关于数据库表格中包括的数据的其他信息。在一些实现中,数据库表格326的结构代表334包括用来优化数据查找和检索的数据元素的索引。查询计划发生器318可使用该索引来计算对来自被编索引的数据库表格326的数据元素进行标识和检索的速度。
图形生成计算机系统308从查询计划计算机系统316接收查询计划314。查询计划314描述能用来在数据库表格326上运行数据库查询302的数据库操作的安排。例如,查询计划314中的操作能对应于数据流图形312的节点。查询计划314还可以包括关于查询计划中的操作所使用的数据类型的信息。例如,查询计划中的操作可具有参数,并且这些参数的数据类型可在该查询计划中描述。
一旦产生,就将查询计划314提供到图形生成计算机系统308,用于由图形生成引擎310的数据流图形312产生。图形生成引擎310输出与该查询计划314对应的数据流图形312。在一些实现中,数据流图形312具有代表查询计划中描述的操作的节点、以及代表操作之间的数据流动的节点链路。因为数据流图形312可以对于准备数据库查询用于运行的每一实例生成,所以图形生成引擎310能足够快地生成数据流图形,以对运行数据库查询的实时请求作出应答。在一些实现中,图形生成引擎310可在小于一秒中从查询计划生成数据流图形。
图形生成计算机系统308将图形生成引擎316所生成的数据流图形312提供(如箭头336所代表的)到数据库管理计算机系统304。在一些实现中,图形生成计算机系统308还准备数据库表格326用于由数据库管理计算机系统使用,并提供准备的数据库表格338。例如,图形生成计算机系统308可将数据库表格326从图形生成计算机系统308所使用的格式变换为数据库管理计算机系统304所使用的格式。
一旦提供到数据库管理计算机系统304,数据流图形312就准备运行。如图4中所示,数据库管理计算机系统304可运行数据流图形312的操作并使用数据库表格326以便产生数据库查询的结果402。数据库管理计算机系统304将数据库表格326提供到数据流图形312的一个或多个节点404a、404b、404c,并使用图形运行引擎306来运行该数据流图形。图形运行引擎306执行数据流图形312的节点404a、404b、404c所代表的操作,这些操作对应于用于运行下层数据库查询的数据库操作。此外,节点之间的链路408a、408b、408c代表当处理数据库表格时在数据库操作之间的数据流动。数据流图形312输出数据库查询的结果402。
4结构代表
图5示出了数据库表格500和数据库表格的结构代表502(不包括来自数据库表格的数据)的示例。数据库表格500具有列504a-504i,其可包括相似或不同类型数据。数据库表格500还具有行508a-508e,其每一个包括与每一列对应的区域。行的每一区域包括对应列的数据类型的数据元素510a、510b、510c(例如,字符串、整数、浮点数等)。此外,每一行508a-508e具有固有数据储存尺寸512a-512e。例如,数据储存尺寸512a-512e可以是当该行驻留在诸如存储器的数据储存器中时、由该行的数据元素使用的储存空间的数量。
(图3中示出的图形生成计算机系统308所产生的)数据库表格500的结构代表502具有和数据库表格相同的列514a-514i,包括和原始列504a-504i相同的数据类型。数据库表格500的结构代表502还具有和数据库表格的行508a-508e对应的行518a-518e。然而,行518a-518e不包括来自数据库表格500的数据元素510a、510b、510c。每一行518a-518e与数据储存尺寸值520a-520e关联。尽管数据库表格500中的行的数据储存尺寸512a-512e可根据各个数据元素510a、510b、510c的数据储存尺寸来计算,但是每一行518a-518e的数据储存尺寸值520a-520e自己可以是在数据库表格的结构代表502中沿着每一行存储的数据元素。数据库表格500的结构代表502的总数据储存尺寸可以占到数据库表格的总数据储存尺寸的小百分比,因为数据库表格的结构代表的区域522a、522b、522c缺少来自数据库表格的区域的数据元素510a、510b、510c。在一些实现中,数据库表格500的结构代表502可保持来自数据库表格的一些数据元素,例如,数据库表格的结构代表可保持与关键字值524、526对应的数据元素、或者在数据库表格的结构、组织或格式中使用的其他数据元素。在一些实现中,数据库表格500的结构代表502可包括提供在数据检索中使用的信息的索引或另一数据结构。在一些实现中,数据库表格500的结构代表502可包括关于数据库表格中包括的数据的其他统计值。
5函数调用
如图6中所示,在一些实现中,定制图形函数602能嵌入在数据库查询604中。例如,定制图形函数602可代表在数据流图形的运行期间数据流图形606能进行的操作。定制图形函数602可以不具有在数据库查询604的上下文中的任何功能性,并被放置在要传递给生成的数据流图形606的数据库查询中。例如,定制图形函数602可被添加到数据库查询604以准备它用于变换到数据流图形,只是替换或增加现有数据库查询的部分。此外,查询计划发生器可以不具有关于定制图形函数602的功能性的信息。定制图形函数602可以是不具有数据库查询604的语言中的等效函数的函数。在一些实现中,查询计划发生器可知道定制图形函数602的输入数据类型或输出数据类型。当生成608数据流图形606时,定制图形函数602可充当数据流图形的节点610。
在一些实现中,定制图形函数602可以是用来访问特定或定制格式的数据的函数,或者定制图形函数可以是用来运行规则表达式或图案匹配表达式的函数,或者定制图形函数可以是例如数据库管理计算机系统的用户的用户所实现的函数。
6联合查询
在一些实现中,查询计划发生器(例如,图3中示出的查询计划发生器318)能对这样的数据库查询操作,该数据库查询被构造为对从多个数据源和/或多类数据源获取的输入数据进行操作。例如,该数据库查询可被构造为对多个数据库表格操作,并且数据库表格可属于不同类型并具有不同内部功能性的数据库。而且,该数据库查询可被构造为对其他数据源中可访问的数据进行操作,诸如多个数据文件、多个网络套接字、其他数据流图形的多个输出、或这些类型数据源或使用数据库查询能访问的其他类型数据源的任何组合。当图形生成引擎从查询计划生成数据流图形时,可取决于数据源的数目和相应类型,基于相应数据源的特性,来优化得到的数据流图形,用于访问代表数据源的每一输入。
图7示出了包括图形生成引擎908和图形优化器704的图形生成计算机系统706。图形生成计算机系统706接收一个或多个数据库表格726a、726b。例如,图形生成计算机系统706可从一个或多个数据库计算机系统(例如,在数据储存系统(例如,硬盘驱动器、光盘等)中具有数据库722的数据库计算机系统720)接收数据库表格726a、726b。图形生成计算机系统706还接收要向数据库表格726a、726b应用的数据库查询702。例如,数据库查询702可从用户界面接收,或者数据库查询702可从数据储存系统接收,或者数据库查询可从诸如因特网的计算机网络接收,或者数据库查询可基于另一先前接收的数据库查询而生成。
图形生成计算机系统706向查询计划计算机系统746提供(如箭头932所代表的那样)数据库表格726a、726b的版本734a、734b。在一些实现中,数据库表格726a、726b的版本734a、734b是数据库表格726a、726b自己。在一些实现中,数据库表格726a、726b的版本734a、734b是数据库表格726a、726b的结构代表。例如,数据库表格726a、726b的版本734a、734b可以是按照与图5中示出的数据库表格500的结构代表502相同的方式格式化的结构代表。
图形生成计算机系统706向查询计划计算机系统746提供(如箭头932所代表的那样)数据库查询702和数据库表格726a、726b的版本734a、734b。查询计划计算机系统746运行查询计划发生器748,该查询计划发生器748产生用于在数据库表格726a、726b上运行数据库查询702的查询计划714。在一些实现中,如果数据库表格726a、726b的版本734a、734b是数据库表格726a、726b的结构代表,则所述结构代表供应与数据库表格726a、726b自己将供应的信息相同的由查询计划发生器748使用的信息。
图形生成计算机系统706从查询计划计算机系统746接收查询计划714。与图3中示出的查询计划314相同,该查询计划714描述能用来在数据库表格726a、726b上运行数据库查询702的数据库操作的安排。图形生成计算机系统706使用该查询计划714作为输入来运行图形生成引擎908。图形生成引擎908基于该查询计划714的内容生成数据流图形716。在一些实现中,数据流图形716具有代表该查询计划714中描述的操作的节点,并且节点链路代表这些操作之间的数据的流动。
数据流图形716可由图形优化器704变换为优化的数据流图形718。在一些实现中,数据流图形718可由计算机系统(例如,数据库管理计算机系统744)运行,以进行与该查询计划714定义的操作对应的操作。数据流图形716进行的一些操作可以是多余的,并能去除或与其他操作合并。例如,数据流图形716可包括能合并为单一组件的一组组件,所述单一组件执行与所述一组组件的操作相同的操作。图形优化器704分析数据流图形716并执行优化,以改变数据流图形,例如,去除多余组件、合并组件、以及按照别的方式减少数据流图形716中的组件的数目以生成优化的数据流图形718。在生成优化的数据流图形718之后,可将优化的数据流图形718提供到数据库管理计算机系统744用于运行。
在一些实现中,数据流图形716和/或优化的数据流图形718包括这样的组件,该组件被配置为向数据流图形716的其他组件提供查询计划发生器748的输出(例如,查询计划714)。例如,数据流图形716或优化的数据流图形718可在运行(“生效(on teh fly)”)期间接收数据库查询702,并且这样数据流图形716或优化的数据流图形718的组件也在运行期间能向查询计划发生器748请求与数据库查询702对应的查询计划714。查询计划发生器748的提供输出的组件然后能向数据流图形718的其他组件提供该查询计划714。
在一些实现中,图形优化器704可在生成优化的数据流图形718的时候增加数据流图形716中的组件的数目。例如,如果用一组更有效的组件替换复杂组件,则在运行时,数据流图形716可操作更快或更有效。
在一些实现中,图形生成计算机系统706包括查询计划优化器,用于对查询计划714操作,并在变换为数据流图形之前对查询计划714进行优化。
图8示出了从查询计划806生成的数据流图形802和优化的数据流图形804的示例。查询计划806代表以下SQL查询:
选择count(*)作为num_transactions,
求和(transaction_amt)作为总数,
account_id
从federated_transactions
根据account_id分组
根据account_id排序
该SQL查询从称为federated_transactions的数据库表格中选择记录,并对它们进行分组和排序。查询计划806描述可执行以运行查询的三个操作。查询计划806的操作是数据选择操作810、分类操作812和称为组聚合操作814的数据概括操作。这些操作可被翻译为具有大致对应于这些操作的组件的数据流图形802。数据流图形802具有数据选择组件820、分类组件822、称为汇总(rollup)组件824的数据概括组件、以及输出组件826。
数据选择组件820代表数据的源。例如,数据选择组件820可以是数据库表格、第二数据流图形的输出、网络套接字、或另一数据源。
输出组件826代表数据目的地。例如,输出组件826可以是数据文件、数据库表格、第二数据流图形的输入、网络套接字、或输出数据的另一目的地中的任一个。
数据选择组件820可代表具有可运行功能性的数据源。例如,数据选择组件820可代表数据库中的以下数据库表格,该数据库表格可运行数据库查询并基于诸如上面示出的SQL查询的运行的数据库查询来返回数据。数据流图形802可得到(have access to)与存储数据库表格的数据库关联的功能性。例如,数据流图形802可具有能向数据库发送执行与可运行功能性关联的操作的请求的组件。
在一些实现中,SQL查询对属于该数据库的数据操作。例如,数据选择组件820所代表的federated_transactions数据库表格可属于能执行与分类组件822和汇总组件824所执行的功能相同的功能的数据库。优化的数据流图形804能从利用该内建功能性的查询计划806生成。优化的数据流图形804仅具有两个组件:包括汇总功能性的数据选择组件830、和输出组件832。
优化的数据流图形804可比从查询计划806直接生成的数据流图形802具有更少组件,并且优化的数据流图形804也可更有效地操作。例如,在示出的示例中,数据流图形802从federated_transactions数据库表格选择796096个记录,一旦完成了汇总操作,则记录的数目减少为3754个记录。然而,优化的数据流图形804不需要采用选择和处理796096个记录的全部数目的步骤,因为其获取已分类并概括的3754个记录。
在一些实现中,可通过将查询计划806的一部分翻译回适于具有优化的数据流图形804所利用的功能性的数据源的查询,来执行该优化。图9示出了与优化的数据流图形804的数据选择组件830关联的用户界面940的示例。用户界面940允许用SQL查询942来配置数据选择组件830。当运行与数据选择组件830关联的数据流图形804时,SQL查询942被传递到由数据选择组件830所代表的、并由与数据选择组件830关联的数据库功能性所运行的数据的源。例如,如果数据选择组件830与数据库计算机系统720(图7)所存储的数据库722关联,则SQL查询942可被传递到数据库计算机系统720用于运行。按照该方式,数据选择组件830能使用SQL查询942来访问与数据库722关联的功能性。
代表具有多个数据源作为输入的查询计划的数据流图形可基于多个输入的特性来优化。图10示出了经受到优化的数据流图形1030的转换的查询计划1010。查询计划1010代表联合查询,并具有两个数据库表格1012、1014作为输入。查询计划能变换1016为数据流图形1020。例如,图7中示出的图形生成引擎908能执行该变换。
数据流图形1020包括代表数据库表格之一1012的数据选择组件1022和代表另一数据库表格1014的数据组件1026。数据选择组件1022将数据输出到汇总组件1024,而数据组件1026将数据输出到第二汇总组件1028。数据选择组件1022具有内部功能性,能用来执行与汇总组件1024在数据流图形1020中执行的操作相同的操作。例如,数据选择组件1022可代表具有可运行功能性的数据库系统,并能对其提供的数据执行其自己的操作。例如,数据选择组件1022可代表在诸如图7中示出的数据库722的数据库上可访问的数据库表格。
数据组件1026不具有能用来执行与汇总组件1028在数据流图形1020中执行的操作相同的操作的功能性。例如,数据组件1026可以是诸如不包括可运行功能性的数据文件的实体。
数据流图形1020可(通过诸如图7中示出的图形优化器704的图形优化器)被变换1018为优化的数据流图形1030,其中已基于数据选择组件1022和数据组件1026的内部功能性而去除了一些组件。因为数据选择组件1022包括汇总功能性,所以数据选择组件1022及其关联汇总组件1024能被合并为组合数据选择组件1032,该组合数据选择组件1032并入该汇总组件1024按照别的方式执行的汇总操作。组合数据选择组件1032可被提供有数据库查询,指示该组合数据选择组件1032在将数据提供给优化的数据流图形1030之前执行汇总操作。例如,该组合数据选择组件1032能被提供诸如图8中示出的SQL查询942的数据库查询。与数据组件1026关联的汇总组件1028保留在优化的数据流图形1030中,因为数据组件1026不具有该汇总组件1028按照别的方式复制的内部汇总功能性。
图11示出了经受到优化的数据流图形1130的转换的查询计划1110。查询计划1110代表联合查询,并具有两个数据库表格1112、1114作为输入。查询计划能变换1116为数据流图形1120。例如,图7中示出的图形生成引擎908能执行该变换。
数据流图形1120包括与查询计划1110的操作对应的组件。该数据流图形1120包括代表查询计划1110的数据库表格1112、1114的数据源组件1122、1124,并还包括结合组件1126,其对数据源组件1122、1124所提供的数据操作以将数据库表格1112、1114的数据组合为单一数据源。
数据库表格1112、1114可属于相同数据库,例如图7中示出的数据库722。数据库722可具有能提供两个数据库表格1112、1114的数据作为单一数据源(例如,作为结合操作的结果的单一数据库表格)的功能性。图形优化器(例如图7中示出的图形优化器704)能标识与数据库表格1112、1114关联的数据库722的功能性,并确定是否能通过减少数据流图形1120中的组件的数目来简化数据流图形1120。图形优化器704能确定该数据库722能对于数据库表格1112、1114执行结合操作,并生成包括合并数据源组件1132的优化的数据流图形1030,该合并数据源组件1132代表当数据库722对于这两个数据库表格1112、1114执行结合操作时该数据库722所提供的数据。优化的数据流图形1030不包括结合组件1126,因为由数据库722取代执行该结合组件1126所代表的功能性。
图12是示出了(图7中示出的)图形生成计算机系统706的示范操作的流程图1200。在步骤1202,图形生成计算机系统接收查询计划,诸如由查询计划计算机系统的查询计划发生器产生的查询计划。该查询计划代表用于运行对于代表数据源的至少一个输入的数据库查询的操作。在步骤1204,图形生成计算机系统使用图形生成引擎,来基于查询计划中包括的操作从查询计划产生数据流图形。得到的数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路。在步骤1206,图形生成计算机系统基于代表数据源的输入的特性来改变数据流图形的组件。可改变这些组件以优化数据流图形,例如减少数据流图形中的组件的数目。
上面描述的数据库查询管理方案可使用用于在计算机上运行的软件来实现。例如,该软件形成一个或多个计算机程序中的过程,所述程序在一个或多个已编程或可编程计算机系统(其可以是诸如分布、客户机/服务器、或网格的各种架构)上运行,所述计算机系统中的每一个包括至少一个处理器、至少一个数据储存系统(包括易失性和非易失性存储和/或储存元素)、至少一个输入装置或端口、以及至少一个输出装置或端口。该软件可形成较大程序的一个或多个模块,诸如,提供与计算图形的设计和配置相关的其他服务。该图形的节点和元素可被实现为计算机可读介质中存储的数据结构、或符合数据仓库中存储的数据模型的其他组织数据。
该软件可被提供在一般或特定目的可编程计算机可读取的诸如CD-ROM的储存介质上,或者通过网络的通信介质向运行其的计算机传递(在广播信号中编码)。所有功能可在特定目的计算机上执行,或使用诸如协处理器的特定目的硬件来执行。该软件可按照分布方式实现,其中该软件所规定的计算的不同部分由不同计算机执行。每一这样的计算机程序优选被存储在或下载到一般或特定目的可编程计算机可读取的储存介质或装置上(例如,固态存储器或介质、或者磁或光介质),用于当所述储存介质或装置由计算机系统读取以执行其中描述的过程时,配置和操作计算机。本发明系统还可以被看作实现为配置有计算机程序的计算机可读储存介质,其中这样配置的储存介质促使计算机系统按照特定和预定义方式操作以执行其中描述的功能。
已描述了本发明的多个实施例。但是,将理解的是,可进行各种修改,而不脱离本发明的精神和范围。例如,上面描述的一些步骤可以是顺序独立的,并由此能按照与描述的顺序不同的顺序执行。
应理解的是,前述描述意欲是示意性的,而不限制由所附权利要求的范围限定的本发明的范围。例如,上面描述的多个功能步骤可按照不同顺序执行,而基本上不影响总体处理。其他实施例在以下权利要求的范围中。
权利要求书(按照条约第19条的修改)
1.一种用于生成代表数据库查询的数据流图形的方法,该方法包括:
从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个组件,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
2.根据权利要求1的方法,其中所述改变该数据流图形的一个或多个组件的步骤包括去除该数据流图形的至少一个组件。
3.根据权利要求2的方法,其中该图形的组件对应于该查询计划所代表的操作。
4.根据权利要求2的方法,其中所述至少一个操作能够由与所述至少一个输入所代表的数据源关联的可运行功能性执行。
5.根据权利要求1的方法,其中所述至少一个输入的特性包括与该输入所代表的数据源关联的可运行功能性。
6.根据权利要求5的方法,其中该可运行功能性包括分类功能性。
7.根据权利要求1的方法,其中改变该数据流图形的一个或多个组件的步骤包括将代表可应用于第一输入的第一操作的第一组件和代表可应用于第二输入的第二操作的第二组件合并为单一组件,该单一组件代表等效于该第一操作和该第二操作的单一操作,该单一操作可应用于该第一输入和该第二输入。
8.根据权利要求1的方法,其中改变该数据流图形的一个或多个组件的步骤包括将代表第一数据源的第一输入组件和代表第二数据源的第二输入组件合并为单一输入组件,该单一输入组件包括访问该第一数据源和该第二数据源的数据的操作。
9.根据权利要求1的方法,其中改变该数据流图形的一个或多个组件的步骤包括去除代表可应用于第一输入的第一操作的第一组件,并向该第一输入应用第二组件,该第二组件代表对应于与该第一操作相同的功能性的第二操作,并且该第二操作可应用于第二输入。
10.根据权利要求1的方法,进一步包括标识和与代表所述至少一个数据源的组件关联的数据库关联的功能性,并基于该标识,配置该组件以向该数据库提供数据库查询。
11.根据权利要求1的方法,其中所述代表数据集的至少一个输入包括数据文件、数据库表格、第二数据流图形的输出、和网络套接字中的至少一个。
12.根据权利要求1的方法,其中将该数据流图形的输出分配到数据文件、数据库表格、第二数据流图形、和网络套接字中的至少一个。
13.根据权利要求1的方法,其中该数据库查询包括SQL查询。
14.根据权利要求1的方法,其中该数据流图形包括被配置为从该计划发生器接收输出的组件。
15.一种计算机可读介质,存储有用于生成代表数据库查询的数据流图形的计算机程序,该计算机程序包括指令,用于促使计算机:
从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个组件,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
16.一种用于生成代表数据库查询的数据流图形的系统,该系统包括:
用于从计划发生器接收查询计划的部件,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
用于从该查询计划产生数据流图形的部件,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个组件,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
用于基于代表数据源的至少一个输入的至少一个特性、来改变该数据流图形的一个或多个组件的部件。
17.一种用于生成代表数据库查询的数据流图形的系统,该系统包括:
计算机系统,被配置为
从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个组件,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
18.一种用于生成代表数据库查询的数据流图形的系统,该系统包括:
接口,与提供查询计划的计划发生器通信,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;和
处理器,被配置为
从该计划发生器提供的查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个组件,并包括代表与该查询计划关联的至少一个数据流的至少一个链路,和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
19.根据权利要求1的方法,包括通过改变所述数据流图形的一个或多个组件来产生第二数据流图形。
20.根据权利要求1的方法,其中该数据流图形包括代表与该查询计划对应的操作的组件。
21.根据权利要求1的方法,其中改变步骤包括:
标识该查询计划所代表的第一操作,该第一操作要由所述至少一个输入之一所代表的第一数据源执行,和
用代表该第一操作的输出的节点来替换代表该第一操作的节点。

Claims (18)

1.一种用于生成代表数据库查询的数据流图形的方法,该方法包括:
从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
2.根据权利要求1的方法,其中所述改变该数据流图形的一个或多个组件的步骤包括去除该数据流图形的至少一个组件。
3.根据权利要求2的方法,其中该图形的组件对应于该查询计划所代表的操作。
4.根据权利要求2的方法,其中所述至少一个操作能够由与所述至少一个输入所代表的数据源关联的可运行功能性执行。
5.根据权利要求1的方法,其中所述至少一个输入的特性包括与该输入所代表的数据源关联的可运行功能性。
6.根据权利要求5的方法,其中该可运行功能性包括分类功能性。
7.根据权利要求1的方法,其中改变该数据流图形的一个或多个组件的步骤包括将代表可应用于第一输入的第一操作的第一组件和代表可应用于第二输入的第二操作的第二组件合并为单一组件,该单一组件代表等效于该第一操作和该第二操作的单一操作,该单一操作可应用于该第一输入和该第二输入。
8.根据权利要求1的方法,其中改变该数据流图形的一个或多个组件的步骤包括将代表第一数据源的第一输入组件和代表第二数据源的第二输入组件合并为单一输入组件,该单一输入组件包括访问该第一数据源和该第二数据源的数据的操作。
9.根据权利要求1的方法,其中改变该数据流图形的一个或多个组件的步骤包括去除代表可应用于第一输入的第一操作的第一组件,并向该第一输入应用第二组件,该第二组件代表对应于与该第一操作相同的功能性的第二操作,并且该第二操作可应用于第二输入。
10.根据权利要求1的方法,进一步包括标识和与代表所述至少一个数据源的组件关联的数据库关联的功能性,并基于该标识,配置该组件以向该数据库提供数据库查询。
11.根据权利要求1的方法,其中所述代表数据集的至少一个输入包括数据文件、数据库表格、第二数据流图形的输出、和网络套接字中的至少一个。
12.根据权利要求1的方法,其中将该数据流图形的输出分配到数据文件、数据库表格、第二数据流图形、和网络套接字中的至少一个。
13.根据权利要求1的方法,其中该数据库查询包括SQL查询。
14.根据权利要求1的方法,其中该数据流图形包括被配置为从该计划发生器接收输出的组件。
15.一种计算机可读介质,存储有用于生成代表数据库查询的数据流图形的计算机程序,该计算机程序包括指令,用于促使计算机:
从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
16.一种用于生成代表数据库查询的数据流图形的系统,该系统包括:
用于从计划发生器接收查询计划的部件,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
用于从该查询计划产生数据流图形的部件,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
用于基于代表数据源的至少一个输入的至少一个特性、来改变该数据流图形的一个或多个组件的部件。
17.一种用于生成代表数据库查询的数据流图形的系统,该系统包括:
计算机系统,被配置为
从计划发生器接收查询计划,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;
从该查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路;和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
18.一种用于生成代表数据库查询的数据流图形的系统,该系统包括:
接口,与提供查询计划的计划发生器通信,该查询计划代表用于对于代表数据源的至少一个输入运行数据库查询的操作;和
处理器,被配置为
从该计划发生器提供的查询计划产生数据流图形,其中该数据流图形包括代表该查询计划所代表的至少一个操作的至少一个节点,并包括代表与该查询计划关联的至少一个数据流的至少一个链路,和
基于代表数据源的至少一个输入的至少一个特性,来改变该数据流图形的一个或多个组件。
CN201280021472.4A 2011-05-02 2012-04-30 管理数据查询 Active CN103562910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710812945.7A CN107622103B (zh) 2011-05-02 2012-04-30 管理数据查询

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/098,823 US9116955B2 (en) 2011-05-02 2011-05-02 Managing data queries
US13/098,823 2011-05-02
PCT/US2012/035762 WO2012151149A2 (en) 2011-05-02 2012-04-30 Managing data queries

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710812945.7A Division CN107622103B (zh) 2011-05-02 2012-04-30 管理数据查询

Publications (2)

Publication Number Publication Date
CN103562910A true CN103562910A (zh) 2014-02-05
CN103562910B CN103562910B (zh) 2017-09-22

Family

ID=46124726

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710812945.7A Active CN107622103B (zh) 2011-05-02 2012-04-30 管理数据查询
CN201280021472.4A Active CN103562910B (zh) 2011-05-02 2012-04-30 管理数据查询

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710812945.7A Active CN107622103B (zh) 2011-05-02 2012-04-30 管理数据查询

Country Status (8)

Country Link
US (3) US9116955B2 (zh)
EP (2) EP2705446A2 (zh)
JP (2) JP6133274B2 (zh)
KR (1) KR101915591B1 (zh)
CN (2) CN107622103B (zh)
AU (1) AU2012250970B2 (zh)
CA (3) CA3022050C (zh)
WO (1) WO2012151149A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050213A (zh) * 2013-03-13 2014-09-17 Sap股份公司 包括数据分类的查询处理系统
CN107003868A (zh) * 2014-11-14 2017-08-01 起元技术有限责任公司 处理包含联合类型操作的查询
CN109219808A (zh) * 2016-06-23 2019-01-15 施耐德电气美国股份有限公司 分布式系统的上下文特征数据驱动的顺序联合查询方法

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
AU2013295864B2 (en) 2012-07-24 2017-09-14 Ab Initio Technology Llc Mapping entities in data models
US9880815B2 (en) * 2013-01-22 2018-01-30 Aptitude Software Limited SQL visualizer
US9659043B2 (en) * 2013-02-07 2017-05-23 Enigma Technologies, Inc. Data system and method
CA2932763C (en) 2013-12-05 2022-07-12 Ab Initio Technology Llc Managing interfaces for dataflow graphs composed of sub-graphs
JP6488317B2 (ja) 2014-03-14 2019-03-20 アビニシオ テクノロジー エルエルシー キー指定される実体の属性のマッピング
US9607073B2 (en) * 2014-04-17 2017-03-28 Ab Initio Technology Llc Processing data from multiple sources
US9805080B2 (en) 2014-08-22 2017-10-31 Xcalar, Inc. Data driven relational algorithm formation for execution against big data
US10108744B2 (en) * 2014-10-07 2018-10-23 Oracle International Corporation Administrative tool and physical execution plan interface for plug-in architecture of business intelligence platform using data source cartridges
US10296630B2 (en) 2014-10-10 2019-05-21 Salesforce.Com, Inc. Graph representation of data extraction for use with a data repository
US10417281B2 (en) * 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
CN110149801A (zh) * 2015-05-05 2019-08-20 华为技术有限公司 用于在处理系统中进行数据流图转换的系统和方法
US10657134B2 (en) * 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US9330138B1 (en) 2015-09-18 2016-05-03 Linkedin Corporation Translating queries into graph queries using primitives
US9378239B1 (en) * 2015-09-18 2016-06-28 Linkedin Corporation Verifying graph-based queries
US9378303B1 (en) 2015-09-18 2016-06-28 Linkedin Corporation Representing compound relationships in a graph database
US9535963B1 (en) * 2015-09-18 2017-01-03 Linkedin Corporation Graph-based queries
US9378241B1 (en) * 2015-09-18 2016-06-28 Linkedin Corporation Concatenated queries based on graph-query results
US10942922B2 (en) 2015-09-28 2021-03-09 Microsoft Technology Licensing, Llc Generation of data flow from syntax tree
US9514247B1 (en) 2015-10-28 2016-12-06 Linkedin Corporation Message passing in a distributed graph database
US10210236B2 (en) 2015-11-23 2019-02-19 Ab Initio Technology Llc Storing and retrieving data of a data cube
US10671669B2 (en) 2015-12-21 2020-06-02 Ab Initio Technology Llc Sub-graph interface generation
WO2017131623A1 (en) * 2016-01-26 2017-08-03 Hewlett Packard Enterprise Development Lp Performing operations on a graph
US10180992B2 (en) 2016-03-01 2019-01-15 Microsoft Technology Licensing, Llc Atomic updating of graph database index structures
US10789295B2 (en) 2016-09-28 2020-09-29 Microsoft Technology Licensing, Llc Pattern-based searching of log-based representations of graph databases
US10754859B2 (en) 2016-10-28 2020-08-25 Microsoft Technology Licensing, Llc Encoding edges in graph databases
US11016973B2 (en) * 2016-11-29 2021-05-25 Sap Se Query plan execution engine
US10445321B2 (en) 2017-02-21 2019-10-15 Microsoft Technology Licensing, Llc Multi-tenant distribution of graph database caches
WO2018183676A1 (en) * 2017-03-29 2018-10-04 Ab Initio Technology Llc Systems and methods for performing data processing operations using variable level parallelism
US10540364B2 (en) 2017-05-02 2020-01-21 Home Box Office, Inc. Data delivery architecture for transforming client response data
US11055352B1 (en) * 2017-06-08 2021-07-06 Amazon Technologies, Inc. Engine independent query plan optimization
US10671671B2 (en) 2017-06-09 2020-06-02 Microsoft Technology Licensing, Llc Supporting tuples in log-based representations of graph databases
US10445370B2 (en) 2017-06-09 2019-10-15 Microsoft Technology Licensing, Llc Compound indexes for graph databases
US10628492B2 (en) 2017-07-20 2020-04-21 Microsoft Technology Licensing, Llc Distributed graph database writes
US11188434B2 (en) * 2017-12-08 2021-11-30 Ab Initio Technology Llc Systems and methods for monitoring execution of structured query language (SQL) queries
US11423031B2 (en) 2018-02-22 2022-08-23 Microsoft Technology Licensing, Llc Standing query creation using store query
WO2019176011A1 (ja) * 2018-03-14 2019-09-19 日本電気株式会社 検索文活用装置および検索文活用方法
US10983997B2 (en) 2018-03-28 2021-04-20 Microsoft Technology Licensing, Llc Path query evaluation in graph databases
US20190370407A1 (en) * 2018-05-30 2019-12-05 Ab Initio Technology Llc Systems and methods for dataflow graph optimization
US10922145B2 (en) 2018-09-04 2021-02-16 Target Brands, Inc. Scheduling software jobs having dependencies
JP7242343B2 (ja) * 2019-02-25 2023-03-20 Kddi株式会社 分析装置及び分析方法
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
US11567995B2 (en) 2019-07-26 2023-01-31 Microsoft Technology Licensing, Llc Branch threading in graph databases
US11113267B2 (en) 2019-09-30 2021-09-07 Microsoft Technology Licensing, Llc Enforcing path consistency in graph database path query evaluation
KR102177064B1 (ko) 2019-11-18 2020-11-10 재단법인대구경북과학기술원 다항 조인 연산자를 이용한 쿼리 처리 방법 및 그 장치
BR112022014874A2 (pt) * 2020-01-28 2022-09-20 Ab Initio Technology Llc Editor para gerar gráficos computacionais
US20210318851A1 (en) * 2020-04-09 2021-10-14 Virtualitics, Inc. Systems and Methods for Dataset Merging using Flow Structures
KR102141640B1 (ko) * 2020-04-13 2020-08-05 주식회사 데이터월드 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버
WO2022165321A1 (en) 2021-01-31 2022-08-04 Ab Initio Technology Llc Data processing system with manipulation of logical dataset groups
US20230073887A1 (en) * 2021-09-09 2023-03-09 Microsoft Technology Licensing, Llc Standing query to reactive database
WO2023056003A1 (en) 2021-09-30 2023-04-06 Ab Initio Technology Llc Systems and methods for performing data processing operations using variable level parallelism
US20240143590A1 (en) * 2022-10-28 2024-05-02 Microsoft Technology Licensing, Llc Distribution of federated graph queries using schemas

Family Cites Families (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4586137A (en) 1982-10-18 1986-04-29 Dresser Industries, Inc. Method for generating variable well logging data composites
JPH01108638A (ja) 1987-10-21 1989-04-25 Hitachi Ltd 並列化コンパイル方式
JP2738692B2 (ja) 1988-01-29 1998-04-08 株式会社日立製作所 並列化コンパイル方法
US5072371A (en) 1989-03-01 1991-12-10 The United States Of America As Represented By The United States Department Of Energy Method for simultaneous overlapped communications between neighboring processors in a multiple
US5121494A (en) 1989-10-05 1992-06-09 Ibm Corporation Joining two database relations on a common field in a parallel relational database field
US5367619A (en) 1990-04-27 1994-11-22 Eaton Corporation Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms
JPH0816429B2 (ja) 1990-10-16 1996-02-21 トステム株式会社 シャッターの非常時脱出機構
US5347639A (en) 1991-07-15 1994-09-13 International Business Machines Corporation Self-parallelizing computer system and method
US5632022A (en) 1991-11-13 1997-05-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Encyclopedia of software components
US5313584A (en) 1991-11-25 1994-05-17 Unisys Corporation Multiple I/O processor system
JPH05257709A (ja) 1992-03-16 1993-10-08 Hitachi Ltd 並列化判別方法およびそれを用いた並列化支援方法
US5432940A (en) 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
US5574898A (en) 1993-01-08 1996-11-12 Atria Software, Inc. Dynamic software version auditor which monitors a process to provide a list of objects that are accessed
US5446915A (en) 1993-05-25 1995-08-29 Intel Corporation Parallel processing system virtual connection method and apparatus with protection and flow control
US5475842A (en) 1993-08-11 1995-12-12 Xerox Corporation Method of compilation optimization using an N-dimensional template for relocated and replicated alignment of arrays in data-parallel programs for reduced data communication during execution
US5600833A (en) 1993-09-17 1997-02-04 Digital Equipment Corp. Attribute portion based document retrieval system with system query language interface
JP4050339B2 (ja) 1994-04-28 2008-02-20 株式会社東芝 並行プログラム作成支援装置及び並行プログラム作成方法並びに並行プログラム実行装置
US5588150A (en) 1994-09-29 1996-12-24 International Business Machines Corporation Push down optimization in a distributed, multi-database system
US5768564A (en) 1994-10-07 1998-06-16 Tandem Computers Incorporated Method and apparatus for translating source code from one high-level computer language to another
FI98690C (fi) 1994-10-18 1997-07-25 Nokia Telecommunications Oy Menetelmä alueryhmäpuhelun muodostamiseksi matkaviestinjärjestelmässä ja matkaviestinjärjestelmä
US5734886A (en) 1994-11-16 1998-03-31 Lucent Technologies Inc. Database dependency resolution method and system for identifying related data files
FI98973C (fi) 1994-11-22 1997-09-10 Nokia Telecommunications Oy Menetelmä ryhmätietojen ylläpitämiseksi matkaviestinjärjestelmässä ja matkaviestinjärjestelmä
US5546576A (en) * 1995-02-17 1996-08-13 International Business Machines Corporation Query optimizer system that detects and prevents mutating table violations of database integrity in a query before execution plan generation
US5619692A (en) 1995-02-17 1997-04-08 International Business Machines Corporation Semantic optimization of query order requirements using order detection by normalization in a query compiler system
FI100215B (fi) 1995-03-17 1997-10-15 Nokia Telecommunications Oy Matkaviestijärjestelmän tilaajatietojen päivittäminen
US5706509A (en) 1995-04-28 1998-01-06 Intel Corporation Application independent record level synchronization
US5678044A (en) 1995-06-02 1997-10-14 Electronic Data Systems Corporation System and method for improved rehosting of software systems
US5682537A (en) 1995-08-31 1997-10-28 Unisys Corporation Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system
US5819021A (en) 1995-12-11 1998-10-06 Ab Initio Software Corporation Overpartitioning system and method for increasing checkpoints in component-based parallel applications
US5712971A (en) 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation
US5909681A (en) 1996-03-25 1999-06-01 Torrent Systems, Inc. Computer system and computerized method for partitioning data for parallel processing
US6311265B1 (en) 1996-03-25 2001-10-30 Torrent Systems, Inc. Apparatuses and methods for programming parallel computers
US5799149A (en) 1996-06-17 1998-08-25 International Business Machines Corporation System partitioning for massively parallel processors
US5870743A (en) 1996-06-24 1999-02-09 Oracle Corporation Method and apparatus for parallelizing operations that create a table
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
JPH10232875A (ja) 1997-02-19 1998-09-02 Hitachi Ltd データベース管理方法および並列データベース管理システム
US6330008B1 (en) 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
US5999729A (en) 1997-03-06 1999-12-07 Continuum Software, Inc. System and method for developing computer programs for execution on parallel processing systems
US5956074A (en) 1997-03-11 1999-09-21 Sclafani; Peter J. Cable television return display unit
JP3155991B2 (ja) 1997-04-09 2001-04-16 日本アイ・ビー・エム株式会社 集約演算実行方法及びコンピュータ・システム
US5956704A (en) 1997-06-05 1999-09-21 Oracle Corporation Method and apparatus for parallelizing operations that insert data into an existing data container
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
US5943666A (en) * 1997-09-15 1999-08-24 International Business Machines Corporation Method and apparatus for optimizing queries across heterogeneous databases
US6077313A (en) 1997-10-22 2000-06-20 Microsoft Corporation Type partitioned dataflow analyses
US6295518B1 (en) 1997-12-09 2001-09-25 Mci Communications Corporation System and method for emulating telecommunications network devices
US6266804B1 (en) 1997-12-23 2001-07-24 Ab Initio Software Corporation Method for analyzing capacity of parallel processing systems
US6625593B1 (en) * 1998-06-29 2003-09-23 International Business Machines Corporation Parallel query optimization strategies for replicated and partitioned tables
US6205465B1 (en) 1998-07-22 2001-03-20 Cisco Technology, Inc. Component extensible parallel execution of multiple threads assembled from program components specified with partial inter-component sequence information
US6453464B1 (en) 1998-09-03 2002-09-17 Legacyj. Corp., Inc. Method and apparatus for converting COBOL to Java
US6378126B2 (en) 1998-09-29 2002-04-23 International Business Machines Corporation Compilation of embedded language statements in a source code program
JP2000148699A (ja) 1998-11-06 2000-05-30 Nec Corp ネットワークマネージメントシステム
JP4406944B2 (ja) 1998-11-11 2010-02-03 株式会社日立製作所 計算機システム及び問合せに対する処理分散システム
US7047232B1 (en) 1999-01-13 2006-05-16 Ab Initio Software Corporation Parallelizing applications of script-driven tools
US7080062B1 (en) 1999-05-18 2006-07-18 International Business Machines Corporation Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries
US6560593B1 (en) 1999-07-20 2003-05-06 Computer Associates Think, Inc. Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query
JP4552242B2 (ja) 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
US6615203B1 (en) 1999-12-17 2003-09-02 International Business Machines Corporation Method, computer program product, and system for pushdown analysis during query plan generation
US6947934B1 (en) 2000-02-16 2005-09-20 International Business Machines Corporation Aggregate predicates and search in a database management system
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US6785668B1 (en) 2000-11-28 2004-08-31 Sas Institute Inc. System and method for data flow analysis of complex data filters
US8412746B2 (en) 2001-05-25 2013-04-02 International Business Machines Corporation Method and system for federated querying of data sources
US6877000B2 (en) 2001-08-22 2005-04-05 International Business Machines Corporation Tool for converting SQL queries into portable ODBC
US6725212B2 (en) 2001-08-31 2004-04-20 International Business Machines Corporation Platform-independent method and system for graphically presenting the evaluation of a query in a database management system
JP2003099441A (ja) 2001-09-21 2003-04-04 Hitachi Ltd データ検索手順探索方法
US6915290B2 (en) * 2001-12-11 2005-07-05 International Business Machines Corporation Database query optimization apparatus and method that represents queries as graphs
US7409474B2 (en) * 2002-06-27 2008-08-05 Broadcom Corporation Method and system for rate adaptation
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7953891B2 (en) 2003-03-18 2011-05-31 Microsoft Corporation Systems and methods for scheduling data flow execution based on an arbitrary graph describing the desired data flow
CA2429910A1 (en) 2003-05-27 2004-11-27 Cognos Incorporated System and method of query transformation
US7249120B2 (en) 2003-06-27 2007-07-24 Microsoft Corporation Method and apparatus for selecting candidate statistics to estimate the selectivity value of the conditional selectivity expression in optimize queries based on a set of predicates that each reference a set of relational database tables
US20050038788A1 (en) 2003-08-14 2005-02-17 International Business Machines Corporation Annotation security to prevent the divulgence of sensitive information
US20050177557A1 (en) 2003-09-06 2005-08-11 Oracle International Corporation Automatic prevention of run-away query execution
WO2005028627A2 (en) * 2003-09-19 2005-03-31 Netezza Corporation Performing sequence analysis as a relational join
US7165063B2 (en) 2003-11-19 2007-01-16 International Business Machines Corporation Context quantifier transformation in XML query rewrite
US7133861B2 (en) 2003-12-04 2006-11-07 International Business Machines Corporation Query access plan rebuilds
US7676453B2 (en) * 2004-04-22 2010-03-09 Oracle International Corporation Partial query caching
US7930432B2 (en) 2004-05-24 2011-04-19 Microsoft Corporation Systems and methods for distributing a workplan for data flow execution based on an arbitrary graph describing the desired data flow
CN100518079C (zh) * 2004-09-30 2009-07-22 北京航空航天大学 分布式性能数据采集方法
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7461052B2 (en) 2004-12-06 2008-12-02 International Business Machines Corporation Abstract query plan
US7890532B2 (en) 2004-12-15 2011-02-15 Microsoft Corporation Complex data access
US7359922B2 (en) 2004-12-22 2008-04-15 Ianywhere Solutions, Inc. Database system and methodology for generalized order optimization
US20060265362A1 (en) 2005-05-18 2006-11-23 Content Analyst Company, Llc Federated queries and combined text and relational data
US7856523B2 (en) * 2005-06-01 2010-12-21 Microsoft Corporation Random Access Memory (RAM) based Content Addressable Memory (CAM) management
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
US7584205B2 (en) 2005-06-27 2009-09-01 Ab Initio Technology Llc Aggregating data with complex operations
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
CA2519001A1 (en) * 2005-09-13 2007-03-13 Cognos Incorporated System and method of data agnostic business intelligence query
CA2519010A1 (en) * 2005-09-13 2007-03-13 Cognos Incorporated Query framework system and method
US20070067274A1 (en) 2005-09-16 2007-03-22 International Business Machines Corporation Hybrid push-down/pull-up of unions with expensive operations in a federated query processor
WO2007061430A1 (en) 2005-11-22 2007-05-31 Bea Systems, Inc. System and method for translating sql queries into xml query language
US7464084B2 (en) 2006-01-30 2008-12-09 International Business Machines Corporation Method for performing an inexact query transformation in a heterogeneous environment
US7945562B2 (en) 2006-03-15 2011-05-17 Oracle International Corporation Join predicate push-down optimizations
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
CN101501687B (zh) 2006-06-01 2013-02-13 梅迪尔雷夫默斯特尔和雷夫通信与信息技术Oeg公司 控制关系数据库系统的方法
WO2008021953A2 (en) 2006-08-10 2008-02-21 Ab Initio Software Llc Distributing services in graph-based computations
JP4872529B2 (ja) 2006-08-22 2012-02-08 株式会社日立製作所 リバースエンジニアリング支援方法
TWI348139B (en) 2006-08-24 2011-09-01 Wintek Corp A lcd scan lines driving method
JP2008158664A (ja) 2006-12-21 2008-07-10 Sony Corp 通信システム、サーバ、通信端末及び通信方法
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US8122088B2 (en) 2007-06-28 2012-02-21 International Business Machines Corporation Adding personal note capabilities to text exchange clients
US9424315B2 (en) * 2007-08-27 2016-08-23 Teradata Us, Inc. Methods and systems for run-time scheduling database operations that are executed in hardware
US20100005077A1 (en) * 2008-07-07 2010-01-07 Kickfire, Inc. Methods and systems for generating query plans that are compatible for execution in hardware
JP5453273B2 (ja) 2007-09-20 2014-03-26 アビニシオ テクノロジー エルエルシー グラフベース計算におけるデータフロー管理
US8527976B2 (en) * 2007-11-14 2013-09-03 Nec Laboratories America, Inc. System and method for generating error traces for concurrency bugs
CN101436192B (zh) 2007-11-16 2011-03-16 国际商业机器公司 用于优化针对垂直存储式数据库的查询的方法和设备
US9165032B2 (en) * 2007-11-21 2015-10-20 Hewlett-Packard Development Company, L.P. Allocation of resources for concurrent query execution via adaptive segmentation
US20090198703A1 (en) * 2008-01-31 2009-08-06 Hewlett-Packard Development Company, L.P. Intelligent data storage system
US9760612B2 (en) * 2008-02-26 2017-09-12 Ab Initio Technology, Llc Graphic representations of data relationships
US7933916B2 (en) 2008-02-28 2011-04-26 Microsoft Corporation Querying nonSQL data stores with a SQL-style language
US8537160B2 (en) 2008-03-05 2013-09-17 Microsoft Corporation Generating distributed dataflow graphs
JP2009217405A (ja) 2008-03-07 2009-09-24 Nec Corp ジョブネットワーク自動生成方式及びプログラム
US8538985B2 (en) 2008-03-11 2013-09-17 International Business Machines Corporation Efficient processing of queries in federated database systems
JP5053434B2 (ja) 2008-04-11 2012-10-17 シャープ株式会社 表示装置および表示装置の駆動方法
US7974967B2 (en) 2008-04-15 2011-07-05 Sap Ag Hybrid database system using runtime reconfigurable hardware
KR20100135789A (ko) * 2008-04-16 2010-12-27 인터내셔널 비지네스 머신즈 코포레이션 질의 처리 시각화 시스템 및 방법과 컴퓨터 프로그램 제품
US20100057695A1 (en) 2008-08-28 2010-03-04 Microsoft Corporation Post-processing search results on a client computer
US7917463B2 (en) 2008-10-10 2011-03-29 Business.Com, Inc. System and method for data warehousing and analytics on a distributed file system
US20100121868A1 (en) 2008-11-07 2010-05-13 Yann Le Biannic Converting a database query to a multi-dimensional expression query
US9218209B2 (en) * 2008-12-31 2015-12-22 Pivotal Software, Inc. Apparatus and method for parallel processing of a query
US8666966B2 (en) 2009-01-30 2014-03-04 Hewlett-Packard Development Company, L.P. Providing parallel result streams for database queries
JP4659888B2 (ja) * 2009-02-13 2011-03-30 株式会社日立製作所 データベース処理システム、計算機及びデータベース処理方法
KR101730513B1 (ko) 2009-02-13 2017-04-26 아브 이니티오 테크놀로지 엘엘시 태스크 실행 관리
US20100241893A1 (en) * 2009-03-18 2010-09-23 Eric Friedman Interpretation and execution of a customizable database request using an extensible computer process and an available computing environment
US8392398B2 (en) 2009-07-29 2013-03-05 International Business Machines Corporation Query optimization over graph data streams
US9477778B2 (en) 2009-08-21 2016-10-25 Oracle International Corporation XML query optimization with order analysis of XML schema
US9064047B2 (en) 2009-09-24 2015-06-23 International Business Machines Corporation Parallel processing of ETL jobs involving extensible markup language documents
US8620903B2 (en) * 2009-11-04 2013-12-31 Nec Laboratories America, Inc. Database distribution system and methods for scale-out applications
US8688683B2 (en) 2009-11-30 2014-04-01 Business Objects Software Ltd. Query plan reformulation
US8555263B2 (en) 2010-01-20 2013-10-08 Aetna Inc. System and method for code automation
US8204903B2 (en) 2010-02-16 2012-06-19 Microsoft Corporation Expressing and executing semantic queries within a relational database
US9286370B2 (en) 2010-02-24 2016-03-15 International Business Machines Corporation Viewing a dimensional cube as a virtual data source
US8555265B2 (en) 2010-05-04 2013-10-08 Google Inc. Parallel processing of data
US9495427B2 (en) * 2010-06-04 2016-11-15 Yale University Processing of data using a database system in communication with a data processing framework
WO2011159759A1 (en) 2010-06-15 2011-12-22 Ab Initio Technology Llc Dynamically loading graph-based computations
US8326821B2 (en) 2010-08-25 2012-12-04 International Business Machines Corporation Transforming relational queries into stream processing
JP5199317B2 (ja) * 2010-08-25 2013-05-15 株式会社日立製作所 データベース処理方法、データベース処理システム及びデータベースサーバ
US9128983B2 (en) 2010-10-13 2015-09-08 Aol Inc. Systems and methods for query optimization
US20120246158A1 (en) * 2011-03-25 2012-09-27 Microsoft Corporation Co-range partition for query plan optimization and data-parallel programming model
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US8782081B2 (en) 2011-05-11 2014-07-15 Google Inc. Query template definition and transformation
US9177021B2 (en) * 2011-06-09 2015-11-03 International Business Machines Corporation Relational query planning for non-relational data sources
US9449030B2 (en) 2011-06-30 2016-09-20 International Business Machines Corporation Method for native program to inherit same transaction content when invoked by primary program running in separate environment
US9177022B2 (en) 2011-11-02 2015-11-03 Microsoft Technology Licensing, Llc User pipeline configuration for rule-based query transformation, generation and result display
US9317551B1 (en) 2012-03-23 2016-04-19 The Mathworks, Inc. Transforming a search query into a format understood by a technical computing environment (TCE)-based search engine
US9182957B2 (en) 2012-07-10 2015-11-10 Loring Craymer Method and system for automated improvement of parallelism in program compilation
AU2013295864B2 (en) 2012-07-24 2017-09-14 Ab Initio Technology Llc Mapping entities in data models
US9135301B2 (en) 2013-03-14 2015-09-15 Oracle International Corporation Pushdown of sorting and set operations (union, intersection, minus) to a large number of low-power cores in a heterogeneous system
US9633104B2 (en) 2013-05-03 2017-04-25 Sas Institute Inc. Methods and systems to operate on group-by sets with high cardinality

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050213A (zh) * 2013-03-13 2014-09-17 Sap股份公司 包括数据分类的查询处理系统
CN104050213B (zh) * 2013-03-13 2019-11-12 Sap欧洲公司 包括数据分类的查询处理系统
CN107003868A (zh) * 2014-11-14 2017-08-01 起元技术有限责任公司 处理包含联合类型操作的查询
CN107003868B (zh) * 2014-11-14 2021-05-11 起元技术有限责任公司 处理包含联合类型操作的查询
CN109219808A (zh) * 2016-06-23 2019-01-15 施耐德电气美国股份有限公司 分布式系统的上下文特征数据驱动的顺序联合查询方法
US11222032B2 (en) 2016-06-23 2022-01-11 Schneider Electric USA, Inc. Contextual-characteristic data driven sequential federated query methods for distributed systems
CN109219808B (zh) * 2016-06-23 2022-01-18 施耐德电气美国股份有限公司 分布式系统的上下文特征数据驱动的顺序联合查询方法
US11693865B2 (en) 2016-06-23 2023-07-04 Schneider Electric USA, Inc. Contextual-characteristic data driven sequential federated query methods for distributed systems

Also Published As

Publication number Publication date
US20170132281A1 (en) 2017-05-11
JP6133274B2 (ja) 2017-05-24
JP2014519080A (ja) 2014-08-07
WO2012151149A3 (en) 2013-06-20
KR20140014123A (ko) 2014-02-05
CA2828914A1 (en) 2012-11-08
AU2012250970B2 (en) 2015-08-13
US9576028B2 (en) 2017-02-21
CA3022073C (en) 2019-11-26
US9116955B2 (en) 2015-08-25
CA2828914C (en) 2019-09-24
JP2017130236A (ja) 2017-07-27
KR101915591B1 (ko) 2019-01-07
WO2012151149A2 (en) 2012-11-08
US20120284255A1 (en) 2012-11-08
CA3022050C (en) 2023-11-14
CA3022073A1 (en) 2012-11-08
CN103562910B (zh) 2017-09-22
CN107622103B (zh) 2021-12-28
JP6364107B2 (ja) 2018-07-25
EP2705446A2 (en) 2014-03-12
EP4216069A1 (en) 2023-07-26
CN107622103A (zh) 2018-01-23
WO2012151149A4 (en) 2013-08-08
US10521427B2 (en) 2019-12-31
CA3022050A1 (en) 2012-11-08
US20150169687A1 (en) 2015-06-18
AU2012250970A1 (en) 2013-05-02

Similar Documents

Publication Publication Date Title
CN103562910A (zh) 管理数据查询
US11593369B2 (en) Managing data queries
Shershakov Multi-perspective process mining with embedding configurations into DB-based event logs
AU2017202899B2 (en) Managing data queries
Vega Ruiz et al. Mortadelo: automatic generation of NoSQL stores from platform-independent data models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant