Database storage architecture
First Claim
Patent Images
1. A computer-implemented method comprising:
- determining a size of projection data to be stored in a read-optimized store (ROS) container, wherein the projection data includes rows and columns of data;
determining whether the size of the projection data is greater than a predetermined threshold;
in response to a determination that the size of the projection data is greater than the predetermined threshold, storing the projection data in the ROS container in a column format, wherein, in the column format, each column of the projection data is stored in a separate file; and
in response to a determination that the size of the projection data is less than the predetermined threshold, storing the projection data in the ROS container in a grouped ROS format, wherein, in the grouped ROS format, each of a plurality of blocks formed of respective groups of rows and columns of the projection data is stored in a separate filewherein storing the projection data in the grouped ROS format includes;
selecting a plurality of columns of the projection data, andstoring rows of the selected columns as blocks of data in the ROS container until all of the rows of the selected columns are stored in the ROS container.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems and program products for database storage. In one implementation, data of a projection of a database is stored at least partly in grouped ROS format and partly in column format based on patterns of updating the projection data. The projection data is updated so that the updated projection is stored partly in grouped ROS format and partly in column format.
57 Citations
25 Claims
-
1. A computer-implemented method comprising:
-
determining a size of projection data to be stored in a read-optimized store (ROS) container, wherein the projection data includes rows and columns of data; determining whether the size of the projection data is greater than a predetermined threshold; in response to a determination that the size of the projection data is greater than the predetermined threshold, storing the projection data in the ROS container in a column format, wherein, in the column format, each column of the projection data is stored in a separate file; and in response to a determination that the size of the projection data is less than the predetermined threshold, storing the projection data in the ROS container in a grouped ROS format, wherein, in the grouped ROS format, each of a plurality of blocks formed of respective groups of rows and columns of the projection data is stored in a separate file wherein storing the projection data in the grouped ROS format includes; selecting a plurality of columns of the projection data, and storing rows of the selected columns as blocks of data in the ROS container until all of the rows of the selected columns are stored in the ROS container. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method comprising:
-
selecting at least two different storage formats to store data of a database projection based on patterns of updating data of the projection, wherein the at least two different storage formats include a column format and a grouped read-optimized store (ROS) format, wherein the column format is to store each column of the data in a separate file, and the grouped ROS format is to store each of a plurality of blocks formed of respective groups of rows and columns of the data is stored in a separate file; updating the projection data based on the patterns using the selected storage formats; determining whether a size of the updated projection data is greater than a predetermined threshold; in response to a determination that the size of the updated projection data is greater than the predetermined threshold, storing the updated projection data in the column format; and in response to a determination that the size of the updated projection data is less than the predetermined threshold, storing the updated projection data in the grouped ROS format, wherein storing the updated projection data in the grouped ROS format includes; selecting columns of the updated projection data to be stored together, and storing rows of the selected columns as blocks of data in the store until all of the rows of the selected columns are stored in the store. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A non-transitory computer readable medium on which is stored a set of instructions that, when executed, causes a device to:
-
determine a size of projection data to be stored in a read-optimized store (ROS) container, wherein the projection data includes rows and columns of data; determine whether the size of the projection data is greater than a predetermined threshold; in response to a determination that the size of the projection data is greater than the predetermined threshold, store the projection data in the ROS container in a column format, wherein, in the column format, each column of the projection data is stored in a separate file; and in response to a determination that the size of the projection data is less than the predetermined threshold, store the projection data in the ROS container in the grouped ROS format, wherein, in the grouped ROS format, each block of rows and columns of the projection data is stored in a separate file, wherein to store the projection data in the grouped ROS format, the set of instructions is to cause the device to; select a plurality of columns of the projection data, and store rows of the selected columns as blocks of data in the ROS container until all of the rows of the selected columns are stored in the ROS container.
-
-
23. A computer-implemented method comprising:
-
selecting a plurality of candidate containers to store projection data; identifying a plurality of containers to merge in the candidate containers; selecting storage formats to store the projection data, including; determining whether a size of the projection data is greater than a predetermined threshold; in response to a determination that the size of the projection data is greater than the predetermined threshold, selecting a column format to store the projection data, wherein, in the column format, each column of the projection data is stored in a separate file; and in response to a determination that the size of the new rows is less than the predetermined threshold, selecting a grouped read-optimized store (ROS) format to store the projection data, wherein, in the grouped ROS format, each of a plurality of blocks formed of respective groups of rows and columns of the projection data is stored in a separate file; and merging the identified containers into a new container according to the selected storage formats, wherein selecting the storage formats is based on an assessment of existing storage allocated to the projection data such that some but not all of projection data is stored in the grouped ROS format, wherein selecting the grouped ROS format to store the projection data includes; selecting a plurality of columns of the projection data to be stored together, and storing rows of the selected columns as blocks of data in the store until all of the rows of the selected columns are stored in the store. - View Dependent Claims (24, 25)
-
Specification