Read/write split database query routing

US10248691B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10248691-B2
Application numberUS-201514985789-A
CountryUS
Kind codeB2
Filing dateDec 31, 2015
Priority dateJul 13, 2015
Publication dateApr 2, 2019
Grant dateApr 2, 2019

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.

Systems and methods for improving database system performance are described. In one embodiment, a database system includes a database application cluster including at least one read-write node and a plurality of read nodes, a shared memory, and a multiplexer coupled to the database application cluster and shared memory. The multiplexer is configured to receive a request from a client computing system which includes a database query. Based on a lookup in the shared memory, the multiplexer determines that the database query can be routed to one of the plurality of read nodes. In response, the database query is routed to one of the read nodes for execution.

First claim

Opening claim text (preview).

What is claimed is: 1. A database system, comprising: a database application cluster comprising a read-write node and a plurality of read nodes; a shared memory; and a multiplexer coupled to the database application cluster and shared memory, and comprising a non-transitory memory and one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the multiplexer to perform operations comprising: receiving a request from a client computing system, wherein the request comprises a database query; determining that the database query is a read query which is not included in a transaction executing on the read-write node of the database application cluster; determining, based at least on a lookup in the shared memory and the determination that the database query is a read query not included in a transaction executing on the read-write node, whether the database query can be routed to one of the plurality of read nodes; and routing the database query to one of the plurality of read nodes for execution if the determination is that the database query can be routed to one of the plurality of read nodes. 2. The system of claim 1 , wherein the operations further comprise: returning results of an executed database query to the client computing system. 3. The system of claim 1 , wherein the operations further comprise: routing the database query to the read-write node for execution if the determination is that the database query cannot be routed to one of the plurality of read nodes. 4. The system of claim 3 , wherein determining that the database query cannot be routed to one of the plurality of read nodes includes determining that the database query is part of a transaction executing on the read-write node of the database application cluster. 5. The system of claim 1 , wherein routing the database query to one of the plurality of read nodes for execution further includes routing the database query to a read worker system in a worker pool. 6. The system of claim 1 , the operations further comprising: updating, in the shared memory and by a worker system coupled to the read-write node, a state of a worker process executing on the worker system. 7. The system of claim 1 , wherein determining that the database query is a read query further includes parsing the query to identify a read only operation. 8. A method for providing data from a database system in response to a query, comprising: receiving, by a multiplexer of the database system, a request from a client computing system, wherein the request comprises a database query; determining that the database query is a read query which is not included in a transaction executing on a read-write node of a database application cluster comprising a plurality of read nodes; determining, by the multiplexer and based at least on a lookup in a shared memory coupled to the multiplexer and the database application cluster and on the determination that the database query is a read query not included in a transaction executing on the read-write node, whether the database query can be routed to one of the plurality of read nodes; and routing, by the multiplexer, the database query to one of the plurality of read nodes for execution if the determination is that the database query can be routed to one of the plurality of read nodes. 9. The method of claim 8 , further comprising returning results of an executed database query to the client computing system. 10. The method of claim 8 , further comprising: routing the database query to the read-write node for execution if the determination is that the database query cannot be routed to one of the plurality of read nodes. 11. The method of claim 10 , wherein determining that the database query cannot be routed to one of the plurality of read nodes further comprises determining that the database query is part of a transaction executing on the read-write node of the database application cluster. 12. The method of claim 8 , wherein routing the database query to one of the plurality of read nodes for execution further includes routing the database query to a read worker system in a worker pool for execution. 13. The method of claim 8 , further comprising updating, in the shared memory and by a worker system coupled to the read-write node, a state of a worker process executing on the worker system. 14. The method of claim 8 , wherein determining that the database query is a read query further includes parsing the query to identify a read only operation. 15. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising: receiving, by a multiplexer of a database system, a request from a client computing system, wherein the request comprises a database query; determining that the database query is a read query which is not included in a transaction executing on a read-write node of a database application cluster comprising a plurality of read nodes; determining, by the multiplexer and based at least on a lookup in a shared memory coupled to the multiplexer and the database application cluster and on the determination that the database query is a read query not included in a transaction executing on the read-write node, whether the database query can be routed to one of the plurality of read nodes; and routing, by the multiplexer, the database query to one of the plurality of read nodes for execution if the determination is that the database query can be routed to one of the plurality of read nodes. 16. The non-transitory machine-readable medium of claim 15 , the operations further comprising returning results of an executed database query to the client computing system. 17. The non-transitory machine-readable medium of claim 15 , the operations further comprising: routing the database query to the read-write node for execution if the determination is that the database query cannot be routed to one of the plurality of read nodes. 18. The non-transitory machine-readable medium of claim 17 , wherein determining that the database query cannot be routed to one of the plurality of read nodes further comprises determining that the database query is part of a transaction executing on the read-write node of the database application cluster. 19. The non-transitory machine-readable medium of claim 15 , wherein routing the database query to one of the plurality of read nodes for execution further includes routing the database query to a read worker system in a worker pool for execution. 20. The non-transitory machine-readable medium of claim 15 , wherein determining that the database query is a read query further includes parsing the query to identify a read only operation.

Assignees

Inventors

Classifications

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 US10248691B2 cover?
Systems and methods for improving database system performance are described. In one embodiment, a database system includes a database application cluster including at least one read-write node and a plurality of read nodes, a shared memory, and a multiplexer coupled to the database application cluster and shared memory. The multiplexer is configured to receive a request from a client computing …
Who is the assignee on this patent?
Paypal Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2453. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 02 2019 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).