Analytical platform for distributed data
AssigneePagerDuty, Inc.
InventorChristopher Phillip Bonnell
Life of this patent
Estimating the term…
Abstract
Data objects are sampled from data sources and stored in a tree data structure that is employed to compute histogram information. Each node in the tree includes sufficient statistics and a particular value corresponding to one or more sampled data objects. The nodes of the tree can be two or more types, such as exponential nodes and regular nodes. Also, each histogram tree may be precalculated to start with an empty exponential node, and a defined number of regular nested nodes that correlate to a precision value for the histogram, i.e., a number of significant figures for sampled data values that can be stored in the tree.
Claims20
A method for data processing using one or more network computers, comprising:
- creating a histogram tree data structure including a root level exponential node and a defined number of regular nested nodes, wherein the defined number is correlated with a precision at which sampled values can be stored in the histogram tree data structure, wherein the root level exponential node and regular nested nodes are created as empty nodes;
- sampling a plurality of data objects from one or more data sources to produce a plurality of sample values;
- truncating at least one of the plurality of sample values to match the precision to produce a truncated sample value;
- populating the histogram tree data structure with the truncated sample value by storing an exponent of the truncated sample value in the root level exponential node and respective significant figure digits of the truncated sample value in respective ones of the regular nested nodes;
- computing information for each populated node in the histogram tree data structure, wherein the computed information includes one or more of statistics, metrics, or histogram information that are stored in respective populated nodes;
- employing one or more of the computed information at populated nodes of the histogram tree data structure to respond to a query;
- and
- employing the histogram information to provide a visualization representing an estimate of probability distribution for numerical data of at least one of the plurality of sampled data objects.
A processor readable non-transitory storage media that includes instructions for data processing, wherein execution of the instructions by one or more processors causes actions to be performed, comprising:
- sampling a plurality of data objects from one or more data sources;
- providing a precision for a number of significant figures for a histogram tree data structure usable to store information regarding the sampled data objects;
- in response to one or more of the sampled data objects having their number of significant figures greater than the provided precision, truncating the significant figures for the one or more of the sampled data objects to match the provided precision;
- employing the histogram tree data structure to store a value for each sampled data object including storing an exponent in an exponential node, wherein a number of hierarchical levels for nodes in the tree data structure are arranged according to the provided precision, and wherein the histogram tree data structure is initialized to start with the exponential node being empty, and a defined number of regular nested nodes that are empty and correlate to the provided precision;
- computing information for each populated node in the histogram tree data structure, wherein the computed information includes one or more of statistics, metrics, or histogram information relating to the sampled data objects;
- employing one or more of the computed information at populated nodes of the histogram tree data structure to respond to a query related to the data sources;
- and
- employing the histogram information to provide a visualization representing an estimate of probability distribution for numerical data of the one or more sampled data objects.
A system for data processing over a network:
- a network computer, comprising:
- a transceiver that communicates over the network;
- a memory that stores at least instructions;
- and
- one or more processors that execute instructions that perform actions, including:
- sampling a plurality of data objects from one or more data sources;
- providing a precision for a number of significant figures for each value to be stored for each sampled data object;
- in response to one or more of the sampled data objects having their number of significant figures greater than the provided precision, truncating the significant figures for the one or more data objects to match the provided precision;
- employing a histogram tree data structure to store the value for each sampled data object, wherein a number of hierarchical levels for nodes in the tree data structure are arranged according to the provided precision, and wherein the histogram tree data structure is precalculated to start with an empty exponential node, and a defined number of regular nested nodes that correlate to the provided precision;
- computing information for each populated node in the histogram tree data structure, wherein the computed information includes one or more of sufficient statistics, metrics, or histogram information;
- employing one or more of the computed information at populated nodes of the histogram tree data structure to respond to a query related to the sampled data sources;
- and
- employing the histogram information to provide a visualization representing an estimate of probability distribution for numerical data of the one or more sampled data objects;
- and
- a client computer, comprising:
- a transceiver that communicates over the network;
- a memory that stores at least instructions;
- and
- one or more processors that execute instructions that perform actions, including:
- providing the query.
A network computer for data processing, comprising:
- a transceiver that communicates over the network;
- a memory that stores at least instructions;
- and
- one or more processors that execute instructions that perform actions, including:
- sampling a plurality of data objects from one or more data sources;
- providing a precision for a number of significant figures for each value to be stored for each sampled data object;
- in response to one or more of the sampled data objects having their number of significant figures greater than the provided precision, truncating the significant figures for the one or more data objects to match the provided precision;
- employing a histogram tree data structure to store the value for each sampled data object, wherein a number of hierarchical levels for nodes in the tree data structure are arranged according to the provided precision, and wherein the histogram tree data structure is precalculated to start with an empty exponential node, and a defined number of regular nested nodes that correlate to the provided precision;
- computing information for each populated node in the histogram tree data structure, wherein the computed information includes one or more of sufficient statistics, metrics, or histogram information;
- employing one or more of the computed information at populated nodes of the histogram tree data structure to respond to a query related to the sampled data sources and
- employing the histogram information to provide a visualization representing an estimate of probability distribution for numerical data of the one or more sampled data objects.
Dependencies are inferred from the claim text.