Compressing a multi-version database
US-9305046-B2 · Apr 5, 2016 · US
US9965504B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9965504-B2 |
| Application number | US-201414553215-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 25, 2014 |
| Priority date | Nov 25, 2014 |
| Publication date | May 8, 2018 |
| Grant date | May 8, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
Physics · mapped topic
Physics · mapped topic
Data partitioning, e.g. horizontal or vertical partitioning · CPC title
Tablespace storage structures; Management thereof · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.