Archiving objects in a database environment

US11068448B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11068448-B2
Application numberUS-201916241810-A
CountryUS
Kind codeB2
Filing dateJan 7, 2019
Priority dateJan 7, 2019
Publication dateJul 20, 2021
Grant dateJul 20, 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.

A method is provided for processing a query. In some embodiments, the method includes creating a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema. The method includes inserting, based on the field modification, a new field at an end of the historical schema and archiving records into a second storage device. The method includes receiving a query, which includes a command specifying a subset of fields and which indicates a non-current field. The method includes searching in the second storage device for archive records having a second schema including the subset of fields and the non-current field. The first and second schemas follow the field order in accordance with the historical schema. The method further includes accessing the subset of fields and the non-current field in accordance with the command.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing device comprising: a memory containing machine readable medium storing machine executable code; and one or more processors coupled to the memory and configurable to execute the machine executable code to cause the one or more processors to: create a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema; insert, based on the field modification, a new field at an end of the historical schema; archive a plurality of records stored in a first storage device into a second storage device, each record of the plurality of records being based on the object and corresponding to an archive record having a first schema common to the respective record at a time of archive, and the first schema following a field order in accordance with the historical schema; receive a query including a command specifying a subset of fields based on the object, the query indicating a non-current field absent from the current schema; search in the second storage device for a set of archive records having a second schema including the subset of fields and the non-current field, the second schema following the field order in accordance with the historical schema; and access the subset of fields and the non-current field in accordance with the command. 2. The computing device of claim 1 , wherein the field modification includes a modification of a field, the field modification including at least one of an addition of the field to the object, a modification of a definition of the field, or removal of the field from the object. 3. The computing device of claim 1 , wherein the machine executable code further causes the one or more processors to: snapshot the current schema of the object, wherein the historical schema includes the snapshot and at least one new field inserted at the end of the historical schema. 4. The computing device of claim 1 , wherein the machine executable code further causes the one or more processors to: search metadata corresponding to the object for the second schema including the subset of fields; and identify a schema identifier (ID) that identifies the second schema, the set of archive records including the schema ID. 5. The computing device of claim 4 , wherein the metadata includes one or more entries, each entry including a given schema ID assigned to a given schema, the given schema, and a timestamp corresponding to a given time at which at least one archive record defined by the given schema was archived. 6. The computing device of claim 1 , wherein the query includes a backdoor field that maps to the non-current field, and wherein the current schema and the historical schema are devoid of the backdoor field. 7. The computing device of claim 6 , wherein the machine executable code further causes the one or more processors to: access a set of fields specified in the current schema in accordance with the command, wherein the backdoor field maps to the current schema of the object. 8. The computing device of claim 1 , wherein the query includes the non-current field. 9. The computing device of claim 1 , wherein the machine executable code further causes the one or more processors to: create a second historical schema defining a second ordered set of fields based on a second current schema and a second field modification of the second current schema, the first historical schema and the first current schema being based on a first tenant's version of the object, and the second historical schema and the second current schema being based on a second tenant's version of the object. 10. The computing device of claim 9 , wherein the first and second schemas include a common set of standard fields. 11. The computing device of claim 9 , wherein the machine executable code further causes the one or more processors to: insert, based on the second field modification, a second new field at an end of the second historical schema; archive a second plurality of records stored in the first storage device into the second storage device, each record of the second plurality of records being based on the second tenant's version of the object and corresponding to an archive record having a third schema common to the respective record at a time of archive, and the third schema following a second field order in accordance with the second historical schema; receive a second query including a second command specifying a second subset of fields based on the second tenant's version of the object, the second query indicating a second non-current field absent from the second current schema; search in the second storage device for a second set of archive records having a fourth schema including the second subset of fields and the second non-current field, the fourth schema following the second field order in accordance with the second historical schema; and access the second subset of fields and the second non-current field in accordance with the second command. 12. A method performed by one or more processors executing machine executable code, the method comprising: creating a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema; inserting, based on the field modification, a new field at an end of the historical schema; archiving a plurality of records stored in a first storage device into a second storage device, each record of the plurality of records being based on the object and corresponding to an archive record having a first schema common to the respective record at a time of archive, and the first schema following a field order in accordance with the historical schema; receiving a query including a command specifying a subset of fields based on the object, the query indicating a non-current field absent from the current schema; searching in the second storage device for a set of archive records having a second schema including the subset of fields and the non-current field, the second schema following the field order in accordance with the historical schema; and accessing the subset of fields and the non-current field in accordance with the command. 13. The method of claim 12 , wherein at least one archive record corresponding to an original record of the plurality of records includes a full record containing values from the original record. 14. The method of claim 13 , wherein the full record contains a serialized immutable archive record storing the values. 15. The method of claim 13 , wherein the full record is stored in a field of the archive record. 16. The method of claim 12 , wherein the query includes a backdoor field that maps to the non-current field, the method further comprising: searching metadata corresponding to the object for a candidate schema including the subset of fields and one or more non-current fields of the object. 17. The method of claim 12 , wherein the query includes the non-current field. 18. The method of claim 12 , further comprising: creating a second historical schema defining a second ordered set of fields based on a second current schema and a second field modification of the second current schema, the first historical schema and the first current schema being based on a first tenant's version of the object, and the second historical schema and the second current schema being based on a second tenant's version of the object. 19. The method of claim 18 , further comprising: inserting, based on the se

Assignees

Inventors

Classifications

  • G06F16/213Primary

    with details for schema evolution support · CPC title

  • Databases characterised by their database models, e.g. relational or object models · CPC title

  • G06F16/211Primary

    Schema design and management · CPC title

  • Querying · CPC title

  • Query processing · 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 US11068448B2 cover?
A method is provided for processing a query. In some embodiments, the method includes creating a historical schema defining an ordered set of fields based on a current schema of an object and a field modification of the current schema. The method includes inserting, based on the field modification, a new field at an end of the historical schema and archiving records into a second storage device…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/213. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 20 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).