Moving data between partitions

US10970260B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10970260-B2
Application numberUS-201815967207-A
CountryUS
Kind codeB2
Filing dateApr 30, 2018
Priority dateMay 29, 2014
Publication dateApr 6, 2021
Grant dateApr 6, 2021

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.

Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: storing a plurality of mappings, each of which maps a location identifier for a first database object with a location identifier for a second database object that is (a) different than the first database object and (b) generated based on one or more operations to the first database object; in response to receiving a query: identifying an entry in an index, identifying a first location identifier that is indicated in the entry, based on a mapping in the plurality of mappings, identifying a second location identifier that corresponds to the first location identifier, in generating a response to the query, using the second location identifier to retrieve first data from the second database object, wherein the first location identifier is not used to retrieve data from the first database object; wherein the method is performed by one or more computing devices. 2. The method of claim 1 , wherein the first database object is a first partition and the second database object is a second partition. 3. The method of claim 1 , further comprising: identifying a second entry in the index; identifying a particular location identifier that is indicated in the second entry, determining whether the particular location identifier is for the first database object or the second database object; in response to determining that the particular location identifier is for the second database object, then using the particular location identifier to retrieve second data from the second database object. 4. The method of claim 1 , wherein the index is a unique index. 5. The method of claim 1 , further comprising: prior to receiving the query, updating metadata associated with the index to indicate that the plurality of mappings are to be used to process queries that involve accessing the index; in response to receiving the query and prior to identifying the entry, retrieving metadata associated with the index; determining, based on the metadata, to use one or more of the plurality of mappings to process the query. 6. The method of claim 5 , wherein the first database object is associated with a plurality of indexes that include the index, wherein updating the metadata comprises updating metadata associated with each index, in the plurality of indexes, to indicate that the plurality of mappings are to be used to process queries that involve accessing said each index. 7. The method of claim 1 , further comprising: using the plurality of mappings to patch the index; wherein patching the index comprises, for each entry in a plurality of entries of the index, replacing a source location identifier in said each entry with a destination location identifier that is from a mapping, of the plurality of mappings, that associates the source location identifier with the destination location identifier. 8. The method of claim 7 , wherein patching the index is performed while processing one or more queries against the index. 9. The method of claim 8 , further comprising, while patching the index: receiving a second query; in response to receiving the second query: identifying a second entry in the index; determining whether the second entry corresponds to the first database object or the second database object; in response to determining that the second entry corresponds to the first database object: identifying a third location identifier that is indicated in the second entry, based on a second mapping in the plurality of mappings, identifying a fourth location identifier that corresponds to the third location identifier, using the fourth location identifier to retrieve second data from the second database object. 10. The method of claim 9 , further comprising: in response to receiving the second query: identifying a third entry in the index; determining whether the third entry corresponds to the first database object or the second database object; in response to determining that the third entry corresponds to the second database object: identifying a fifth location identifier that is indicated in the third entry, without using any of the plurality of mappings, using the fifth location identifier to retrieve third data from the second database object. 11. The method of claim 9 , wherein determining whether the second entry corresponds to the first database object or the second database object comprises: determining whether an identifier in the second entry is found in the plurality of mappings, or identifying a value encoded in the identifier in the second entry and determining whether the value matches a value indicated in metadata associated with the index. 12. The method of claim 1 , wherein the plurality of mappings is stored separate from the index. 13. One or more storage media storing instructions which, when executed by one or more processors, cause: storing a plurality of mappings, each of which maps a location identifier for a first database object with a location identifier for a second database object that is (a) different than the first database object and (b) generated based on one or more operations to the first database object; in response to receiving a query: identifying an entry in an index, identifying a first location identifier that is indicated in the entry, based on a mapping in the plurality of mappings, identifying a second location identifier that corresponds to the first location identifier, in generating a response to the query, using the second location identifier to retrieve first data from the second database object, wherein the first location identifier is not used to retrieve data from the first database object. 14. The one or more storage media of claim 13 , wherein the instructions, when executed by the one or more processors, further cause: identifying a second entry in the index; identifying a particular location identifier that is indicated in the second entry, determining whether the particular location identifier is for the first database object or the second database object; in response to determining that the particular location identifier is for the second database object, then using the particular location identifier to retrieve second data from the second database object. 15. The one or more storage media of claim 13 , wherein the instructions, when executed by the one or more processors, further cause: using the plurality of mappings to patch the index; wherein patching the index comprises, for each entry in a plurality of entries of the index, replacing a source location identifier in said each entry with a destination location identifier that is from a mapping, of the plurality of mappings, that associates the source location identifier with the destination location identifier; wherein patching the index is performed while processing one or more queries against the index. 16. The one or more storage media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause, while patching the index: receiving a second query; in response to receiving the second query: identifying a second entry in the index determining whether the second entry corresponds to the first database object or the second database object; in response to determining that the second entry corresponds to the first database object: identifying a third location identifier that is indicated in the second entry, based on a second mapping in the plurality of mappings, identifying a fourth location identifier that corresponds to the third location identifier, using

Assignees

Inventors

Classifications

  • G06F16/214Primary

    Database migration support · 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 US10970260B2 cover?
Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” …
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/214. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 06 2021 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).