Computer data distribution architecture
AssigneeDeephaven Data Labs LLC
InventorsDavid R. Kent, IV, Ryan Caudy, Charles Wright, Radu Teodorescu
Life of this patent
Estimating the term…
Abstract
Described are methods, systems and computer readable media for computer data distribution architecture.
Claims21
1-23. (canceled)
A computer database system with a plurality of memory devices optimized for ordered data and read-dominated workloads, the computer database system comprising:
- one or more processors;
- computer readable storage coupled to the one or more processors, the computer readable storage having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:
- executing, at a query server computer, a database query, the query server computer comprising a query server memory device and being coupled to a plurality of data server computers, the executing comprising:
- providing a table data cache proxy operable to optimize performance of computer data access to the plurality of data server computers by:
- requesting a latest table state from two or more of the plurality of data server computers;
- filtering the latest table state to generate a complete, non-duplicative composite table state that includes one of data or metadata from the two or more of the plurality of data server computers, wherein the non-duplicative composite table state includes table locations, and wherein the table data cache proxy is operable to filter table locations to be distributed to one or more remote query processors to interleave table locations from the plurality of data server computers and distribute subsequent data access across the plurality of data server computers;
- and
- providing, from the table data cache proxy a single, non-composite service for table location;
- accessing a table comprising first and second columns, one or more first rows, and one or more second rows, wherein a given location for the table is provided by the single, non-composite service;
- storing one or more first location identifiers indicating where column data of the first column is stored and one or more second location identifiers indicating where column data of the second column is stored;
- and
- storing a table index comprising, for each location identifier of the one or more first location identifiers and the one or more second location identifiers, an index identifier indicating a valid portion of the data at the location indicated by the location identifier.
A method optimized for ordered data and read-dominated workloads of a computer data system with a plurality of memory devices, the method comprising:
- executing, at a query server computer, a database query, the query server computer comprising a query server memory device and being coupled to a plurality of data server computers, the executing comprising:
- providing a table data cache proxy operable to optimize performance of computer data access to the plurality of data server computers by:
- requesting a latest table state from two or more of the plurality of data server computers;
- filtering the latest table state to generate a complete, non-duplicative composite table state that includes one of data or metadata from the two or more of the plurality of data server computers, wherein the non-duplicative composite table state includes table locations, and wherein the table data cache proxy is operable to filter table locations to be distributed to one or more remote query processors to interleave table locations from the plurality of data server computers and distribute subsequent data access across the plurality of data server computers;
- and
- providing, from the table data cache proxy a single, non-composite service for table location;
- accessing a table comprising first and second columns, one or more first rows, and one or more second rows, wherein a given location for the table is provided by the single, non-composite service;
- storing one or more first location identifiers indicating where column data of the first column is stored and one or more second location identifiers indicating where column data of the second column is stored;
- and
- storing a table index comprising, for each location identifier of the one or more first location identifiers and the one or more second location identifiers, an index identifier indicating a valid portion of the data at the location indicated by the location identifier.
A nontransitory computer readable medium having stored thereon software instructions that, when executed by one or more processors, cause the processors to perform operations including:
- executing, at a query server computer, a database query, the query server computer comprising a query server memory device and being coupled to a plurality of data server computers, the executing comprising:
- providing a table data cache proxy operable to optimize performance of computer data access to the plurality of data server computers by:
- requesting a latest table state from two or more of the plurality of data server computers;
- filtering the latest table state to generate a complete, non-duplicative composite table state that includes one of data or metadata from the two or more of the plurality of data server computers;
- and
- providing, from the table data cache proxy a single, non-composite service for table location;
- accessing a table comprising first and second columns, one or more first rows, and one or more second rows, wherein a given location for the table is provided by the single, non-composite service;
- storing one or more first location identifiers indicating where column data of the first column is stored and one or more second location identifiers indicating where column data of the second column is stored;
- and
- storing a table index comprising, for each location identifier of the one or more first location identifiers and the one or more second location identifiers, an index identifier indicating a valid portion of the data at the location indicated by the location identifier.
Dependencies are inferred from the claim text.