Generating hash trees for database schemas

US2021191903A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2021191903-A1
Application numberUS-201916719691-A
CountryUS
Kind codeA1
Filing dateDec 18, 2019
Priority dateDec 18, 2019
Publication dateJun 24, 2021
Grant date

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 disclosed relating to determining whether a set of database schemas are different. A computer system may receive a request to create a snapshot for a set of data stored in a database having a first database schema. In response to receiving the request, the computer system may create the snapshot for the set of data. As part of the creating, the computer system may generate, based on the first database schema, a first hierarchy of hash values that includes a first root hash value for the first database schema. The first hierarchy of hash values may be usable to determine whether the first database schema is different from a second database schema. The computer system may include the first hierarchy of hash values with the snapshot.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: receiving, by a computer system, a request to create a snapshot for a set of data stored in a database having a first database schema; in response to receiving the request, the computer system creating the snapshot for the set of data, wherein the creating includes: generating, based on the first database schema, a first hierarchy of hash values that includes a first root hash value for the first database schema; and including the first hierarchy of hash values with the snapshot, wherein the first hierarchy of hash values is usable to determine whether the first database schema is different from a second database schema. 2 . The method of claim 1 , wherein the first database schema defines a plurality of database tables, wherein a given database table is associated with a set of attributes, and wherein a given attribute is associated with a set of properties. 3 . The method of claim 2 , wherein generating the first hierarchy of hash values includes: applying, for the given attribute, a hash function to one or more of the set of properties of the given attribute to derive a hash value that forms a part of a first level of hash values. 4 . The method of claim 3 , wherein a particular set of hash values included in the first level of hash values corresponds to a particular database table of the plurality of database tables, wherein generating the first hierarchy of hash values includes: applying a hash function to the particular set of hash values to derive a hash value that forms a part of a second level of hash values. 5 . The method of claim 4 , wherein generating the first hierarchy of hash values includes: applying a hash function to hash values included in the second level of hash values to derive the first root hash value. 6 . The method of claim 1 , further comprising: receiving, by the computer system, a second request to import, based on the snapshot, the set of data into a database having the second database schema; in response to the second request, the computer system generating a second hierarchy of hash values that includes a second root hash value for the second database schema; and comparing, by the computer system, the first root hash value with the second root hash value to determine whether the first database schema is different from the second database schema. 7 . The method of claim 6 , further comprising: in response to determining that the first database schema is different from the second database schema, the computer system preventing the set of data from being imported into the database having the second database schema; and returning, by the computer system, a response, to the second request, that identifies at least one difference between the first and second database schemas. 8 . The method of claim 7 , wherein returning the response to the second request includes: identifying, by the computer system, at least one different hash value between a first level of hash values of the first hierarchy and a first level of hash values of the second hierarchy, wherein the first level of hash values of the first hierarchy includes hash values of properties that are associated with attributes of a plurality of database tables defined in the first database schema, and wherein the at least one different hash value indicates the at least one difference between the first and second database schemas. 9 . The method of claim 7 , wherein the second database schema defines an attribute for a particular database table and the first database schema does not define the attribute for the particular database table. 10 . The method of claim 1 , wherein the snapshot is usable to import the set of data into a database associated with a sandbox environment. 11 . A non-transitory computer readable medium having program instructions stored thereon that are capable of causing a computer system to perform operations comprising: receiving a request to create a snapshot for a set of data stored in a database having a first database schema; in response to receiving the request, creating the snapshot for the set of data, wherein the creating includes: generating, based on the first database schema, a hierarchy of hash values that includes a root hash value for the first database schema; and including the hierarchy of hash values with the snapshot, wherein the hierarchy of hash values is usable to determine whether the first database schema is different from a second database schema. 12 . The non-transitory computer readable medium of claim 11 , wherein the first database schema defines a plurality of database tables, wherein a given database table includes a set of attributes, wherein a given attribute is associated with a set of properties, wherein generating the hierarchy of hash values includes: for each attribute in the set of attributes of a database table included in the plurality of database tables, applying a hash function to the set of properties associated with that attribute to produce a hash value that forms a part of a first level of hash values of the hierarchy. 13 . The non-transitory computer readable medium of claim 12 , wherein hash values of the first level of hash values correspond to two or more sets of hash values, and wherein generating the hierarchy of hash values includes: for each set of the two or more sets of hash values, applying a hash function to that set of hash values to produce a hash value that forms a part of a second level of hash values of the hierarchy. 14 . The non-transitory computer readable medium of claim 13 , wherein generating the hierarchy of hash values includes: applying a hash function to the second level of hash values of the hierarchy to produce the root hash value. 15 . The non-transitory computer readable medium of claim 11 , wherein the operations further comprise: receiving a request to store the set of data under the second database schema; determining whether the first and second database schemas are different by comparing the root hash value of the first database schema and a root hash value of the second database schema; and in response to determining that the root hash value of the first database schema and the root hash value of the second database schema match, storing the set of data under the second database schema. 16 . A method, comprising: maintaining, by a computer system, a first database schema for a database storing data for a plurality of tenants of the computer system, wherein the first database schema includes metadata that defines a plurality of database tables; receiving, by the computer system, a request to create a tenant snapshot of the database, wherein the tenant snapshot is associated with particular one of the plurality of tenants; and creating, by the computer system, a particular tenant snapshot that identifies data of the particular tenant, but does not identify the metadata of the first database schema, wherein the creating includes: generating, based on the first database schema, a first hash tree that includes a first root hash value that corresponds to the first database schema; and including the first hash tree with the particular tenant snapshot, wherein the first root hash value is usable to determine whether the first database schema is different from a second database schema. 17 . The method of claim 16 , further comprising: receiving, by the computer system, a request to have a second database store the data of the particular tenant that is identified by the particular te

Assignees

Inventors

Classifications

  • Hash tables · CPC title

  • Trees, e.g. B+trees · CPC title

  • with details for schema evolution support · CPC title

  • G06F16/211Primary

    Schema design and management · CPC title

  • G06F16/128Primary

    Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16) · 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 US2021191903A1 cover?
Techniques are disclosed relating to determining whether a set of database schemas are different. A computer system may receive a request to create a snapshot for a set of data stored in a database having a first database schema. In response to receiving the request, the computer system may create the snapshot for the set of data. As part of the creating, the computer system may generate, based…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/211. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 24 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).