Patent application number | Description | Published |
20120166407 | Distributed Transaction Management Using Two-Phase Commit Optimization - A computer-implemented method, a computer-readable medium and a system are provided. A transaction master for each of a plurality of transactions of a database is provided. Each transaction master is configured to communicate with at least one transaction slave to manage execution of a transaction in the plurality of transactions. Each transaction master configured to perform generating a transaction token to specify data to be visible for a transaction on the database, the transaction token including a transaction identifier for identifying whether the transaction is a committed transaction or an uncommitted transaction, receiving a request to commit the transaction, initiating, based on the request, a two-phase commit operation to commit the transaction. The two-phase commit operation includes preparing for committing the transaction, writing a committed transaction to a memory, optimizing the two-phase commit operation by omitting a phase of the two-phase commit operation, generating an acknowledgement of the committed transaction. The plurality of transactions of the database are executed with each transaction master. | 06-28-2012 |
20120167098 | Distributed Transaction Management Using Optimization Of Local Transactions - A computer-implemented method, a computer program product, and a system are provided. A transaction master for each of a plurality of transactions of a database is provided. Each transaction master is configured to communicate with at least one transaction slave to manage execution a transaction in the plurality of transactions. A transaction token that specifies data to be visible for the transaction on the database is generated. The transaction token includes a transaction identifier for identifying whether the transaction is a committed transaction or an uncommitted transaction. The transaction master is configured to update the transaction token after execution of the transaction. A determination whether the transaction can be executed on the at least one transaction slave without accessing data specified by the transaction token is made. The transaction is executed on the at least one transaction slave using a transaction token stored at the at least one transaction slave. | 06-28-2012 |
20130124475 | System and Method of Performing Snapshot Isolation in Distributed Databases - A system and method of performing snapshot isolation in distributed databases. Each node stores local snapshot information that enforces snapshot isolation for that node. The method includes partially processing a distributed transaction by a first node, receiving a global commit identifier from a coordinator, and continuing to process the distributed transaction, by the first node and a second node, in accordance with the global commit identifier. | 05-16-2013 |
20130275457 | CLIENT-SIDE STATEMENT ROUTING FOR PARTITIONED TABLES - A system includes reception of a first query from a client device at a first database node of a database instance comprising two or more database nodes, the first query specifying a first database table which is partitioned among two or more of the two or more database nodes, determination of first partitioning metadata of the first database table, the first partitioning metadata usable to identify one of the two or more database nodes based on table key values, compilation of the first query at the first database node to generate first compiled code, and transmission of the first compiled code and the first partitioning metadata from the first database node to the client device. | 10-17-2013 |
20130275467 | CLIENT-SIDE STATEMENT ROUTING IN DISTRIBUTED DATABASE - A system includes reception of a first query from a client device at a first database node of a database instance comprising two or more database nodes, determination of a second database node of the two or more database nodes associated with the first query, compilation of the first query at the first database node to generate first compiled code, and transmission of the first compiled code and a first identifier of the second database node from the first database node to the client device. | 10-17-2013 |
20130275468 | CLIENT-SIDE CACHING OF DATABASE TRANSACTION TOKEN - A system includes reception of a first query of a first transaction from a client device at a first database node of a database instance comprising two or more database nodes, request of a first transaction token associated with the first transaction from a second database node of the two or more database nodes, reception of the first transaction token from the second database node at the first database node, execution of the first query at the first database node to generate first results, and transmission of the first results and the first transaction token from the first database node to the client device. | 10-17-2013 |
20130275550 | UPDATE PROTOCOL FOR CLIENT-SIDE ROUTING INFORMATION - A system includes reception of a first query from a client device at a first database node of a database instance, determination of routing information associated with the first query, compilation of the first query at the first database node to generate first compiled code, transmission of the first compiled code and the routing information to the client device, reception of the compiled code from the client device at a second database node, determination, at the second database node, that data associated with the compiled query is associated with a third database node, transmission of the compiled code from the second database node to the third database node, reception of query results at the second database node from the third database node, and transmission of the query results and an indication to update the routing information from the second database node to the client device. | 10-17-2013 |
20130290282 | Logless Atomic Data Movement - A system and method of logless atomic data movement. An internal transaction is started within a multi-level storage architecture, the internal transaction to merge data from the first level storage structure to the second level storage structure. Committed data is read from a first level storage structure of the multi-level storage architecture as specified by the internal transaction. The committed data from the first level storage structure is inserted into a second level storage structure in a bulk insertion process, and the committed data is marked as being deleted from the first level storage. The internal transaction is then committed to the multi-level storage architecture when the committed data has been inserted into the second level storage structure. | 10-31-2013 |
20130304714 | Distributed Transaction Management Using Two-Phase Commit Optimization - A computer-implemented method, a computer-readable medium and a system are provided. A transaction master for each of a plurality of transactions of a database is provided. Each transaction master is configured to communicate with at least one transaction slave to manage execution of a transaction in the plurality of transactions. Each transaction master configured to perform generating a transaction token to specify data to be visible for a transaction on the database, the transaction token including a transaction identifier for identifying whether the transaction is a committed transaction or an uncommitted transaction, receiving a request to commit the transaction, initiating, based on the request, a two-phase commit operation to commit the transaction. The two-phase commit operation includes preparing for committing the transaction, writing a committed transaction to a memory, optimizing the two-phase commit operation by omitting a phase of the two-phase commit operation, generating an acknowledgement of the committed transaction. The plurality of transactions of the database are executed with each transaction master. | 11-14-2013 |
20140122439 | DELETING RECORDS IN A MULTI-LEVEL STORAGE ARCHITECTURE - Deleting a data record from the second level storage or main store is disclosed. A look-up is performed for the data record in the first level storage, where the data record is defined by a row identifier. If the row identifier is found in the first level storage, a look-up is performed for an updated row identifier representing an update of the data record in the second level storage and the main store, the update of the data record being defined by an updated row identifier. If the updated row identifier is found in the second level storage, an undo log is generated from the first level storage to invalidate a row identifier of the row identifier. A flag is generated representing an invalid updated row identifier, and a redo log is generated to restore the data record in the first level storage. | 05-01-2014 |
20140122452 | UNIFIED TABLE QUERY PROCESSING - A system and method of query processing in a multi-level storage system having a unified table architecture. A query is received by a common query execution engine connected with the unified table architecture, the query specifying a data record. The common query execution engine performs a look-up for the data record based on the query at the first level storage structure. If the data record is not present at the first level storage structure, the common query execution engine performs separate look-ups in each of the second level storage structure and the main store. | 05-01-2014 |
20140136473 | PARTIAL MERGE - A multi-level storage architecture and method of performing a partial merge are disclosed. A main store is partitioned into a passive main part and an active main part, the active main part being empty at a start of the partial merge, the passive main part storing encoded data records of the main store that are not subject to the partial merge. A values index corresponding to a sorted dictionary of the passive main part is set to a cardinality of n. The data records of a second level storage structure is merged into the active main part, the active main part having a dictionary that starts with a value of n+1, such that the merging into the active main part continues an encoding scheme according to the values index of the passive main part. | 05-15-2014 |
20140136788 | Deleting Records In A Multi-Level Storage Architecture Without Record Locks - The multi-level storage system and method of deleting first level storage structure pages or records without record locks. The method includes determining whether a record to be deleted from the first level storage structure has any uncommitted write operation, and if the record has an uncommitted write operation, the record is kept in the first level storage structure. Record-moved version information is added to the record to designate the record being moved from the first level storage structure to the second level storage structure. Data change operations are executed for the record based on the record-moved version information without waiting until the record's movement from the first level storage structure to the second level storage structure finishes. | 05-15-2014 |
20140149353 | Version Garbage Collection Using Snapshot Lists - Systems, methods and computer program product embodiments for providing version garbage collection using snapshot lists are disclosed herein. Version garbage collection using snapshot lists includes storing, by at least one processor, versions of a record in a database table, the record comprising a record value and a version timestamp, storing, by the at least one processor, active snapshots in two levels of active snapshot lists, an active snapshot comprising a transaction identifier and a snapshot timestamp, determining, by the at least one processor, a minimum active snapshot from the active snapshots in the two levels of active snapshot lists and deleting, by the at least one processor, versions of the record having a version timestamp earlier than a snapshot timestamp of the minimum active snapshot. | 05-29-2014 |
20140149368 | Compressed Representation of a Transaction Token - Methods, systems and computer-readable storage mediums encoded with computer programs executed by one or more processors for providing a compressed representation of a transaction token are disclosed. In an embodiment, a transaction token maintains statues of transaction to a database in a first data structure and a second data structure. The first data structure includes a plurality of identifiers respectively corresponding to the transactions to the database and a corresponding status of each identifier indicating whether a given transaction is open or closed, wherein the plurality of identifiers is maintained below a threshold number of identifiers. The second data structure includes a plurality of identifiers of transactions to the database beyond the threshold and whose status is open. | 05-29-2014 |
20140149527 | Slave Side Transaction ID Buffering for Efficient Distributed Transaction Management - Methods, systems and computer-readable storage mediums encoded with computer programs executed by one or more processors for providing a compressed representation of a transaction token are disclosed. In an embodiment, upon a receipt of a request for a write transaction at a slave server it is determined whether there exists an unassigned transaction identifier (TID) stored locally at the slave server as provided by a master server to the slave server prior to the receipt of the write request by the slave server. If there exists an unassigned TID at the slave server, the slave server is configured to assign the unassigned TID to the write transaction, otherwise the slave server is configured to request a plurality of unassigned TIDs from the master server, receive the plurality of unassigned TIDs, and assign one of the received unassigned TIDs to the write transaction. The write transaction is processed. | 05-29-2014 |
20140156619 | Locking Protocol for Partitioned and Distributed Tables - Systems, methods and computer program product embodiments for providing a locking protocol for partitioned and distributed database tables are disclosed herein. A locking method includes executing, by at least one processor, a first database transaction on a second node, attempting to acquire and acquiring a lock on the second node in intentional exclusive mode, executing, by the at least one processor, a second database transaction on a first node, acquiring a lock on the first node in exclusive mode and waiting to acquire a lock on the second node in exclusive mode, routing, by the at least one processor, the first database transaction to the first node and unsuccessfully trying to acquire a lock on the first node and committing, by the at least one processor, the first database transaction. | 06-05-2014 |
20140222418 | FIXED STRING DICTIONARY - The subject matter described herein relates to implementation of a dictionary in a column-based, in-memory database where values are not stored directly, rather, for each column, a dictionary is created with all distinct values. For each row, a reference to the corresponding value in the dictionary is stored. In one aspect, data is stored in a memory structure organized in a column store format defined by a plurality of columns and a plurality of rows. A dictionary for each column in the memory structure is generated. The dictionary has distinct values for each column. A reference to the dictionary is generated for each column in the memory structure. The dictionary and the reference to the dictionary are stored in the memory structure. | 08-07-2014 |
20140297686 | CLIENT-SIDE STATEMENT ROUTING IN DISTRIBUTED DATABASE - A system includes reception of a first query from a client device at a first database node of a database instance comprising two or more database nodes, determination of a second database node of the two or more database nodes associated with the first query, compilation of the first query at the first database node to generate first compiled code, and transmission of the first compiled code and a first identifier of the second database node from the first database node to the client device. | 10-02-2014 |