Transient and persistent representation of a unified table metadata graph

US9965504B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9965504-B2
Application numberUS-201414553215-A
CountryUS
Kind codeB2
Filing dateNov 25, 2014
Priority dateNov 25, 2014
Publication dateMay 8, 2018
Grant dateMay 8, 2018

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.

Loading of table metadata into memory of an in-memory database is initiated. The table metadata is persisted across pages in a page chain. Thereafter, a plurality of metadata objects are materialized into memory that each include an object handle pinning an underlying persisted page in the page chain. The objects are populated with data from the underlying persisted pages. Subsequently, for one to many object relationships, a vector of object handles is generated that comprises a plurality of transient handles that each point to a different instance of a respective transient object. Alternatively, for one to one object relationships or many to one object relationships, an object handle to point to a respective linked object is generated. Related apparatus, systems, techniques and articles are also described.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: initiating loading of table metadata into memory of an in-memory database, the table metadata being persisted across a plurality of pages in a page chain, wherein a first page in the page chain comprises a table descriptor characterizing a metadata tree stored within the page chain; materializing a plurality of metadata objects into memory, each metadata object of the plurality of metadata objects comprising an object handle pinning an underlying persisted page in the page chain to hold the underlying persisted page in the memory; generating, for one to many object relationships, a vector of object handles that comprises a plurality of transient handles, each transient handle of the plurality of transient handles pointing to a different instance of a respective transient object; generating, for one to one object relationships and many to one object relationships, an associated object handle to point to a respective linked object; and performing, in response to receiving a database query, a read operation comprising comparing the plurality of metadata objects to the database query to identify one or more of the plurality of metadata objects that contain requested data in the database query and loading the identified one or more of the plurality of metadata objects that contain the requested data. 2. The method of claim 1 , wherein the metadata objects of the plurality of metadata objects are selected from a group consisting of: table fragments, table metadata, dictionary objects, columns, column fragments, and the page chain. 3. The method of claim 1 , wherein modifications to the table metadata are performed solely in the page chain. 4. The method of claim 1 , wherein the metadata tree is formed within the page chain using links which specify a portion of the associated page that corresponds to the object pointed to by one of the links or transient object handles. 5. The method of claim 4 , wherein the table descriptor forms a root of a tree represented by links between objects, forming a linked chain sequentially linking each descriptor for 1:n relationships or storing a single link for 1:0 . . . 1 or n:1 relationships. 6. The method of claim 1 , wherein each page in the page chain is linked. 7. The method of claim 1 , wherein the in-memory database is a column-oriented database that stores data tables as sections of columns. 8. The method of claim 1 , wherein the table metadata describes a relational table. 9. The method of claim 1 , wherein the initializing, materializing, populating and generating are implemented by at least one hardware data processor forming part of at least one computing device. 10. A non-transitory computer program product storing instructions which, when executed by at least one hardware data processor forming part of at least one computing device, result in operations comprising: initiating loading of table metadata into memory of an in-memory database, the table metadata being persisted across a plurality of pages in a page chain, wherein a first page in the page chain comprises a table descriptor characterizing a metadata tree stored within the page chain; materializing a plurality of metadata objects into memory, each metadata object of the plurality of metadata objects comprising an object handle pinning an underlying persisted page in the page chain to hold the underlying persisted page in the memory; generating, for one to many object relationships, a vector of object handles that comprises a plurality of transient handles, each transient handle of the plurality of transient handles pointing to a different instance of a respective transient object; generating, for one to one object relationships and many to one object relationships, an associated object handle to point to a respective linked object; and performing, in response to receiving a database query, a read operation comprising comparing the plurality of metadata objects to the database query to identify one or more of the plurality of metadata objects that contain requested data in the database query and loading the identified one or more of the plurality of metadata objects that contain the requested data. 11. The non-transitory computer program product of claim 10 , wherein the metadata objects of the plurality of metadata objects are selected from a group consisting of: columns, column fragments, table fragments, table metadata, dictionary objects, and the page chain. 12. The non-transitory computer program product of claim 10 , wherein modifications to the table metadata are performed solely in the page chain. 13. The non-transitory computer program product of claim 10 , wherein the metadata tree is formed within the page chain using links which specify a portion of the associated page that corresponds to the object pointed to by one of the links or transient object handles. 14. The non-transitory computer program product of claim 13 , wherein the table descriptor forms a root of a tree represented by links between objects, forming a linked chain sequentially linking each descriptor for 1:n relationships or storing a single link for 1:0 . . . 1 or n:1 relationships. 15. The non-transitory computer program product of claim 10 , wherein each page in the page chain is linked. 16. The non-transitory computer program product of claim 10 , wherein the in-memory database is a column-oriented database that stores data tables as sections of columns. 17. The non-transitory computer program product of claim 10 , wherein the table metadata is to generate a unified table. 18. A system comprising: at least one hardware data processor; and memory storing instructions which, when executed by the at least one hardware data processor, result in operations comprising: initiating loading of table metadata into memory of an in-memory database, the table metadata being persisted across a plurality of pages in a page chain, wherein a first page in the page chain comprises a table descriptor characterizing a metadata tree stored within the page chain; materializing a plurality of metadata objects into memory, each metadata object of the plurality of metadata objects comprising an object handle pinning an underlying persisted page in the page chain to hold the underlying persisted page in the memory; generating, for one to many object relationships, a vector of object handles that comprises a plurality of transient handles, each transient handle of the plurality of transient handles pointing to a different instance of a respective transient object; generating, for one to one object relationships and many to one object relationships, an associated object handle to point to a respective linked object; and performing, in response to receiving a database query, a read operation comprising comparing the plurality of metadata objects to the database query to identify one or more of the plurality of metadata objects that contain requested data in the database query and loading the identified one or more of the plurality of metadata objects that contain the requested data.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • G06F16/278Primary

    Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • Tablespace storage structures; Management thereof · 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 US9965504B2 cover?
Loading of table metadata into memory of an in-memory database is initiated. The table metadata is persisted across pages in a page chain. Thereafter, a plurality of metadata objects are materialized into memory that each include an object handle pinning an underlying persisted page in the page chain. The objects are populated with data from the underlying persisted pages. Subsequently, for one…
Who is the assignee on this patent?
Schreter Ivan, Wein David, Glebe Thorsten, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F17/30339. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 08 2018 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).