Enhanced high performance real-time relational database system and methods for using same
First Claim
Patent Images
1. A database system supporting persistent queries, the system comprising:
- a processor;
a memory;
a plurality of programming instructions stored in the memory and operating on the processor;
wherein, upon operating the programming instructions, the processor is configured to operate a persistent query service configured to receive connections and requests from client software applications;
wherein, on receiving a request from a client software application to create a persistent query from a client software application, the persistent query service;
creates a query virtual table corresponding to the persistent query;
parses the persistent query to create a tree structure representing a logical arrangement of a plurality of operators that yield results required by the persistent query;
creates a plurality of intermediate virtual tables corresponding to the plurality of operators, wherein the step of creating an intermediate virtual table further comprises establishing listeners associated with the intermediate virtual table to receive data change notifications;
establishes listeners for the query virtual table to receive data change notifications from a plurality of intermediate virtual tables;
creates a plurality of data source virtual tables, each corresponding to a specific data source required to fulfill the persistent query;
causes the plurality of data source virtual tables to retrieve initial data from the plurality of data sources; and
propagates data via the plurality of intermediate virtual tables and their associated listeners to the persistent query virtual table; and
wherein, on detection of a data change in a data source, the associated data source virtual table invokes a plurality of corresponding methods of listeners of a plurality of virtual intermediate tables and propagates the data change to the persistent query virtual table for keeping data synced between one table and another, and for readily updating aggregations of data in tables when a data modification event is made against a table and as data changes occur in a real-time database, without compromising performance.
6 Assignments
0 Petitions
Accused Products
Abstract
A database system supporting persistent queries, using an enhanced persistent query service and various data sources. On receiving a request to create a persistent query from a client software application, the persistent query service: creates a query virtual table; parses the persistent query; creates a plurality of intermediate virtual tables; establishes listeners for the query virtual table; creates a plurality of data source virtual tables; causes the plurality of data source virtual tables to retrieve initial data from data sources; and propagates data via intermediate virtual tables to the persistent query virtual table.
-
Citations
12 Claims
-
1. A database system supporting persistent queries, the system comprising:
-
a processor; a memory; a plurality of programming instructions stored in the memory and operating on the processor; wherein, upon operating the programming instructions, the processor is configured to operate a persistent query service configured to receive connections and requests from client software applications; wherein, on receiving a request from a client software application to create a persistent query from a client software application, the persistent query service; creates a query virtual table corresponding to the persistent query; parses the persistent query to create a tree structure representing a logical arrangement of a plurality of operators that yield results required by the persistent query; creates a plurality of intermediate virtual tables corresponding to the plurality of operators, wherein the step of creating an intermediate virtual table further comprises establishing listeners associated with the intermediate virtual table to receive data change notifications; establishes listeners for the query virtual table to receive data change notifications from a plurality of intermediate virtual tables; creates a plurality of data source virtual tables, each corresponding to a specific data source required to fulfill the persistent query; causes the plurality of data source virtual tables to retrieve initial data from the plurality of data sources; and propagates data via the plurality of intermediate virtual tables and their associated listeners to the persistent query virtual table; and wherein, on detection of a data change in a data source, the associated data source virtual table invokes a plurality of corresponding methods of listeners of a plurality of virtual intermediate tables and propagates the data change to the persistent query virtual table for keeping data synced between one table and another, and for readily updating aggregations of data in tables when a data modification event is made against a table and as data changes occur in a real-time database, without compromising performance. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for enhancing persistent queries in a database system by keeping data synced between one table and another, and for readily updating aggregations of data in tables when a data modification event is made against a table and as data changes occur in a real-time database, the method comprising the steps of:
-
(a) creating, at a persistent query service configured to receive connections and requests from client software applications, a persistent query wherein the step of creating the persistent query further comprises establishing listeners with client code to receive notifications from the persistent query; (b) creating a query virtual table corresponding to the persistent query; (c) parsing the persistent query to create a tree structure representing a logical arrangement of a plurality of operators that yield results required by the persistent query; (d) creating a plurality of intermediate virtual tables corresponding to the plurality of operators, wherein the step of creating an intermediate virtual table further comprises establishing listeners associated with the intermediate virtual table to receive data change notifications and establishing a specific tracking table to relate old records and new records; (e) establishing listeners for the query virtual table to receive data change notifications from a plurality of intermediate virtual tables; (f) creating a plurality of data source virtual tables, each corresponding to a specific data source required to fulfill the persistent query; (g) retrieving, by the plurality of data source virtual tables, initial data from the plurality of data sources; (h) invoking, by the plurality of data source virtual tables, row added methods of a plurality of intermediate virtual tables; (i) propagating data via the plurality of intermediate virtual tables and their associated listeners to the persistent query virtual table; (j) on detection of a data change in a data source, invoking by the associated data source virtual table of corresponding methods of listeners of a plurality of virtual intermediate tables; (k) propagating the data change via the plurality of intermediate virtual tables and their associated listeners to the persistent query virtual table; and (l) executing the client code of each affected listener in the query virtual table. - View Dependent Claims (9, 10, 11, 12)
-
Specification