Back to results
US 8,751,460 B1Granted
Smart distributed transactions and multiply distributed tables
AssigneeTesora, Inc.
InventorsMrithyunjaya Annapragada, Morgan Jones
Life of this patent
Estimating the term…
Abstract
An elastic parallel database system where metadata is specified out-of-band during database operations via a set of augmentation rules. The rules are used to augment or modify commands received, and indicate whether they are to be used for specific connections on which they are received, for all client connections, or some other scope.
Claims29
A database management system comprising
- a) a network interface, for receiving database queries from two or more client applications, the client applications operating on two or more user client computers, the system providing a least one connection into the system for each such client application;
- b) a group of one or more operational nodes for executing the queries as database operations, each operational node implemented as a logical collection of software components that execute on one or more physical machines;
- c) client applications establish connections with the database and interact with the system in some query language;
- d) one or more operational nodes operating as storage nodes and collectively referred to as a storage nodegroup;
- e) one or more operational nodes operating as compute nodes and collectively referred to as compute nodegroup;
- f) the system further storing user data in tables, and grouping the tables into databases;
- g) tables are associated with storage nodegroups;
- h) data for each of the tables is stored on nodes in one or more associated storage nodegroups according to some specified distribution method;
- i) a Dynamic Query Planner (DQP) analyzes queries received for execution from client applications and transforms those queries into query execution steps (QES) based on factors including a type of input query, a schema of the referenced tables, and a manner in which data in a given table is distributed on the one or more storage nodegroups;
- j) client applications perform groups of actions called transactions that make changes to data in one or more tables, and whereby the data in each table is associated with two or more storage nodegroups, and where the transactions further require that all of the actions in a transaction are completely carried out, or that none of the actions in a transaction are carried out, but never that some but not all of the actions in a transaction are carried out;
- and
- k) a persistent state is associated with each connection including at least a compute nodegroup that is associated with the connection.
9 more elements
A method for managing a database comprising
- a) receiving database queries from two or more client applications via a network interface, the client applications operating on two or more user client computers, with a least one connection provided for each such client application;
- b) executing the queries a database operations on a group of one or more operational nodes, each operational node implemented as a logical collection of software components for executing on one or more physical machines;
- c) client applications connecting and interacting in some query language;
- d) operating one or more operational nodes as storage nodes and collectively referred to as a storage nodegroup;
- e) operating one or more operational nodes as compute nodes and is collectively referred to as compute nodegroup;
- f) storing user data in tables, and grouping the tables into databases;
- g) associating tables with storage nodegroups;
- h) storing data for each of the tables on nodes in one or more associated storage nodegroups according to some specified distribution method;
- i) analyzing, via a Dynamic Query Planner (DQP), queries received for execution from client applications and transforming those queries into query execution steps (QES) based on factors including a type of input query, a schema of the referenced tables, and a manner in which data in a given table is distributed on the one or more storage nodegroups;
- j) performing groups of actions called transactions that make changes to data in one or more tables, and whereby the data in each table is associated with two or more storage nodegroups, and where the transactions further require that all of the actions in a transaction are completely carried out, or that none of the actions in a transaction are carried out, but never that some but not all of the actions in a transaction are carried out;
- and
- k) associating a persistent state with each connection including at least a compute nodegroup that is associated with the connection.
9 more elements
Dependencies are inferred from the claim text.