Table redistribution in distributed databases

US9830346B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9830346-B2
Application numberUS-201314090783-A
CountryUS
Kind codeB2
Filing dateNov 26, 2013
Priority dateNov 26, 2013
Publication dateNov 28, 2017
Grant dateNov 28, 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.

Tables in a distributed database can require redistribution, for example to provide improved collocation of tables or table partitions that require joining at a node of multiple nodes across which the distributed database is distributed. Based at least in part on a set of table redistribution parameters, a table redistribution plan can be generated to include redistribution of a table from a first node to a second node. The set of table redistribution parameters can include a grouping parameter indicating at least one other table with which the table should be collocated. The table redistribution plan can be executed to cause the moving of the table from the first node to the second node.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product comprising a machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: determining that a redistribution of a plurality of tables is required in a distributed in-memory database, the distributed in-memory database comprising a plurality of tables located on a plurality of distributed nodes; generating, based at least in part on a set of table redistribution parameters, a table redistribution plan comprising redistribution of a table of the plurality of tables, the set of table redistribution parameters comprising a grouping parameter indicating at least one other table with which the table should be collocated; and executing the table redistribution plan, the executing comprising moving the table from a first node of the plurality of distributed nodes to a second node of the plurality of distributed nodes, wherein the moving occurs during runtime, and the moving comprises moving a working memory part of the table and/or table partition to the second node but not moving a persistence part of the table and/or table partition. 2. A computer program product as in claim 1 , wherein the operations further comprise writing the persistence part to the second node during a next delta merge of the distributed database. 3. A computer program product as in claim 1 , wherein the table redistribution plan comprises requiring that all tables having a same group name have a same number of level 1 partitions, and wherein the operations further comprise determining a number of partitions required for a largest table of the tables having the same group name and using that number of partitions as the same number of level partitions for all of the table having the same group name. 4. A computer program as in claim 1 , wherein the set of table redistribution parameters further comprises at least one of a database landscape makeup, a hardware constraint representative of the plurality of nodes, and table classification information pertaining to the table. 5. A computer program product as in claim 1 , wherein the moving of the table from the first node of the plurality of distributed nodes to the second node of the plurality of distributed nodes comprises complying with the grouping parameter such that the at least one other table and the table are collocated. 6. A computer program product as in claim 1 , wherein the set of table redistribution parameters comprises table classification parameters that define relationships between the plurality of tables such that query performance considerations are taken into account in the table redistribution plan. 7. A system comprising: computer circuitry configured to perform operations comprising: determining that a redistribution of a plurality of tables is required in a distributed in-memory database, the distributed in-memory database comprising a plurality of tables located on a plurality of distributed nodes; generating, based at least in part on a set of table redistribution parameters, a table redistribution plan comprising redistribution of a table of the plurality of tables, the set of table redistribution parameters comprising a grouping parameter indicating at least one other table with which the table should be collocated; and executing the table redistribution plan, the executing comprising moving the table from a first node of the plurality of distributed nodes to a second node of the plurality of distributed nodes, wherein the moving occurs during runtime, and the moving comprises moving a working memory part of the table and/or table partition to the second node but not moving a persistence part of the table and/or table partition. 8. A system as in claim 7 , wherein the operations further comprise writing the persistence part to the second node during a next delta merge of the distributed database. 9. A system as in claim 7 , wherein the table redistribution plan comprises requiring that all tables having a same group name have a same number of level 1 partitions, and wherein the operations further comprise determining a number of partitions required for a largest table of the tables having the same group name and using that number of partitions as the same number of level partitions for all of the table having the same group name. 10. A system as in claim 7 , wherein the set of table redistribution parameters further comprises at least one of a database landscape makeup, a hardware constraint representative of the plurality of nodes, and table classification information pertaining to the table. 11. A system as in claim 7 , wherein the computer circuitry comprises: at least one programmable processor; and a machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform the operations. 12. A computer-implemented method comprising: determining that a redistribution of a plurality of tables is required in a distributed in-memory database, the distributed in-memory database comprising a plurality of tables located on a plurality of distributed nodes; generating, based at least in part on a set of table redistribution parameters, a table redistribution plan comprising redistribution of a table of the plurality of tables, the set of table redistribution parameters comprising a grouping parameter indicating at least one other table with which the table should be collocated; and executing the table redistribution plan, the executing comprising moving the table from a first node of the plurality of distributed nodes to a second node of the plurality of distributed nodes, wherein the moving occurs during runtime, and the moving comprises moving a working memory part of the table and/or table partition to the second node but not moving a persistence part of the table and/or table partition. 13. A computer-implemented method as in claim 12 , further comprising writing the persistence part to the second node during a next delta merge of the distributed database. 14. A computer-implemented method as in claim 12 , wherein the table redistribution plan comprises requiring that all tables having a same group name have a same number of level 1 partitions, and wherein the operations further comprise determining a number of partitions required for a largest table of the tables having the same group name and using that number of partitions as the same number of level partitions for all of the table having the same group name. 15. A computer-implemented method as in claim 12 , wherein the set of table redistribution parameters further comprises at least one of a database landscape makeup, a hardware constraint representative of the plurality of nodes, and table classification information pertaining to the table. 16. A computer-implemented method as in claim 12 , wherein the determining, the generating, and the executing are performed by at least one system comprising computer circuitry.

Assignees

Inventors

Classifications

  • Tablespace storage structures; Management thereof · CPC title

  • Physics · mapped topic

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 US9830346B2 cover?
Tables in a distributed database can require redistribution, for example to provide improved collocation of tables or table partitions that require joining at a node of multiple nodes across which the distributed database is distributed. Based at least in part on a set of table redistribution parameters, a table redistribution plan can be generated to include redistribution of a table from a fi…
Who is the assignee on this patent?
Beigel Johannes, Bensberg Christian, Leu Hans-Joerg, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F16/2282. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 28 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).