Transient and persistent representation of a unified table metadata graph
First Claim
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 Assignments
0 Petitions
Accused Products
Abstract
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.
138 Citations
18 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
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. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
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.
-
Specification