Direct-connect functionality in a distributed database grid

US11829349B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11829349-B2
Application numberUS-201514709018-A
CountryUS
Kind codeB2
Filing dateMay 11, 2015
Priority dateMay 11, 2015
Publication dateNov 28, 2023
Grant dateNov 28, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A database is stored as a plurality of database shards in a distributed database grid comprising a plurality of grid elements, each including a mid-tier database system. A first grid element receives, from an application executing in the same memory as a mid-tier database system of the first grid element, a first database transaction including at least one database operation on specific data stored in a first database shard that belongs to the first grid element. The first grid element performs and commits the first database transaction without participation of another grid element of the plurality of grid elements. The first grid element receives a second database transaction that requires access to another database shard that does not belong to the first grid element. Multiple grid elements of the plurality of grid elements perform the second database transaction and commit the second database transaction using a two-phase commit protocol.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: storing a database as a plurality of database shards in a distributed database grid comprising a plurality of grid elements, each particular grid element of said plurality of grid elements storing a respective database shard of the plurality of database shards, running a respective proxy server for servicing requests to make changes to the respective database shard of the plurality of database shards, and having two modes: a remote connect mode, in which a proxy server of the particular grid element receives, from other grid elements of the plurality of grid elements, requests to access data contained within the respective database shard stored by the particular grid element, and services the access requests; and a direct mode, in which applications executing in the same memory space as a mid-tier database system of the particular grid element directly access the respective database shard stored by the particular grid element; wherein at least a subset of the plurality of grid elements each comprise a mid-tier database system; wherein the database is distributed in accordance with a distribution scheme; receiving, by a first grid element of the plurality of grid elements in the direct mode, from an application executing in the same memory space as a mid-tier database system of the first grid element, a first database transaction comprising at least one database operation on specific data stored in a first database shard of said plurality of database shards stored at the first grid element; wherein the first database transaction is committed by the first grid element without participation of another grid element of the plurality of grid elements; receiving, by the first grid element in direct mode, from said application executing in the same memory space as the mid-tier database system of the first grid element, a second database transaction, wherein the second database transaction requires making changes to data in a second database shard of said plurality of database shards that is stored in a second grid element of said plurality of grid elements, said second database transaction comprising database operations on specific data stored in said first database shard and said second database shard; performing, by at least the first grid element in direct mode and with the respective proxy server of said second grid element in remote connect mode, the second database transaction, wherein the second database transaction comprises making said changes to the data in the second database shard; committing the second database transaction using a two-phase commit protocol; wherein the method is performed by one or more computing devices. 2. The method of claim 1 , wherein at least a subset of the plurality of grid elements each comprise a self-contained mid-tier database system configured to store at least a portion of the database in memory and further configured to respond to database commands. 3. The method of claim 1 , wherein the distribution scheme for the database is determined based on instructions from the application. 4. The method of claim 1 , further comprising: providing distribution data to the application based on the distribution scheme; and determining, by the application, a location of the first database shard comprising the specific data. 5. The method of claim 4 , wherein the distribution data is provided to the application via an API. 6. The method of claim 1 , wherein the application and the distributed database grid are both implemented in a mid-tier application layer. 7. The method of claim 1 , wherein the application is a distributed application, and wherein the first database transaction is received from an instance of the distributed application. 8. The method of claim 7 , wherein the distributed application is partitioned based on the distribution scheme for the database. 9. The method of claim 7 , wherein the distributed application comprises a plurality of application instances each comprising a driver configured to implement a direct connection with a corresponding grid element. 10. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, cause performance of: storing a database as a plurality of database shards in a distributed database grid comprising a plurality of grid elements, each particular grid element of said plurality of grid elements storing a respective database shard of the plurality of database shards, running a respective proxy server for servicing requests to make changes to the respective database shard of the plurality of database shards, and having two modes: a remote connect mode, in which a proxy server of the particular grid element receives, from other grid elements of the plurality of grid elements, requests to access data contained within the respective database shard stored by the particular grid element; and a direct mode, in which applications executing in the same memory space as a mid-tier database system of the particular grid element directly access the respective database shard stored by the particular grid element; wherein at least a subset of the plurality of grid elements each comprise a mid-tier database system; wherein the database is distributed in accordance with a distribution scheme; receiving, by a first grid element of the plurality of grid elements in direct mode, from an application executing in the same memory space as a mid-tier database system of the first grid element, a first database transaction comprising at least one database operation on specific data stored in a first database shard of said plurality of database shards stored at the first grid element; wherein the first database transaction is committed by the first grid element without participation of another grid element of the plurality of grid elements; receiving, by the first grid element in direct mode, from said application executing in the same memory space as the mid-tier database system of the first grid element, a second database transaction, wherein the second database transaction requires making changes to data in a second database shard of said plurality of database shards that is stored in a second grid element of said plurality of grid elements, said second database transaction comprising database operations on specific data stored in said first database shard and said second database shard; performing, by at least the first grid element in direct mode and with the respective proxy server of said second grid element in remote connect mode, the second database transaction, wherein the second database transaction comprises making said changes to the data in the second database shard; committing the second database transaction using a two-phase commit protocol; wherein the method is performed by one or more computing devices. 11. The non-transitory computer-readable medium of claim 10 , wherein at least a subset of the plurality of grid elements each comprise a self-contained mid-tier database system configured to store at least a portion of the database in memory and further configured to respond to database commands. 12. The non-transitory computer-readable medium of claim 10 , wherein the distribution scheme for the database is determined based on instructions from the application. 13. The non-transitory computer-readable medium of claim 10 , the instructions which, when executed, further cause performance of: providing distribution data to the application based on the distribution scheme, and determining, by the application, a location of the first database shard comprising the specific data.

Assignees

Inventors

Classifications

  • G06F16/27Primary

    Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Updates performed during online database operations; commit processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11829349B2 cover?
A database is stored as a plurality of database shards in a distributed database grid comprising a plurality of grid elements, each including a mid-tier database system. A first grid element receives, from an application executing in the same memory as a mid-tier database system of the first grid element, a first database transaction including at least one database operation on specific data st…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/27. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 28 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).