Core in-memory space and object management architecture in a traditional rdbms supporting dw and oltp applications
US-2015089134-A1 · Mar 26, 2015 · US
US9128972B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9128972-B2 |
| Application number | US-201414337183-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 21, 2014 |
| Priority date | Sep 21, 2013 |
| Publication date | Sep 8, 2015 |
| Grant date | Sep 8, 2015 |
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.
Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
Opening claim text (preview).
What is claimed is: 1. A method comprising: maintaining, on persistent storage, a database that is accessible to a database server; wherein the database includes a first set of data; maintaining a second set of data in volatile memory that is accessible to the database server; wherein each data item in the second set of data is a copy of a corresponding data item in the first set of data; wherein both the first set of data and the second set of data have copies of a particular data item; maintaining a bitmap that indicates which data items, in the second set of data, are no longer valid; wherein the maintaining the bitmap includes responding to an update of the particular data item by: causing a copy of the particular data item, in the first set of data on the persistent storage, to be updated; without updating a copy of the particular data item in the second set of data, setting a particular bit, in the bitmap, that corresponds to the particular data item, to indicate that the copy of the particular data item in the second set of data in the volatile memory is not valid; after setting the particular bit in the bitmap, receiving, by the database server, a request to execute a database command that requires the particular data item; during execution of the database command: determining, based, at least in part, on the set particular bit that corresponds to the particular data item, whether the copy of the particular data item in the second set of data in the volatile memory is not valid; in response to determining that the copy of the particular data item in the second set of data in the volatile memory is valid, retrieving the copy of the particular data item from the second set of data in the volatile memory; and in response to determining that the copy of the particular data item in the second set of data in the volatile memory is not valid, retrieving the copy of the particular data item from the first set of data on the persistent storage. 2. The method of claim 1 , wherein: the first set of data is in a persistent format; the second set of data is in a mirror format; the mirror format is different from and independent of the persistent format; and the second set of data is generated by converting the first set of data to the mirror format. 3. The method of claim, further comprising responding to the update to the particular data item by generating a record that indicates the particular bit was changed at a particular time. 4. A method comprising: maintaining, on persistent storage, a database that is accessible to a database server; wherein the database includes a first set of data; maintaining a second set of data in volatile memory that is accessible to the database server; wherein each data item in the second set of data is a copy of a corresponding data item in the first set of data; wherein both the first set of data and the second set of data have copies of a particular data item; maintaining a bitmap that indicates which data items, in the second set of data, are no longer valid; wherein maintaining the bitmap includes responding to an update of the particular data item by: updating a copy of the particular data item in the first set of data; without updating a copy of the particular data item in the second set of data, setting a particular bit, in the bitmap, that corresponds to the particular data item, to indicate that the copy of the particular data item in the second set of data is not valid; wherein the update to the particular data item was made by a certain transaction that committed at a particular time; and wherein the method further comprises: after the update of the particular data item, determining whether a particular query associated with a particular transaction is allowed to use the copy of the particular data item from the second set of data by: determining a snapshot time for the particular transaction; responsive to the snapshot time being before the particular time, allowing the particular transaction to use the copy of the particular data item from the second set of data; and responsive to the snapshot time being after the particular time: not allowing the particular transaction to use the copy of the particular data item from the second set of data, and obtaining a copy of the particular data item, for the particular query, from a source other than the second set of data. 5. The method of claim 4 , wherein the source other than the second set of data is the first set of data. 6. The method of claim 4 , wherein the source other than the second set of data is an entry, in an in-memory journal, that has an updated copy of the particular data item. 7. The method of claim 4 , further comprising: generating a delete vector for the particular query based on the bitmap and a set of records that indicates when bits of the bitmap were changed; wherein the delete vector generated for the particular query indicates which data items, in the second set of data, were invalid as of the snapshot time of the particular transaction; and using the delete vector to determine which data items the particular query is allowed to access in the second set of data. 8. The method of claim 7 , wherein generating the delete vector comprises: making a copy of the bitmap; resetting, within the copy of the bitmap, all bits that were set after the snapshot time of the particular transaction. 9. A method comprising: maintaining, on persistent storage, a database that is accessible to a database server; wherein the database includes a first set of data; maintaining a second set of data in volatile memory that is accessible to the database server; wherein each data item in the second set of data is a copy of a corresponding data item in the first set of data; wherein both the first set of data and the second set of data have copies of a particular data item; maintaining a first bitmap that indicates which data items, in the second set of data, are no longer valid; wherein maintaining the first bitmap includes responding to an update of the particular data item by: updating a copy of the particular data item in the first set of data; without updating a copy of the particular data item in the second set of data, setting a particular bit, in the first bitmap, that corresponds to the particular data item, to indicate that the copy of the particular data item in the second set of data is not valid; wherein the second set of data was current as of a first point in time; wherein first bitmap indicates which data items in the second set of data were updated after the first point in time and before a second point in time; and wherein the method further comprises: at the second point in time, producing an updated second set of data by merging into the second set of data those updates that were made to data items in the second set of data between the first point in time and the second point in time; and maintaining a second bitmap that indicates which data items, in the second set of data, have been updated since the second point in time. 10. The method of claim 9 , further comprising: after producing the updated second set of data, determining whether a particular query is allowed to use a copy of the particular data item from the updated second set of data; wherein the particular query is associated with a snapshot time that is after the first point in time and before the second point in time; wherein determining whether the particular query is allowed to use the copy of the particular data item from the updated second set of data includes: using records of changes to the first bitmap to identify which data items did not change between the
Physics · mapped topic
Physics · mapped topic
Physics · mapped topic
Synchronous replication · CPC title
using versioning · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.