Method and apparatus for efficient transmission of result set data
First Claim
1. A computer-implemented method of efficiently transmitting a result set in response to a data request, the method comprising:
- at a data server, receiving a data request from a requestor, wherein the data request requests less than all columns of a set of rows of a data table;
determining whether the number of columns in said less than all columns is greater than a threshold percentage of all columns in the data table;
informing the requester of the storage format of rows of the data table; and
if the number of columns in said less than all columns is greater than the threshold percentage of all columns, for each row in the set of rows;
retrieving all columns of the row, as stored in the storage format; and
without disassembling the row into columns, transmitting the row to the requestor.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for efficiently transmitting a result set. A data server receives a data request from a client or another server. The data server determines whether a threshold portion of the contents of each requested row or record is being retrieved (e.g., X% of the number of columns in a table or X% of the total amount of data in a table row). The requested rows are retrieved in the same format in which they are stored (e.g., within a disk block), and streamed to the client, one row at a time. The client is then responsible for disassembling a row into its columns, reordering them if necessary, and performing any necessary post-processing (e.g., datatype conversion, data formatting) before consuming the data.
-
Citations
22 Claims
-
1. A computer-implemented method of efficiently transmitting a result set in response to a data request, the method comprising:
-
at a data server, receiving a data request from a requestor, wherein the data request requests less than all columns of a set of rows of a data table; determining whether the number of columns in said less than all columns is greater than a threshold percentage of all columns in the data table; informing the requester of the storage format of rows of the data table; and if the number of columns in said less than all columns is greater than the threshold percentage of all columns, for each row in the set of rows; retrieving all columns of the row, as stored in the storage format; and without disassembling the row into columns, transmitting the row to the requestor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of efficiently transmitting a result set in response to a data request, the method comprising:
-
at a data server, receiving a data request from a requestor, wherein the data request requests less than all columns of a set of rows of a data table; determining whether the number of columns in said less than all columns is greater than a threshold percentage of all columns in the data table; informing the requestor of the storage format of rows of the data table; and if the number of columns in said less than all columns is greater than the threshold percentage of all columns, for each row in the set of rows; retrieving all columns of the row, as stored in the storage format; and without disassembling the row into columns, transmitting the row to the requestor. - View Dependent Claims (9, 10)
-
-
11. A computer-implemented method of transmitting requested data from a data server, the method comprising:
-
receiving a data request from a requestor, said request targeting a subset of the fields of a set of records in a data table; informing the requestor of the storage format of a record of the data table; determining whether the subset of fields comprises a threshold percentage of all fields in the data table; identifying any post-processing to be performed on the subset of fields; for each record in the set of records, retrieving the entire record; and transmitting the set of records to the requester without; disassembling any record into the fields of the record;
orperforming the identified post-processing. - View Dependent Claims (12, 13)
-
-
14. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of transmitting requested data from a data server, the method comprising:
-
receiving a data request from a requestor, said request targeting a subset of the fields of a set of records in a data table; informing the requestor of the storage format of a record of the data table; determining whether the subset of fields comprises a threshold percentage of all fields in the data table; identifying any post-processing to be performed on the subset of fields; for each record in the set of records, retrieving the entire record; and transmitting the set of records to the requestor without; disassembling any record into the fields of the record;
orperforming the identified post-processing.
-
-
15. A computer-implemented method of efficiently transmitting a result set in response to a data request, the method comprising:
-
at a data server, receiving a data request from a requestor, wherein the data request requests less than all columns of a set of rows of a data table; determining whether the total data size of said less than all columns is greater than a threshold percentage of the total data size of all columns of the data table; informing the requestor of the storage format of rows of the data table; and if the total data size of said less than all columns is greater than the threshold percentage of the total data size, for each row in the set of rows; retrieving all columns of the row, as stored in the storage format; and without disassembling the row into columns, transmitting the row to the requestor. - View Dependent Claims (16)
-
-
17. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of efficiently transmitting a result set in response to a data request, the method comprising:
-
at a data server, receiving a data request from a requestor, wherein the data request requests less than all columns of a set of rows of a data table; determining whether the total data size of said less than all columns is greater than a threshold percentage of the total data size of all columns of the data table; informing the requestor of the storage format of rows of the data table; and if the total data size of said less than all columns is greater than the threshold percentage of the total data size, for each row in the set of rows; retrieving all columns of the row, as stored in the storage format; and without disassembling the row into columns, transmitting the row to the requestor.
-
-
18. A computer-implemented method of efficiently transmitting a result set in response to a data request, the method comprising:
-
informing a data requestor of the storage format of rows of a data table; at a data server, receiving a data request from the requestor, wherein the data request requests less than all columns of a set of rows of the data table; determining a level of complexity required to post-process the less than all columns of the set of rows; if said level of complexity is not greater than the requestor is capable of performing, for each row in the set of rows; retrieving all columns of the row, as stored in the storage format; and without disassembling the row into columns, transmitting the row to the requestor; and if said level of complexity is greater than the requestor is capable of performing; retrieving the set of rows; post-processing the set of rows on the data server; and transmitting the post-processed set of rows to the requestor. - View Dependent Claims (19, 20, 21)
-
-
22. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of efficiently transmitting a result set in response to a data request, the method comprising:
-
informing a data requestor of the storage format of rows of a data table; at a data server, receiving a data request from the requestor, wherein the data request requests less than all columns of a set of rows of the data table; determining a level of complexity required to post-process the less than all columns of the set of rows; if said level of complexity is not greater than the requestor is capable of performing, for each row in the set of rows; retrieving all columns of the row, as stored in the storage format; and without disassembling the row into columns, transmitting the row to the requestor; and if said level of complexity is greater than the requestor is capable of performing; retrieving the set of rows; post-processing the set of rows on the data server; and transmitting the post-processed set of rows to the requestor.
-
Specification