System and method for facilitating replication in a distributed database
AssigneeMongoDB, Inc.
InventorDwight Merriman
Life of this patent
Estimating the term…
Abstract
According to one aspect, a distributed database system is configured to manage multi-writer operations on a distributed database by implementing one or more catamorphic database operators. Catamorphic operators can be architected on the system, and executed with little or no reconciliation logic. Catamorphic operators define sets of catamorphic operations and respective execution logic where the order of execution of catamorphic operations is not relevant to a final result.
Claims21
A database system for managing distributed write operations, the system comprising:
- at least one processor operatively connected to a memory for executing system components;
- a database comprising a plurality of database instances and a plurality of copies of the data in the database instances, wherein the database is configured to process writes against the plurality of copies of the data, and is further configured to enable, in a least a portion of the database, multiple write instances of copies of same data based at least in part on executing catamorphic write operations for the multiple write instances;
- a data routing component executed by the at least one processor configured to:
- determine multiple writer capability for target data;
- limit execution of write operations for a multiple writer data instance to catamorphic operators, wherein at least one of the catamorphic operators are associated with a data type promotion model comprising a sequence of promotions of data types defining hierarchy of respective data types;
- select a node for executing the write operation from a group of nodes hosting copies of the same database data;
- wherein the data routing component is configured to:
- identify the target data responsive to a received write operation, and
- communicate the received write operation to the selected node responsive to validation that the operation is catamorphic and validation of multiple writer configuration.
A computer implemented method for managing a distributed database, the method comprising:
- receiving, by at least one processor, from a client a write operation to data on a distributed database, wherein the database comprises a plurality of database instances and a plurality of copies of the data in the database instances and is configured to process writes against the plurality of copies of the data, and is further configured to enable, in a least a portion of the database, multiple write instances of copies of same data based at least in part on executing catamorphic write operations for the multiple write instances;
- limiting, by the at least one processor, execution of the write operation for one or more multiple writer data instances to catamorphic operators, wherein at least one of the catamorphic operators are associated with a data type promotion model comprising a sequence of promotions of data types defining hierarchy of respective data types;
- selecting, by the at least one processor, a node for executing the write operation from a group of nodes hosting copies of the same database data;
- communicating, by the at least one processor, the received write operation to the selected node responsive to validation that the operation is catamorphic and validation of multiple writer configuration.
Dependencies are inferred from the claim text.