Memory control apparatus, memory control method, and storage medium
US-2015187430-A1 · Jul 2, 2015 · US
US11829349B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11829349-B2 |
| Application number | US-201514709018-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 11, 2015 |
| Priority date | May 11, 2015 |
| Publication date | Nov 28, 2023 |
| Grant date | Nov 28, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.