Unified architecture for hybrid database storage using fragments
First Claim
Patent Images
1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
- storing, in a plurality of fragments retained in on-disk storage, a plurality of data records that comprise a data set, each fragment of the plurality of fragments comprising a local row index, wherein the local row index comprises a search structure to identify each fragment based on RowID intervals, wherein the local row index is mapped to RowID values in a global RowID column for the data set;
compressing a first fragment of the plurality of fragments, wherein compressing comprises using a compression that is optimized for the first fragment;
reading data records in the first fragment into a main system memory from the on-disk storage;
creating a temporary, in-memory data structure including data records from the first fragment and a committed row from a change associated with the data set in the first fragment;
compressing the temporary, in-memory data structure in the main system memory; and
storing data from the compressed temporary, in-memory data structure to a revised fragment in the on-disk storage.
2 Assignments
0 Petitions
Accused Products
Abstract
Data records of a data set can be stored in multiple main part fragments retained in on-disk storage. Each fragment can include a number of data records that is equal to or less than a defined maximum fragment size. Using a compression that is optimized for each fragment, each fragment can be compressed. After reading at least one of the fragments into main system memory from the on-disk storage, an operation can be performed on the fragment or fragments while the in the main system memory.
-
Citations
17 Claims
-
1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
-
storing, in a plurality of fragments retained in on-disk storage, a plurality of data records that comprise a data set, each fragment of the plurality of fragments comprising a local row index, wherein the local row index comprises a search structure to identify each fragment based on RowID intervals, wherein the local row index is mapped to RowID values in a global RowID column for the data set; compressing a first fragment of the plurality of fragments, wherein compressing comprises using a compression that is optimized for the first fragment; reading data records in the first fragment into a main system memory from the on-disk storage; creating a temporary, in-memory data structure including data records from the first fragment and a committed row from a change associated with the data set in the first fragment; compressing the temporary, in-memory data structure in the main system memory; and storing data from the compressed temporary, in-memory data structure to a revised fragment in the on-disk storage. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
at least one processor; and a machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising; storing, in a plurality of fragments retained in on-disk storage, a plurality of data records that comprise a data set, each fragment of the plurality of fragments comprising a local row index, wherein the local row index comprises a search structure to identify each fragment based on RowID intervals, wherein the local row index is mapped to RowID values in a global RowID column for the data set; compressing a first fragment of the plurality of fragments, wherein compressing comprises using a compression that is optimized for the first fragment; reading data records in the first fragment into a main system memory from the on-disk storage; and creating a temporary, in-memory data structure including data records from the first fragment and a committed row from a change associated with the data set in the first fragment; compressing the temporary, in-memory data structure in the main system memory; and storing data from the compressed temporary, in-memory data structure to a revised fragment in the on-disk storage. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-implemented method comprising:
-
storing, in a plurality of fragments retained in on-disk storage, a plurality of data records that comprise a data set, each fragment of the plurality of fragments comprising a local row index, wherein the local row index comprises a search structure to identify each fragment based on RowID intervals, wherein the local row index is mapped to RowID values in a global RowID column for the data set; compressing a first fragment of the plurality of fragments, wherein compressing comprises using a compression that is optimized for the first fragment; reading data records in the first fragment into a main system memory from the on-disk storage; and creating a temporary, in-memory data structure including data records from the first fragment and a committed row from a change associated with the data set in the first fragment; compressing the temporary, in-memory data structure in the main system memory; and storing data from the compressed temporary, in-memory data structure to a revised fragment in the on-disk storage. - View Dependent Claims (14, 15, 16, 17)
-
Specification