Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2019028130) BASE DE DONNÉES À HAUTE DISPONIBILITÉ À TRAVERS UN MAGASIN DISTRIBUÉ
Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

WHAT IS CLAIMED IS:

1. A method for a database system synchronizing current state of the database system among a plurality of nodes configured to handle requests for data of the database system stored in a distributed storage with one of the plurality of nodes being currently active and the other nodes of the plurality of nodes being currently standby nodes, the method comprising:

receiving, at the active node, a request to perform a first transaction that includes committing data to the distributed storage; and

in response to receiving the request:

committing, by the active node, the data to the distributed storage to update the current state of the database system; and

causing storing, by the active node, of first metadata providing an indication of the commitment in a transaction log stored in the distributed storage, wherein the transaction log identifies, to the standby nodes, information for the standby nodes to know the current state of the database system.

2. The method of claim 1, further comprising:

monitoring, by one of the standby nodes, a catalog of the database system that identifies new transactions that have been committed to the transaction log, wherein the catalog stores a database schema for the database system; and

prior to reading the transaction log, the standby node determining that the catalog identifies a new transaction committed to the distributed storage.

3. The method of claim 1, further comprising:

receiving, at one of the standby nodes, a notification that the transaction log has been modified; and

in response to receiving the notification, updating, by the standby node, second metadata maintained at the standby node to service client requests, wherein the updating includes reading the first metadata stored in the transaction log.

4. The method of claim 3, further comprising:

maintaining, by the standby node, a cache that includes entries maintaining data that is also stored in the distributed storage; and

wherein updating the second metadata includes the standby node invalidating an entry in the cache in response to the first metadata indicating that data in the entry has been replaced by the committed data.

5. The method of claim 3, further comprising:

maintaining a catalog shared among the plurality of nodes, wherein the catalog identifies metadata stored in the distributed storage and is usable by the standby node to locate the first metadata stored in the distributed storage; and

in response to causing the storing of the first metadata, the active node updating the catalog to identify the first metadata, wherein the updating causes the standby node to receive the notification.

6. The method of claim 1, wherein one of the standby nodes includes a cache that stores data of the distributed storage, wherein the method further comprises:

retrieving, from the transaction log by the standby node, a key of a key -value pair associated with the first transaction;

identifying, by the standby node, an entry in the cache associated with the key; and updating the entry with a value corresponding to the key of the key -value pair.

7. The method of any of claims 1 to 6, wherein the committing includes storing the data externally to the transaction log in the distributed storage.

8. The method of claim 1, wherein the plurality of nodes are configured to execute a high availability (HA) application that is operable to enable one of the standby nodes to become a new active node, and wherein the method further comprises:

in response to the standby node becoming the new active node:

committing, by the new active node, data to the distributed storage for a second transaction; and

causing the storing, by the new active node, of metadata providing an indication of the second transaction in the transaction log.

9. The method of any of claims 1 to 8, further comprising:

maintaining, by the distributed storage, a mapping associating keys of metadata providing indications for a plurality of transactions in the transaction log with physical locations in the distributed storage where the first metadata providing the indications are stored.

10. A database system, comprising:

a plurality of nodes configured to implement a database; and

a distributed storage accessible to the plurality of nodes and configured to store data of the database;

wherein a first of the plurality of nodes is configured to:

receive a request to perform a first transaction that includes committing data to the distributed storage;

for the first transaction, store a first set of data in the distributed storage; and store a first record of the first transaction in a transaction log maintained by the distributed storage, wherein the transaction log defines an ordering in which transactions are performed with respect to the database.

11. The database system of claim 8, wherein a second of the plurality of nodes is configured to:

read, from the distributed storage, the transaction log including the first record; and based on reading the transaction log, update metadata maintained by the second node, wherein the metadata is indicative of a current state of the database.

12. The database system of claim 11 or 10, wherein the transaction log includes a plurality of records of the transactions, and wherein the database system further comprises:

a metadata server configured to maintain a catalog identifying the plurality of records in the distributed storage, wherein the first node is configured to notify the metadata server that the first record has been stored.

13. The database system of claim 12, wherein the second node is configured to:

access the catalog maintained by the metadata server to identify records added to the transaction log by the first node;

read the added records from the distributed storage; and

update the maintained metadata based on the read records.

14. The database system of claim 11, wherein the second node is configured to: receive a request to perform a second transaction that includes writing a second set of data; in response to the request:

store a second set of data in the distributed storage; and

store a second record of the second transaction in the transaction log maintained by the distributed storage.

15. The database system of any of claims 10 to 14, wherein the database system is configured to select only one of the plurality of nodes to operate as an active node of the database system at a given time.

16. The database system of any of claims 10 to 15, wherein the plurality of nodes are configured to implement a high availability (HA) cluster, and wherein the distributed storage includes a plurality of storage devices that are coupled to the plurality of nodes via a network.

17. A non-transitory computer-readable medium having program instructions stored thereon that are executable by one or more processors to implement a method according to any of claims 1 to 9.

18. A method, compri sing :

maintaining, by a first of a plurality of database nodes of a database system, a cache for data stored in a distributed storage shared among the plurality of database nodes, wherein the cache includes an entry for a first key -value pair;

reading, by the first database node, a transaction log, wherein the transaction log identifies an ordering in which transactions of the database system are committed to the distributed storage; based on the reading, the first database node determining that a second of the plurality of database nodes has committed, to the distributed storage, a first transaction that modifies a value of the first key -value pair; and

in response to the determining, the first database node updating the entry included in the cache based on the modified value of the first key -value pair.

19. The method of claim 18, wherein the operations further comprise:

monitoring, by the first database node, a catalog of the database system that identifies new transactions that have been committed to the transaction log, wherein the catalog stores a database schema for the database system; and

prior to reading the transaction log, the first database node determining that the catalog identifies a new transaction committed to the distributed storage.

20. The method of claim 18 or 19, wherein the operations further comprise:

receiving, by the first database node from a client device, a request to perform a second transaction that include modifying a value of a second key-value pair in the distributed storage; storing, at the distributed storage by the first database node, the modified value of the second key -value pair and a record of the second transaction, wherein the record specifies a modification to the value of the second key -value pair; and

updating, by the first database node, the catalog to identify the record of the second transaction.

21. The method of any of claims 18 to 20, wherein the updating includes replacing a value in the entry with the modified value of the first key -value pair.

22. The method of any of claims 18 to 20, wherein the updating includes invalidating the entry included in the cache.

23. The method of any of claims 18 to 22, wherein the operations further comprise:

receiving, by the first database node from a particular client device, a request for a value corresponding to a key of the first key -value pair; and

in response to determining that the value is stored by the updated entry, the first database node providing the value from the updated entry to the particular client device.

24. A non-transitory computer-readable medium having program instructions stored thereon that are executable by one or more processors to implement a method according to any of claims 18 to 23.

25. A database system, comprising:

a plurality of nodes configured to implement a database; and

a distributed storage accessible to the plurality of nodes and configured to store data of the database,

wherein a first of the plurality of nodes is configured to implement a method according to any of claims 18 to 23.