| Patent application number | Description | Published |
| 20090089313 | DECENTRALIZED RECORD EXPIRY - A technique is described that reduces the complexity and resource consumption associated with performing record expiry in a distributed database system. In accordance with the technique, a record is checked to see if it has expired only when it has been accessed for a read or a write. If at the time of a read a record is determined to have expired, then it is not served. If at the time of a write a record is determined to have expired, then the write is treated as an insertion of a new record, and steps are taken to treat the insertion consistently with regard to the previous expired version. A background process is used to delete records that have not been written to or actively deleted by a client after expiration. | 04-02-2009 |
| 20090157762 | Dynamic Data Reorganization to Accommodate Growth Across Replicated Databases - Methods and apparatuses are provided for dynamically reorganizing the data within a replicated database system. One method, for example, includes performing a split operation across a plurality of replicated databases with regard to an existing partition therein, wherein the existing partition comprises a plurality of data records and the two new partitions each include at least a portion of the plurality of data records, and allowing at least one type of access to the plurality of data records during the split operation. | 06-18-2009 |
| 20090171885 | EFFICIENT BULK LOAD - The subject matter disclosed herein relates to bulk loading of data into a database comprising a plurality of database partitions. In one particular example, the database partitioning may be revised before addition of the new data to the partitions. | 07-02-2009 |
| 20090204593 | System and method for parallel retrieval of data from a distributed database - An improved system and method for parallel retrieval of data from a distributed database is provided. A parallel interface may be provided for use by a cluster of client machine for parallel retrieval of partial results from parallel execution of a database query by a cluster of database servers storing a distributed database. A query interface may be augmented for inputting a database query and specifying the number of instances of parallel retrieval of results from query execution. To do so, a commercial query language may be augmented for sending a query request that may include a parameter specifying the database query and an additional parameter specifying the desired retrieval parallelism. The augmented query interface may return a list of retrieval point addresses for retrieving the partial results assigned to each of the retrieval point addresses from parallel execution of the database query. | 08-13-2009 |
| 20090210428 | System and method for writing data dependent upon multiple reads in a distributed database database - An improved system and method for writing data dependent upon multiple reads in a distributed database is provided. A client may read several data records and may then send a request to a database server to perform a transaction to write a data record dependent upon multiple data records read. A database server may receive the request specifying a transaction to write a data record dependent upon multiple data records read and may perform the transaction by latching a master data record to be written and validating the data records the write depends upon. The multiple data records upon which the write depends may be validated by verifying the multiple data records are current versions of the data records stored in the distributed database. Data intensive applications may use this transaction type in large scale distributed database systems to provide stronger consistency without significantly degrading performance and scalability. | 08-20-2009 |
| 20090210429 | System and method for asynchronous update of indexes in a distributed database - An improved system and method for asynchronous update of indexes in a distributed database is provided. A database server may receive the request to update the data and may update the data in a primary data table of the distributed database. An asynchronous index update of the indexes may be initiated at the time a record is updated in a data table and then control may be returned to a client to perform another data update. An activity cache may be provided for caching the records updated by a client so that when the client requests a subsequent read, the updated records may be available in the activity cache to support the various guarantees for reading the data. Advantageously, the asynchronous index update scheme may provide increased performance and more scalability while efficiently maintaining indexes over database tables in a large scale, replicated, distributed database. | 08-20-2009 |
| 20100030793 | SYSTEM AND METHOD FOR LOADING RECORDS INTO A PARTITIONED DATABASE TABLE - An improved system and method for loading records into a partitioned database table is provided. A translation of records may be generated from a set of source partitions to a set of target partitions by generating a bipartite graph, determining a maximal matching using dynamic programming for a chain of nodes remaining in the bipartite graph after removing singleton edges, and generating a maximal matching after adding back the singleton edges for translation of records from the set of source partitions to the set of target partitions. The partition translation may be executed by traversing from top to bottom the set of source partitions and the set of target partitions in record key order to generate an optimal sequence of operations to transfer the records from the set of source partitions to the set of target partitions. | 02-04-2010 |
| 20100030818 | SYSTEM AND METHOD FOR APPLYING ONCE A TRANSACTION DELIVERED IN A MESSAGE PUBLISHED ASYNCHRONOUSLY IN A DISTRIBUTED DATABASE - An improved system and method for applying once a transaction delivered in a message published asynchronously in a distributed database is provided. In various embodiments, apply once messaging may be achieved for asynchronous publication by having a persistent log stored on a messaging server. A messaging server may receive an update message for a transaction to be published asynchronously in a distributed database, may generate a sequence number for the transaction in a message, and may log the update message with the sequence number in a log file persistently stored on the messaging server. The messaging server may then send an acknowledgement that the update message is published and may asynchronously publish the update message with the sequence number to subscribers. The publication may only succeed if there may not be any message tagged with a sequence number that has been previously published by the messaging server. | 02-04-2010 |
| 20100131554 | SYSTEM AND METHOD FOR PUBLISHING MESSAGES ASYNCHRONOUSLY IN A DISTRIBUTED DATABASE - An improved system and method for publishing messages asynchronously in a distributed database is provided. Clusters of sequencer servers and broker servers may provide services for asynchronously publishing messages about topics including transactions for performing semantic operations on data in the distributed database system. A publisher client may send a message to a sequencer server that may add a sequence number to the message for the topic. The sequencer server may send the message to a primary broker server and a secondary broker server for asynchronous publication to subscribers of the topic of the message. If the primary broker server fails, the message sent to the secondary broker may be distributed to subscribers of the topic of the message. A subscriber client may receive the message and may order the messages received by sequence number for consumption by an application such as a subscriber database engine. | 05-27-2010 |
| 20100223240 | SYSTEM AND METHOD FOR COMPOSITE RECORD KEYS ORDERED IN A FLAT KEY SPACE FOR A DISTRIBUTED DATABASE - An improved system and method for composite record keys ordered in a flat key space for a distributed database is provided. A data schema may be created that defines a composite record key for data records in a canonical form. Composite record keys may then be constructed in canonical form defined by the data schema for each data record in data tables of a distributed database. An ordered index of composite record keys may then be built by inserting the composite record keys in canonical form into the index in sorted order. The index of composite record keys ordered in a flat key space for a distributed database may then be used for efficiently comparing or sorting distributed data records in the distributed database. The composite record keys ordered in a flat key space may be compared or sorted without referencing the data schema of the composite record keys. | 09-02-2010 |