A distributed database system (or federated database system) where a catalog is used to store metadata descriptive of data containers for the constituent database system(s) and/or accelerator system(s) of the federated database. In response to the generation of the trigger signal corresponding to a database definition language (DDL) statement, the accelerator system updates metadata in the catalog.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method for use with a federated database system including an accelerator system, a database management system (DBMS) structured and programmed to manage a first constituent database, with the DBMS including a single interface structured and programmed to receive database queries, the method comprising: maintaining, by the DBMS, a catalogue comprising first metadata and second metadata, the first metadata being descriptive of a structure of data containers of a first data container type stored in the first constituent database, the second metadata being descriptive of a structure of data containers of a second data container type stored in the accelerator system; evaluating, by the single interface, a first received database query to determine whether the first received database query includes a data definition language statement related to a creation or modification of a first data container in the DBMS and/or a data definition language statement related to a creation or modification of a second data container in the accelerator system; on condition that the evaluation determines that the first received database query includes a data definition language statement related to the creation or modification of the first data container of the first data container type: providing, by the single interface, the data definition language statement to the database management system, and changing, by the DBMS, the first data container type according to the data definition language statement; and on condition that the evaluation determines that the first received database query includes a data definition language statement related to the creation or modification of the second data container of the second data container type: providing, by the single interface, the data definition language statement to the database management system, and creating, by the DBMS, a trigger signal that causes the accelerator system to change the second data container type and update the second metadata in the catalogue such that the updated second metadata is descriptive of the changed second data container type.
2. The computer-implemented method of claim 1 wherein: the catalogue includes for each of the first and second data container types, a first, second or third container type label; the first container type label indicates that instances of data containers having the first container type label and data content are solely stored in the first constituent database managed by the DBMS; the second container type label indicates that instances of data containers having the second data container type label and data content are solely stored in the accelerator system; and the third container type label indicates that an instance of a data container having the third container type label and data contents are stored in the first constituent database managed by the database management system and are allowed to be stored as a copy in the accelerator system.
3. The computer-implemented method of claim 2 further comprising: evaluating, by the single interface, the first received database query to determine whether the first received database query includes a data manipulation language statement; and on condition that the first received database query includes a data manipulation language statement, determining, by the single interface, whether the data manipulation language statement shall be processed by the DBMS or shall be dispatched to the accelerator system for being processed on data contained in containers of the second data container type stored in the accelerator system.
4. The computer-implemented method of claim 3 , further comprising: on condition that the single interface determines that the data manipulation language statement shall be processed by the DBMS: evaluating, by the single interface, a container type label of all instances of data containers of the first data container type and all instances of data containers of the second data container type that will be accessed by the data manipulation language statement, and performing the dispatching of the data manipulation language statement to the accelerator system obligatorily in case the data manipulation language statement will access at least one instance of a data container of the second data container type having assigned the second container type label.
5. The computer-implemented method of claim 3 , further comprising: on condition that the single interface determines that the data manipulation language statement shall be processed by the DBMS: evaluating, by the single interface, a container type label of all instances of data containers of the first data container type and all instances of data containers of the second data container type that will be accessed by the data manipulation language statement, and performing the data manipulation language statement by the DBMS on data of the first constituent database managed by the database management system obligatorily in case the data manipulation language statement will access at least one of the first data container instances having assigned the first container type label and will not access any instances of data containers of the second data container type having assigned the second container type label.
6. The computer-implemented method of claim 3 , further comprising: on condition that the single interface determines that the data manipulation language statement shall be processed by the DBMS: evaluating, by the single interface, a container type label of all instances of data containers of the first data container type and all instances of data containers of the second data container type that will be accessed by the data manipulation language statement, and performing the dispatching of the data manipulation language statement to the accelerator system only on the following conditions: (i) the data manipulation language statement will access at least one instance of a data container of the second data container type having assigned the third container type label, and (ii) the DBMS predicts that the data manipulation language statement will be executed quicker in the accelerator system than in the DBMS.
7. The computer-implemented method of claim 1 wherein: the DBMS is optimized for processing database queries of a first database query type; and the accelerator system is optimized for processing database queries of a second database query type.
8. The computer-implemented method of claim 1 , further comprising: managing, beginning, committing and rolling back, by a transaction manager of the federated database system, events of first, second and third database transactions; wherein: the first database transactions respectively comprising one or more database statements to be processed by the DBMS; the second transactions respectively comprising one or more database statements to be processed by the accelerator system; and the third database transactions respectively comprising at least one database statement to be processed by the DBMS and at least one statement to be processed by the accelerator system.
9. The computer-implemented method of claim 8 , the method further comprising: creating, by the transaction manager, for each database transaction comprising at least one database statement which shall be processed by the accelerator system, one or more database connections between the DBMS and the accelerator system; and using, by the DBMS, the created one or more database connections for the dispatching of all database statements contained in the database transaction.
10. The computer-implemented method of claim 8 , further comprising: creating, by the transaction manager, for each of the data manipulation language statements which shall be dispatched to the accelerator system for being processed, a primary database connection between the DBMS and the accelerator system; and creating, by the transaction manager, for each of the data manipulation language statements which shall be dispatched to the accelerator system for being processed and which perform a read operation, a secondary database connection between the DBMS and the accelerator system; wherein: the creation of the primary database connections and an execution of the database statements for which the primary database connections were created being executed sequentially in accordance with a chronological sequence of the statements in a requested transaction; and the creation of the secondary database connections and an execution of the database statements for which the secondary database connections were created being executed in parallel.
11. The computer-implemented method of claim 8 , further comprising: creating, by the transaction manager, for multiple consecutively received data manipulation language statements which shall be dispatched to the accelerator system for being processed and which perform an insert, update or delete operation, a primary database connection between the DBMS and the accelerator system; and creating, by the transaction manager, for each of the data manipulation language statements which shall be dispatched to the accelerator system for being processed and which perform a read operation, a secondary database connection between the DBMS and the accelerator system; wherein: the creation of the primary database connections and an execution of the database statements for which the primary database connections were created being executed sequentially in accordance with a chronological sequence of statements in a requested transaction; and the creation of the secondary database connections and an execution of the database statements for which the secondary database connections were created being executed in parallel.
12. A federated database system including: a processor; a memory; an accelerator system; and a database management system (DBMS) structured and programmed to manage a first constituent database, with the DBMS including a single interface structured and programmed to receive database queries; wherein: the DBMS is structured and programmed to: maintain a catalogue comprising first metadata and second metadata, the first metadata being descriptive of a structure of data containers of a first data container type stored in the first constituent database, the second metadata being descriptive of a structure of data containers of a second data container type stored in the accelerator system, evaluate, by the single interface, a first received database query to determine whether the first received database query includes a data definition language statement related to a creation or modification of a first data container in the DBMS and/or a data definition language statement related to a creation or modification of a second data container in the accelerator system, on condition that the evaluation determines that the first received database query includes a data definition language statement related to the creation or modification of the first data container of the first data container type: provide, by the single interface, the data definition language statement to the database management system, and change the first data container type according to the data definition language statement, and on condition that the evaluation determines that the first received database query includes a data definition language statement related to the creation or modification of the second data container of the second data container type: provide, by the single interface, the data definition language statement to the database management system, and create, by the DBMS, a trigger signal that causes the accelerator system to change the second data container type and update the second metadata in the catalogue such that the updated second metadata is descriptive of the changed second data container type; and the accelerator system is structured and programmed to: receive a data manipulation language statement, dispatched from the DBMS, that was included in the first received database query, receive, from the DBMS, a first trigger signal, responsive to receipt of the first trigger signal: change the second data container type to which the data manipulation language statement relates in the accelerator system, and update the second metadata in a catalogue such that the updated second metadata is descriptive of the changed second data container type, and responsive to dispatch of the database manipulation language statement, process the dispatched data manipulation language statement on data contained in instances of data containers of the second data container type stored in the accelerator system.
13. The federated database system of claim 12 wherein: the DBMS is optimized for processing database queries of a first database query type; and the accelerator system is optimized for processing database queries of a second database query type.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 20, 2016
March 26, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.