Data transfer optimization
First Claim
Patent Images
1. A computer-implemented method, comprising:
- under control of one or more servers configured with executable instructions,storing data in a table having a plurality of rows and a plurality of columns, individual rows storing a tuple of information that conforms to an entity type defined by a schema, the schema including a corresponding column definition for individual columns;
storing the plurality of rows in the table that have a variable row size or a fixed row size into a plurality of pages, at least one row of data in a page having the variable row size being positioned using a corresponding unique absolute offset value and at least one corresponding unique column offset value, and at least one row of data in a page having the fixed row size being positioned using a corresponding unique absolute offset value and at least one common column offset value that is identical for the plurality of rows; and
modifying a particular row to include at least one more byte of data or at least one less byte of data;
adjusting an absolute offset of an additional row that follows the particular row based on a change in an amount of bytes in the particular row due to modification of the particular row while maintaining a relative offset of the additional row as unchanged; and
updating a page that includes the particular row with a page revision number that indicates that the particular row of the page is modified.
1 Assignment
0 Petitions
Accused Products
Abstract
A dataset structure that is suitable for transferring data between service components may include a table having one or more rows and a plurality of columns. The table may be defined by a schema for an entity type. The schema may include a corresponding column definition for each column. Each of the rows may store a tuple of information that conforms to the entity type defined by the schema. A data transfer component may use the dataset structure to transfer data between the service components.
19 Citations
28 Claims
-
1. A computer-implemented method, comprising:
-
under control of one or more servers configured with executable instructions, storing data in a table having a plurality of rows and a plurality of columns, individual rows storing a tuple of information that conforms to an entity type defined by a schema, the schema including a corresponding column definition for individual columns; storing the plurality of rows in the table that have a variable row size or a fixed row size into a plurality of pages, at least one row of data in a page having the variable row size being positioned using a corresponding unique absolute offset value and at least one corresponding unique column offset value, and at least one row of data in a page having the fixed row size being positioned using a corresponding unique absolute offset value and at least one common column offset value that is identical for the plurality of rows; and modifying a particular row to include at least one more byte of data or at least one less byte of data; adjusting an absolute offset of an additional row that follows the particular row based on a change in an amount of bytes in the particular row due to modification of the particular row while maintaining a relative offset of the additional row as unchanged; and updating a page that includes the particular row with a page revision number that indicates that the particular row of the page is modified. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
-
one or more processors; and a memory that includes a plurality of components, the components comprising; a dataset structure that includes a table having multiple rows and a plurality of columns, the table being defined by a schema for an entity type that includes a corresponding column definition for individual columns, and the at least one row storing a tuple of information that conforms to the entity type defined by the schema; and a data transfer component that transfers data stored in the dataset structure between service components and between component modules in a pipeline of a service component, the data transfer component transferring the data stored in the table through the pipeline by propagating data stored in a first row of the table to a first component module of the pipeline for processing while propagating data stored in a second row of the table to a second component module of the pipeline for processing. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. One or more non-transitory computer readable media storing computer-executable instructions that, when executed, cause one or more processors to perform acts comprising:
-
inserting a replacement row for an existing row of an original page into a replacement page, the replacement row having a different byte length than the existing row; copying a subsequent row that follows the existing row from an original page to a replacement page, the subsequent row having an absolute offset that indicates a beginning position of the subsequent row in the original page and a relative offset that indicates a beginning position of a column in the subsequent row; providing the replacement page with an identifier of the original page; assigning the replacement page with a value flag that indicates the replacement page includes modified data; and adjusting the absolute offset of the subsequent row based on a byte length difference between the replacement row and the existing row while maintaining the relative offset as unchanged. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A computer-implemented method, comprising:
-
under control of one or more computing systems configured with executable instructions, determining whether a data processing scenario includes use of a variable size data tuple; storing one or more data tuples used in the data processing scenario in corresponding rows of a variable row size table in response to a determination that the data processing scenario includes the use of the at least one variable size data tuple; and storing the one or more data tuples used in the data processing scenario in corresponding rows of a fixed row size table in response to a determination that the data processing scenario lacks the use of the at least one variable size data tuple. - View Dependent Claims (25, 26, 27, 28)
-
Specification