Database query analysis technology
First Claim
1. A computer-implemented method comprising:
- receiving an input query that relates to multiple attribute classes of data records having attribute classes associated therewith in data storage;
identifying the multiple attribute classes related to the input query, the multiple attribute classes being a subset of less than all of the attribute classes associated with the data records in the data storage;
accessing, from electronic storage, an index that is descriptive of the data records in the data storage, the index defining positional relationships between the attribute classes of the data records, where an attribute class that has a relatively lower position in the index than another attribute class is a child attribute class of the other attribute class;
identifying relative positions in the accessed index for the multiple attribute classes identified as being related to the input query;
processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions;
identifying, using the processed index, groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes identified as being related to the input query;
accessing, from the data storage, metrics corresponding to the data records included in each of the identified groups of data records;
performing computations on the accessed metrics that distinguish among each of the identified groups of data records;
generating a report that reflects results of the computations; and
storing, in electronic storage, the generated report,wherein processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions comprises;
identifying portions of the accessed index that correspond to the multiple attribute classes identified as being related to the input query and disregarding portions of the accessed index that correspond to attribute classes other than the multiple attribute classes identified as being related to the input query;
based on the identified relative positions, selecting, from among the multiple attribute classes identified as being related to the input query, the attribute class that has the highest relative position within the accessed index;
for each distinct value in the selected attribute class, assigning a distinct identifier to portions of the accessed index within the selected attribute class that correspond to the distinct value;
based on the identified relative positions, selecting, from among the multiple attribute classes associated with the input query, the attribute class that has a second highest relative position after the attribute class that has the highest relative position;
for each portion of the index within the selected attribute class that has the second highest relative position, identifying an attribute value corresponding to the portion and a parent identifier of a portion of the index within the attribute class that has the highest relative position that links to the portion of the index within the selected attribute class that has the second highest relative position;
based on the identified attribute values and parent identifiers, identifying distinct attribute value and parent identifier pairs within the selected attribute class that has the second highest relative position; and
for each distinct attribute value and parent identifier pair, assigning a distinct identifier to portions of the index within the selected attribute class that has the second highest relative position that share the distinct attribute value and parent identifier pair.
2 Assignments
0 Petitions
Accused Products
Abstract
Database query analysis technology, in which an input query is received that relates to multiple attribute classes of data records. An index that is descriptive of the data records in data storage is accessed and relative positions in the accessed index for the multiple attribute classes are identified. The accessed index is processed based on more than one of the multiple attribute classes and the identified relative positions, and the processed index is used to identify groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes in the input query. Metrics corresponding to the data records included in each of the identified groups of data records are accessed, computations are performed on the accessed metrics, and a report is generated that reflects results of the computations.
-
Citations
21 Claims
-
1. A computer-implemented method comprising:
-
receiving an input query that relates to multiple attribute classes of data records having attribute classes associated therewith in data storage; identifying the multiple attribute classes related to the input query, the multiple attribute classes being a subset of less than all of the attribute classes associated with the data records in the data storage; accessing, from electronic storage, an index that is descriptive of the data records in the data storage, the index defining positional relationships between the attribute classes of the data records, where an attribute class that has a relatively lower position in the index than another attribute class is a child attribute class of the other attribute class; identifying relative positions in the accessed index for the multiple attribute classes identified as being related to the input query; processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions; identifying, using the processed index, groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes identified as being related to the input query; accessing, from the data storage, metrics corresponding to the data records included in each of the identified groups of data records; performing computations on the accessed metrics that distinguish among each of the identified groups of data records; generating a report that reflects results of the computations; and storing, in electronic storage, the generated report, wherein processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions comprises; identifying portions of the accessed index that correspond to the multiple attribute classes identified as being related to the input query and disregarding portions of the accessed index that correspond to attribute classes other than the multiple attribute classes identified as being related to the input query; based on the identified relative positions, selecting, from among the multiple attribute classes identified as being related to the input query, the attribute class that has the highest relative position within the accessed index; for each distinct value in the selected attribute class, assigning a distinct identifier to portions of the accessed index within the selected attribute class that correspond to the distinct value; based on the identified relative positions, selecting, from among the multiple attribute classes associated with the input query, the attribute class that has a second highest relative position after the attribute class that has the highest relative position; for each portion of the index within the selected attribute class that has the second highest relative position, identifying an attribute value corresponding to the portion and a parent identifier of a portion of the index within the attribute class that has the highest relative position that links to the portion of the index within the selected attribute class that has the second highest relative position; based on the identified attribute values and parent identifiers, identifying distinct attribute value and parent identifier pairs within the selected attribute class that has the second highest relative position; and for each distinct attribute value and parent identifier pair, assigning a distinct identifier to portions of the index within the selected attribute class that has the second highest relative position that share the distinct attribute value and parent identifier pair. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method comprising:
-
receiving an input query that relates to multiple attribute classes of data records having attribute classes associated therewith in data storage; identifying the multiple attribute classes related to the input query, the multiple attribute classes being a subset of less than all of the attribute classes associated with the data records in the data storage; accessing, from electronic storage, an index that is descriptive of the data records in the data storage, the index defining positional relationships between the attribute classes of the data records, where an attribute class that has a relatively lower position in the index than another attribute class is a child attribute class of the other attribute class; identifying portions of the index that correspond to the multiple attribute classes identified as being related to the input query; modifying the accessed index by removing portions of the accessed index that correspond to attribute classes other than the multiple attribute classes identified as being related to the input query; analyzing the modified index; based on the analysis, identifying redundancies that are present in the modified index, the redundancies resulting from removal of the portions of the index that correspond to the attribute classes other than the multiple attribute classes identified as being related to the input query; compressing the identified redundancies in the modified index; updating index mapping definitions based on compression of the identified redundancies in the modified index; identifying, using the compressed index and the updated mapping definitions, groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes identified as being related to the input query; accessing, from the data storage, metrics corresponding to the data records included in each of the identified groups of data records; performing computations on the accessed metrics that distinguish among each of the identified groups of data records; generating a report that reflects results of the computations; and storing, in electronic storage, the generated report. - View Dependent Claims (6, 7)
-
-
8. At least one computer-readable storage medium encoded with executable instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
-
receiving an input query that relates to multiple attribute classes of data records having attribute classes associated therewith in data storage; identifying the multiple attribute classes related to the input query, the multiple attribute classes being a subset of less than all of the attribute classes associated with the data records in the data storage; accessing, from electronic storage, an index that is descriptive of the data records in the data storage, the index defining positional relationships between the attribute classes of the data records, where an attribute class that has a relatively lower position in the index than another attribute class is a child attribute class of the other attribute class; identifying relative positions in the accessed index for the multiple attribute classes identified as being related to the input query; processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions; identifying, using the processed index, groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes identified as being related to the input query; accessing, from the data storage, metrics corresponding to the data records included in each of the identified groups of data records; performing computations on the accessed metrics that distinguish among each of the identified groups of data records; generating a report that reflects results of the computations; and storing, in electronic storage, the generated report, wherein processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions comprises; identifying portions of the accessed index that correspond to the multiple attribute classes identified as being related to the input query and disregarding portions of the accessed index that correspond to attribute classes other than the multiple attribute classes identified as being related to the input query; based on the identified relative positions, selecting, from among the multiple attribute classes identified as being related to the input query, the attribute class that has the highest relative position within the accessed index; for each distinct value in the selected attribute class, assigning a distinct identifier to portions of the accessed index within the selected attribute class that correspond to the distinct value; based on the identified relative positions, selecting, from among the multiple attribute classes associated with the input query, the attribute class that has a second highest relative position after the attribute class that has the highest relative position; for each portion of the index within the selected attribute class that has the second highest relative position, identifying an attribute value corresponding to the portion and a parent identifier of a portion of the index within the attribute class that has the highest relative position that links to the portion of the index within the selected attribute class that has the second highest relative position; based on the identified attribute values and parent identifiers, identifying distinct attribute value and parent identifier pairs within the selected attribute class that has the second highest relative position; and for each distinct attribute value and parent identifier pair, assigning a distinct identifier to portions of the index within the selected attribute class that has the second highest relative position that share the distinct attribute value and parent identifier pair. - View Dependent Claims (10, 11, 12)
-
-
9. An electronic system comprising:
-
at least one electronic data storage device; and at least one processor configured to perform operations comprising; receiving an input query that relates to multiple attribute classes of data records having attribute classes associated therewith in data storage; identifying the multiple attribute classes related to the input query, the multiple attribute classes being a subset of less than all of the attribute classes associated with the data records in the data storage; accessing, from electronic storage, an index that is descriptive of the data records in the data storage, the index defining positional relationships between the attribute classes of the data records, where an attribute class that has a relatively lower position in the index than another attribute class is a child attribute class of the other attribute class; identifying relative positions in the accessed index for the multiple attribute classes identified as being related to the input query; processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions; identifying, using the processed index, groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes identified as being related to the input query; accessing, from the data storage, metrics corresponding to the data records included in each of the identified groups of data records; performing computations on the accessed metrics that distinguish among each of the identified groups of data records; generating a report that reflects results of the computations; and storing, in electronic storage, the generated report, wherein processing the accessed index based on more than one of the multiple attribute classes identified as being related to the input query and the identified relative positions comprises; identifying portions of the accessed index that correspond to the multiple attribute classes identified as being related to the input query and disregarding portions of the accessed index that correspond to attribute classes other than the multiple attribute classes identified as being related to the input query; based on the identified relative positions, selecting, from among the multiple attribute classes identified as being related to the input query, the attribute class that has the highest relative position within the accessed index; for each distinct value in the selected attribute class, assigning a distinct identifier to portions of the accessed index within the selected attribute class that correspond to the distinct value; based on the identified relative positions, selecting, from among the multiple attribute classes associated with the input query, the attribute class that has a second highest relative position after the attribute class that has the highest relative position; for each portion of the index within the selected attribute class that has the second highest relative position, identifying an attribute value corresponding to the portion and a parent identifier of a portion of the index within the attribute class that has the highest relative position that links to the portion of the index within the selected attribute class that has the second highest relative position; based on the identified attribute values and parent identifiers, identifying distinct attribute value and parent identifier pairs within the selected attribute class that has the second highest relative position; and for each distinct attribute value and parent identifier pair, assigning a distinct identifier to portions of the index within the selected attribute class that has the second highest relative position that share the distinct attribute value and parent identifier pair. - View Dependent Claims (13, 14, 15)
-
-
16. At least one computer-readable storage medium encoded with executable instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
-
receiving an input query that relates to multiple attribute classes of data records having attribute classes associated therewith in data storage; identifying the multiple attribute classes related to the input query, the multiple attribute classes being a subset of less than all of the attribute classes associated with the data records in the data storage; accessing, from electronic storage, an index that is descriptive of the data records in the data storage, the index defining positional relationships between the attribute classes of the data records, where an attribute class that has a relatively lower position in the index than another attribute class is a child attribute class of the other attribute class; identifying portions of the index that correspond to the multiple attribute classes identified as being related to the input query; modifying the accessed index by removing portions of the accessed index that correspond to attribute classes other than the multiple attribute classes identified as being related to the input query; analyzing the modified index; based on the analysis, identifying redundancies that are present in the modified index, the redundancies resulting from removal of the portions of the index that correspond to the attribute classes other than the multiple attribute classes identified as being related to the input query; compressing the identified redundancies in the modified index; updating index mapping definitions based on compression of the identified redundancies in the modified index; identifying, using the compressed index and the updated mapping definitions, groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes identified as being related to the input query; accessing, from the data storage, metrics corresponding to the data records included in each of the identified groups of data records; performing computations on the accessed metrics that distinguish among each of the identified groups of data records; generating a report that reflects results of the computations; and storing, in electronic storage, the generated report. - View Dependent Claims (17, 18)
-
-
19. An electronic system comprising:
-
at least one electronic data storage device; and at least one processor configured to perform operations comprising; receiving an input query that relates to multiple attribute classes of data records having attribute classes associated therewith in data storage; identifying the multiple attribute classes related to the input query, the multiple attribute classes being a subset of less than all of the attribute classes associated with the data records in the data storage; accessing, from electronic storage, an index that is descriptive of the data records in the data storage, the index defining positional relationships between the attribute classes of the data records, where an attribute class that has a relatively lower position in the index than another attribute class is a child attribute class of the other attribute class; identifying portions of the index that correspond to the multiple attribute classes identified as being related to the input query; modifying the accessed index by removing portions of the accessed index that correspond to attribute classes other than the multiple attribute classes identified as being related to the input query; analyzing the modified index; based on the analysis, identifying redundancies that are present in the modified index, the redundancies resulting from removal of the portions of the index that correspond to the attribute classes other than the multiple attribute classes identified as being related to the input query; compressing the identified redundancies in the modified index; updating index mapping definitions based on compression of the identified redundancies in the modified index; identifying, using the compressed index and the updated mapping definitions, groups of data records that are included in the data records in the data storage and that share common values for the multiple attribute classes identified as being related to the input query; accessing, from the data storage, metrics corresponding to the data records included in each of the identified groups of data records; performing computations on the accessed metrics that distinguish among each of the identified groups of data records; generating a report that reflects results of the computations; and storing, in electronic storage, the generated report. - View Dependent Claims (20, 21)
-
Specification