Support for incrementally processing user defined aggregations in a data stream management system

    公开(公告)号:US08521867B2

    公开(公告)日:2013-08-27

    申请号:US11977437

    申请日:2007-10-20

    IPC分类号: G06F15/173 G06F17/30 G06F3/00

    CPC分类号: G06F17/30412 G06F17/30516

    摘要: A computer is programmed to accept a command for creation of a new aggregation defined by a user to process data incrementally, one tuple at a time. One or more incremental function(s) in a set of instructions written by the user to implement the new aggregation maintain(s) locally any information that is to be passed between successive invocations, to support computing the aggregation for a given set of tuples as a whole. The user writes a set of instructions to perform the aggregation incrementally, including a plus function which is repeatedly invoked, only once, for each addition to a window of a message. The user also writes a minus function to be invoked with the message, to return the value of incremental aggregation over the window after removal of the message. In such embodiments, the computer does not maintain copies of messages in the window for use by aggregation function(s).

    System and method for providing highly available database performance
    82.
    发明授权
    System and method for providing highly available database performance 有权
    提供高可用数据库性能的系统和方法

    公开(公告)号:US08200658B2

    公开(公告)日:2012-06-12

    申请号:US13158808

    申请日:2011-06-13

    IPC分类号: G06F17/30

    摘要: A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement.

    摘要翻译: 描述了使得第二数据库实例能够更快速地处理执行先前由第一数据库实例执行的数据库语句的请求的系统和方法。 在一个实施例中,该方法涉及将数据库语句从第一数据库实例发送到第二数据库实例,并且由第二数据库实例生成准备执行语句所需的一个或多个结构,诸如解析树和执行计划 为声明。 如果在将来的某个时刻,第二个数据库实例接收到执行相同语句的请求,上述结构可以用于执行,从而不需要一个或多个潜在的耗时的操作,比如生成解析 树或执行计划。

    Support for user defined functions in a data stream management system
    83.
    发明授权
    Support for user defined functions in a data stream management system 有权
    支持数据流管理系统中用户定义的功能

    公开(公告)号:US08073826B2

    公开(公告)日:2011-12-06

    申请号:US11874896

    申请日:2007-10-18

    IPC分类号: G06F17/00 G06F17/30

    CPC分类号: G06F8/20

    摘要: A data stream management system (DSMS) is designed to support a new user-defined function, by creating and using at least two structures as follows. A first structure (“metadata entry”) is created in response to a command for creation of the new function, and maps a single instance of a class to the function's name. A second structure is created with creation of an operator on receipt of each new continuous query that uses the new function. The second structure (“operator specific data structure”) contains a path to the newly-created instance, which path is obtained by looking up the first structure. Additional second structures are created on receipt of additional continuous queries which use the new function, but all second structures contain the same path. All continuous queries use the same instance. Repeated use of a single instance to compile and execute multiple queries eliminates repeated instantiation of the same function.

    摘要翻译: 数据流管理系统(DSMS)旨在通过如下创建和使用至少两个结构来支持新的用户定义的功能。 响应于用于创建新功能的命令创建第一个结构(“元数据条目”),并将类的单个实例映射到函数的名称。 在接收到使用新功能的每个新的连续查询时,创建第二个结构。 第二个结构(“运算符特定数据结构”)包含新创建的实例的路径,通过查找第一个结构获取哪个路径。 附加的第二个结构是在接收到使用新功能的附加连续查询时创建的,但所有第二个结构都包含相同的路径。 所有连续查询使用相同的实例。 重复使用单个实例来编译和执行多个查询消除了相同功能的重复实例化。

    SYSTEM AND METHOD FOR PROVIDING HIGHLY AVAILABLE DATABASE PERFORMANCE
    84.
    发明申请
    SYSTEM AND METHOD FOR PROVIDING HIGHLY AVAILABLE DATABASE PERFORMANCE 有权
    提供高可用性数据库性能的系统和方法

    公开(公告)号:US20110238655A1

    公开(公告)日:2011-09-29

    申请号:US13158808

    申请日:2011-06-13

    IPC分类号: G06F17/30 G06F7/00

    摘要: A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement.

    摘要翻译: 描述了使得第二数据库实例能够更快速地处理执行先前由第一数据库实例执行的数据库语句的请求的系统和方法。 在一个实施例中,该方法涉及将数据库语句从第一数据库实例发送到第二数据库实例,并且由第二数据库实例生成准备执行语句所需的一个或多个结构,诸如解析树和执行计划 为声明。 如果在将来的某个时刻,第二个数据库实例接收到执行相同语句的请求,上述结构可以用于执行,从而不需要一个或多个潜在的耗时的操作,比如生成解析 树或执行计划。

    Support for user defined aggregations in a data stream management system
    85.
    发明授权
    Support for user defined aggregations in a data stream management system 有权
    支持数据流管理系统中用户定义的聚合

    公开(公告)号:US07991766B2

    公开(公告)日:2011-08-02

    申请号:US11977439

    申请日:2007-10-20

    IPC分类号: G06F7/00 G06F15/16

    CPC分类号: G06F17/30489 G06F17/30516

    摘要: A computer is programmed to accept a command to create a new aggregation defined by a user during execution of continuous queries on streams of data. The computer is further programmed to thereafter accept and process new continuous queries using the new aggregation, in a manner similar to built-in aggregations. The user typically writes a set of instructions to perform the new aggregation, and identifies in the command, a location of the set of instructions. In response to such a command, the computer creates metadata identifying the new aggregation. The metadata is used to instantiate one aggregation for each group of data in a current window, grouped by an attribute identified in a new query.

    摘要翻译: 计算机被编程为接受命令以在对数据流的连续查询执行期间创建由用户定义的新聚合。 该计算机被进一步编程为此后以类似于内置聚合的方式接受和处理使用新聚合的新的连续查询。 用户通常写一组指令来执行新的聚合,并且在命令中标识该组指令的位置。 响应于这样的命令,计算机创建标识新聚合的元数据。 元数据用于为当前窗口中的每组数据实例化一个聚合,按照新查询中标识的属性进行分组。

    Handling silent relations in a data stream management system
    86.
    发明授权
    Handling silent relations in a data stream management system 有权
    处理数据流管理系统中的沉默关系

    公开(公告)号:US07979420B2

    公开(公告)日:2011-07-12

    申请号:US11873407

    申请日:2007-10-16

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30548

    摘要: A new continuous query to a data stream management system (DSMS) may use a silent relation whose source does not provide any heartbeats. During execution of any given operator, the DSMS processes data from one input (“active input”) using its time stamp as if the same time stamp is received from another input whose relation has fallen silent (“empty input”), if one or more predetermined conditions are met. One predetermined condition is that the empty input's operator has all its own inputs silent. And another predetermined condition is that a maximum time stamp that is currently present among all the inputs of the empty input's operator is equal to a time stamp that was last received from these same inputs. When both conditions are met, previously received data from the empty input is time stamped with the same time stamp as the most recently received data from the active input.

    摘要翻译: 对数据流管理系统(DSMS)的新的连续查询可以使用其源不提供任何心跳的无声关系。 在执行任何给定的操作者期间,DSMS使用其时间戳来处理来自一个输入(“活动输入”)的数据,就好像从另一个输入中接收到相同时间标记的关系已经下沉(“空输入”),如果一个或 更符合规定的条件。 一个预定的条件是空输入的运算符具有所有自己的输入静音。 并且另一个预定条件是当前存在于空输入运算符的所有输入中的最大时间戳等于从这些相同输入最后接收的时间戳。 当满足这两个条件时,来自空输入的先前接收到的数据与来自活动输入的最近接收的数据具有相同的时间标记的时间戳。

    Compile time opcodes for efficient runtime interpretation of variables for database queries and DML statements
    87.
    发明授权
    Compile time opcodes for efficient runtime interpretation of variables for database queries and DML statements 有权
    用于数据库查询和DML语句的变量的有效运行时解释的编译时间操作码

    公开(公告)号:US07912835B2

    公开(公告)日:2011-03-22

    申请号:US11104993

    申请日:2005-04-12

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30433

    摘要: A method system and program for performing a query in which context and information including opcodes accompanies an execution plan for the query. The opcodes determine operations to retrieve a set of bind variables. The execution plan and context information shared by a plurality of application programs.

    摘要翻译: 一种用于执行查询的方法系统和程序,其中包括操作码的上下文和信息伴随着查询的执行计划。 操作码确定检索一组绑定变量的操作。 由多个应用程序共享的执行计划和上下文信息。

    Direct loading of semistructured data
    88.
    发明授权
    Direct loading of semistructured data 有权
    直接加载半结构化数据

    公开(公告)号:US07814047B2

    公开(公告)日:2010-10-12

    申请号:US10648600

    申请日:2003-08-25

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30917

    摘要: Techniques and systems are disclosed for directly storing semistructured data in a database. According to one aspect, a client application reads data that comprises instances of a parent type. The client application invokes routines associated with the parent type. An array is created for storing instances of the parent type. These routines invoke routines associated with a child type of the parent type. An array is created for storing instances of the child type. The arrays are populated with values specified in the data. According to one aspect, some columns of the arrays may be populated with other values to be stored in hidden columns of database tables. The client application converts the arrays into a data stream that conforms to the format of the database's data blocks. The client application then streams the data to a database server, which writes the data blocks directly into one or more data blocks in the database.

    摘要翻译: 公开了用于将半结构化数据直接存储在数据库中的技术和系统。 根据一个方面,客户端应用读取包含父类型的实例的数据。 客户端应用程序调用与父类型相关联的例程。 创建一个数组来存储父类型的实例。 这些例程调用与父类型的子类型相关联的例程。 创建一个数组来存储子类型的实例。 数组用数据中指定的值填充。 根据一个方面,阵列的一些列可以用其他值填充以存储在数据库表的隐藏列中。 客户端应用程序将阵列转换为符合数据库数据块格式的数据流。 然后,客户端应用程序将数据流传输到数据库服务器,数据库服务器将数据块直接写入数据库中的一个或多个数据块。

    Support for sharing computation between aggregations in a data stream management system
    89.
    发明授权
    Support for sharing computation between aggregations in a data stream management system 有权
    支持在数据流管理系统中的聚合之间共享计算

    公开(公告)号:US07673065B2

    公开(公告)日:2010-03-02

    申请号:US11977440

    申请日:2007-10-20

    IPC分类号: G06F15/16 G06F15/167

    CPC分类号: G06F17/30516 G06F17/30489

    摘要: A computer is programmed to process a continuous query that is known to perform a new aggregation on one or more stream(s) of data, using one or more other aggregations on the stream(s). The computer creates an operator to execute the continuous query, and schedules the operator for execution in a specific order. In several embodiments, the computer determines the order based on dependency of the new aggregation on other aggregation(s), and on the order of performance of the other aggregation(s). The new aggregation is scheduled for performance after performance of each of the other aggregations. The computer is further programmed to pass results of the other aggregations to the new aggregation, by execution of a predetermined function. Support for use of the other aggregations results within the new aggregation eliminates redundant computation of the other aggregations within the new aggregation. The new aggregation may be user defined or built-in.

    摘要翻译: 计算机被编程为处理已知的在一个或多个数据流上执行新聚合的连续查询,使用流上的一个或多个其他聚合。 计算机创建一个运算符来执行连续查询,并按照特定顺序安排运营商执行。 在几个实施例中,计算机基于新聚合对其他聚合的依赖性以及其他聚合的性能的顺序来确定顺序。 新的聚合计划在执行每个其他聚合后执行性能。 计算机还被编程为通过执行预定功能将其他聚合的结果传递给新聚合。 在新集合中支持使用其他聚合结果可以消除新聚合中其他聚合的冗余计算。 新聚合可以是用户定义的或内置的。

    Processing path-based database operations
    90.
    发明授权
    Processing path-based database operations 有权
    处理基于路径的数据库操作

    公开(公告)号:US07627547B2

    公开(公告)日:2009-12-01

    申请号:US10999864

    申请日:2004-11-29

    IPC分类号: G06F7/00

    摘要: A method and apparatus for processing path-based database operations is provided. According to one aspect, a “parent row ID” column is added to a directory links table. For each row in the table, the value of the “parent row ID” column indicates the row ID, in the table, of the node that is that row's node's parent in the file hierarchy. To determine whether a particular node is within a specified path of the file hierarchy, the particular node's pathname is derived by visiting child-to-parent links indicated in the table and prepending, to the front of a pathname being constructed for the particular node, node names indicated in the visited rows. Each parent node's row in the directory links table is located using the “parent row ID” column of the child node's row. The resulting pathname is compared with the specified path to determine whether the particular node exists therein.

    摘要翻译: 提供了一种用于处理基于路径的数据库操作的方法和装置。 根据一个方面,将“父行ID”列添加到目录链接表。 对于表中的每一行,“父行ID”列的值表示表中该行的文件层次结构中该节点的父节点的行ID。 为了确定特定节点是否在文件层次结构的指定路径内,特定节点的路径名是通过访问表中指示的前后的子对象链接导出到为特定节点构建的路径名的前面, 访问行中指示的节点名称。 目录链接表中的每个父节点的行都使用子节点行的“父行ID”列进行定位。 将得到的路径名与指定的路径进行比较,以确定特定节点是否存在于其中。