Database system and method with array field distribution data
AssigneeOcient Holdings LLC
InventorJason Arnold
Life of this patent
Estimating the term…
Abstract
A method includes generating array field distribution data for an array field of a dataset. A query expression for execution that includes a query predicate indicating the array field of the dataset is received. The array field distribution data for the array field is utilized to generate query plan data for the query expression based on the query expression including the query predicate indicating the array field. Execution of the query expression is facilitated in accordance with the query plan data.
Claims20
A method for execution by at least one processor of a database system, comprising:
- generating array field distribution data for an array field of a dataset;
- receiving the dataset for storage;
- processing the dataset for storage, wherein the array field distribution data is generated for the array field of the dataset in conjunction with processing the dataset for storage;
- and
- storing the dataset and the array field distribution data in storage resources of the database system;
- receiving a query expression for execution that includes a query predicate indicating the array field of the dataset;
- utilizing the array field distribution data for the array field to generate query plan data for the query expression based on the query expression including the query predicate indicating the array field;
- and
- facilitating execution of the query expression in accordance with the query plan data;
- wherein processing the dataset for storage includes generating a plurality of segments based on segregating different portions of the dataset into different segments, wherein a first portion of each segment indicates array structures of the array field for a corresponding portion of the dataset, wherein a second portion of the each segment indicates corresponding array field distribution data for the array structures of the array field for the corresponding portion of the dataset, and wherein the different segments include different corresponding array field distribution data based on corresponding distribution differences across the different portions of the dataset.
A query processing system of a database system includes:
- at least one processor;
- and
- a memory that stores operational instructions that, when executed by the at least one processor, cause the query processing system to perform operations that include:
- generating array field distribution data for an array field of a dataset;
- receiving the dataset for storage;
- processing the dataset for storage, wherein the array field distribution data is generated for the array field of the dataset in conjunction with processing the dataset for storage;
- and
- storing the dataset and the array field distribution data in storage resources of the database system;
- receiving a query expression for execution that includes a query predicate indicating the array field of the dataset;
- utilizing the array field distribution data for the array field to generate query plan data for the query expression based on the query expression including the query predicate indicating the array field;
- and
- facilitating execution of the query expression in accordance with the query plan data;
- wherein processing the dataset for storage includes generating a plurality of segments based on segregating different portions of the dataset into different segments, wherein a first portion of each segment indicates array structures of the array field for a corresponding portion of the dataset, wherein a second portion of the each segment indicates corresponding array field distribution data for the array structures of the array field for the corresponding portion of the dataset, and wherein the different segments include different corresponding array field distribution data based on corresponding distribution differences across the different portions of the dataset.
A non-transitory computer readable storage medium of a database system comprises:
- at least one memory section that stores operational instructions that, when executed by a processing module that includes a processor and a memory, causes the processing module to perform operations that include:
- generating array field distribution data for an array field of a dataset;
- receiving the dataset for storage;
- processing the dataset for storage, wherein the array field distribution data is generated for the array field of the dataset in conjunction with processing the dataset for storage;
- and
- storing the dataset and the array field distribution data in storage resources of the database system;
- receiving a query expression for execution that includes a query predicate indicating the array field of the dataset;
- utilizing the array field distribution data for the array field to generate query plan data for the query expression based on the query expression including the query predicate indicating the array field;
- and
- facilitating execution of the query expression in accordance with the query plan data;
- wherein processing the dataset for storage includes generating a plurality of segments based on segregating different portions of the dataset into different segments, wherein a first portion of each segment indicates array structures of the array field for a corresponding portion of the dataset, wherein a second portion of the each segment indicates corresponding array field distribution data for the array structures of the array field for the corresponding portion of the dataset, and wherein the different segments include different corresponding array field distribution data based on corresponding distribution differences across the different portions of the dataset.
Dependencies are inferred from the claim text.