STRUCTURE OF HIERARCHICAL COMPRESSED DATA STRUCTURE FOR TABULAR DATA
First Claim
1. A method comprising:
- receiving a set of tabular data;
wherein the set of tabular data is divided into a plurality of rows, each of which includes data for a particular set of columns;
storing data for a first set of rows, of said plurality of rows, in a first compression unit;
storing data for a second set of rows, of said plurality of rows, in a second compression unit;
storing data that indicates whether, within said first compression unit, data for said first set of rows is stored in column-major format or in row-major format;
wherein the steps of receiving and storing are performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A highly flexible and extensible structure is provided for physically storing tabular data. The structure, is referred to as a compression unit, and may be used to physically store tabular data that logically resides in any type of table-like structure. According to one embodiment, compression units are recursive. Thus, a compression unit may have a “parent” compression unit to which it belongs, and may have one or more “child” compression units that belong to it. In one embodiment, compression units include metadata that indicates how the tabular data is stored within them. The metadata for a compression unit may indicate, for example, whether the data within the compression unit is stored in row-major or column major-format (or some combination thereof), the order of the columns within the compression unit (which may differ from the logical order of the columns dictated by the definition of their logical container), a compression technique for the compression unit, the child compression units (if any), etc.
-
Citations
56 Claims
-
1. A method comprising:
-
receiving a set of tabular data; wherein the set of tabular data is divided into a plurality of rows, each of which includes data for a particular set of columns; storing data for a first set of rows, of said plurality of rows, in a first compression unit; storing data for a second set of rows, of said plurality of rows, in a second compression unit; storing data that indicates whether, within said first compression unit, data for said first set of rows is stored in column-major format or in row-major format; wherein the steps of receiving and storing are performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving a set of tabular data; wherein the set of tabular data is divided into a plurality of rows, each of which includes data for a particular set of columns; storing data for said plurality of rows in a first compression unit; wherein the first compression unit includes a plurality of child compression units, each of which stores data for one or more columns of the particular set of columns; and wherein steps of receiving and storing are performed by one or more computing devices. - View Dependent Claims (7, 8)
-
-
9. A method comprising:
-
receiving a set of tabular data; wherein the set of tabular data is divided into a plurality of rows, each of which includes data for a particular set of columns; storing data for said plurality of rows in a parent compression unit that includes a plurality of child compression units; wherein the step of storing data in the parent compression unit includes either; (a) dividing the data between the child compression units based on rows, whereby each child compression unit stores a different set of rows of the plurality of rows;
or(b) dividing the data between the child compression units based on columns, whereby each child compression unit stores a different set of columns of the particular set of columns; wherein steps of receiving and storing are performed by one or more computing devices. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method comprising:
-
storing, within a compression unit, data that logically belongs to a row of a table; wherein at least a portion of the data is compressed; and in response to a request to delete the row from the table, storing data that indicates the row is deleted without deleting the data for the row from the compression unit; wherein the method is performed by one or more computing devices. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A computer-readable storage storing instructions which, when executed by one or more processors, cause performance of:
-
receiving a set of tabular data; wherein the set of tabular data is divided into a plurality of rows, each of which includes data for a particular set of columns; storing data for a first set of rows, of said plurality of rows, in a first compression unit; storing data for a second set of rows, of said plurality of rows, in a second compression unit; and storing data that indicates whether, within said first compression unit, data for said first set of rows is stored in column-major format or in row-major format. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A computer-readable storage storing instructions which, when executed by one or more processors, cause performance of:
-
receiving a set of tabular data; wherein the set of tabular data is divided into a plurality of rows, each of which includes data for a particular set of columns; storing data for said plurality of rows in a first compression unit; wherein the first compression unit includes a plurality of child compression units, each of which stores data for one or more columns of the particular set of columns. - View Dependent Claims (35, 36)
-
-
37. A computer-readable storage storing instructions which, when executed by one or more processors, cause performance of:
-
receiving a set of tabular data; wherein the set of tabular data is divided into a plurality of rows, each of which includes data for a particular set of columns; storing data for said plurality of rows in a parent compression unit that includes a plurality of child compression units; wherein the step of storing data in the parent compression unit includes either; (a) dividing the data between the child compression units based on rows, whereby each child compression unit stores a different set of rows of the plurality of rows;
or(b) dividing the data between the child compression units based on columns, whereby each child compression unit stores a different set of columns of the particular set of columns. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. A computer-readable storage storing instructions which, when executed by one or more processors, cause performance of:
-
storing, within a compression unit, data that logically belongs to a row of a table; wherein at least a portion of the data is compressed; and in response to a request to delete the row from the table, storing data that indicates the row is deleted without deleting the data for the row from the compression unit. - View Dependent Claims (52, 53, 54, 55, 56)
-
Specification