Client-side partition-aware batching of records for insert operations

US9720949B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9720949-B2
Application numberUS-201414271218-A
CountryUS
Kind codeB2
Filing dateMay 6, 2014
Priority dateNov 22, 2013
Publication dateAug 1, 2017
Grant dateAug 1, 2017

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.

Client-side partition-aware batch insert operations are presented. For example, a server generates partition metadata, which is provided to a client. The client uses the partition metadata to determine the database nodes to which to send batch insert requests. For example, the client divides batch insert data, such as records for a partitioned table, among multiple database nodes having partitions of the table. The client issues batch insert requests to the respective database nodes for execution. When executed by the database nodes, batch insert operations can be performed in parallel.

First claim

Opening claim text (preview).

We claim: 1. One or more tangible computer-readable media storing computer-executable instructions for causing a client programmed thereby to perform a method comprising: with the client, receiving a batch insert request comprising a plurality of insert operations for a partitioned table; with the client, splitting the plurality of insert operations into a plurality of operation batches according to partition metadata, wherein the partition metadata indicates how to partition the plurality of insert operations between a plurality of database nodes; and from the client, issuing the plurality of operation batches to the plurality of database nodes for execution according to the partition metadata. 2. The one or more computer-readable media of claim 1 wherein the splitting includes, for an insert operation of the plurality of insert operations: determining a database node of the database nodes; and adding the insert operation to an operation batch of the plurality of operation batches that is for the determined database node. 3. The one or more computer-readable media of claim 1 wherein the splitting includes, for an insert operation of the plurality of insert operations: determining a location; and adding the insert operation to an operation batch of the plurality of operation batches that is for the location. 4. The one or more computer-readable media of claim 1 wherein the splitting includes, for an insert operation of the plurality of insert operations: based on partitioning criteria for one or more data values of the insert operation, selecting one of the database nodes or a location. 5. The one or more computer-readable media of claim 4 wherein the selecting uses a hash key calculated from the one or more data values using the partitioning criteria. 6. The one or more computer-readable media of claim 1 wherein the splitting includes, for an insert operation of the plurality of insert operations: selecting one of the operation batches according to a round-robin pattern. 7. The one or more computer-readable media of claim 6 wherein the method further comprises: from the client, providing, along with the given operation batch, a flag that indicates the given operation batch has already been partitioned and should not be partitioned by the database node. 8. The one or more computer-readable media of claim 1 wherein the issuing depends at least in part on whether the given operation batch has been filled to a batch size. 9. The one or more computer-readable media of claim 1 wherein the issuing depends at least in part on whether a last insert operation of the plurality of insert operations has been processed. 10. The one or more computer-readable media of claim 1 wherein the issuing depends at least in part on whether a timer for the given operation batch has expired. 11. The one or more computer-readable media of claim 1 wherein the method further comprises: with the client, updating the partition metadata to account for changes to one or more of partitioning criteria, the database nodes, or locations for the database nodes. 12. The one or more computer-readable media of claim 1 wherein, after the issuing, the client continues the splitting without waiting for a reply from a server for the operation batch. 13. The one or more computer-readable media of claim 1 wherein a single thread at the client performs the splitting. 14. In a database system that includes a plurality of servers, each server operating a database node, to which a client device can issue requests for insert operations, a server of the plurality of servers, the server comprising a processing unit and memory, wherein the server is adapted to perform a method comprising: with the server, generating partition metadata that indicates how to partition insert operations between the plurality of database nodes, wherein the partition metadata includes partitioning criteria for insert operations, the partition criteria indicating, for the plurality of database nodes, which node is responsible for executing insert operations for particular partitions of a partitioned table; from the server, transferring the partition metadata to a client for use in client-side partition-aware routing, whereby the client issues batched insert operations directly to the plurality of database nodes according to the partition criteria of the partition metadata; and with the server, receiving a batch of insert operations from the client device, the batch of insert operations associated with a batch insert request executable at the plurality of servers, the batch of insert operations being executable at the server. 15. The server of claim 14 wherein the partition metadata is transferred as part of a reply to a request from the client to compile a query. 16. The server of claim 14 wherein the partition metadata is transferred as part of an update to previous partition metadata transferred to the client. 17. The server of claim 14 wherein a query optimizer of the server performs the generating. 18. A method comprising: with a client, receiving a batch insert request comprising a plurality of insert operations for a partitioned table; with the client, splitting the plurality of insert operations into a plurality of operation batches according to partition metadata received from a database server, including, for an insert operation of the plurality of insert operations: based at least in part on the partition metadata, determining, from a plurality of database nodes, a database node indicated for processing the insert operation; and adding the insert operation to the operation batch of the plurality of operation batches that is associated with the indicated database node; and from the client, after a given operation batch of the plurality of operation batches has been filled to a batch size, issuing the operation batch to the indicated node for the given operation batch for execution. 19. The method of claim 18 wherein the determining uses round-robin partitioning or hash-based partitioning. 20. The method of claim 18 wherein a single thread at the client performs the splitting, and wherein, after the issuing, the client continues the splitting without waiting for a reply from a server for the operation batch.

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 US9720949B2 cover?
Client-side partition-aware batch insert operations are presented. For example, a server generates partition metadata, which is provided to a client. The client uses the partition metadata to determine the database nodes to which to send batch insert requests. For example, the client divides batch insert data, such as records for a partitioned table, among multiple database nodes having partiti…
Who is the assignee on this patent?
Lee Chul Won, Lee Juchang, Schroeder Alexander, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F16/23. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 01 2017 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).