Methods, systems, and computer program products for database table aggregation
First Claim
1. A method, comprising:
- encoding first and second components via a waveform definition and attribute values of the respective first and second components, the first component specifying first criteria for aggregating data and the second component specifying second criteria for aggregating data, the first component defined to provide data aggregation at a higher granularity than the second component;
generating a complex periodic aggregation waveform having square waves representing the first and second components in a repeating pattern corresponding to the waveform definition and the first and second criteria, respectively, and which spans a length of a first axis indicative of a period of time for aggregating the data;
providing, as a threshold value, a maximum byte count for aggregated data stored in a first table defined by the first criteria, and aggregating the data for the duration of the period of time and in accordance with the attribute values of the respective first and second components;
updating the complex periodic aggregation waveform to reflect results of the data aggregation, the updating including generating a waveform representing a second table along a second axis, the second axis depicted at a location corresponding to a time in which the data aggregation for the first table was initiated, and the second table storing overflow data from the first table when the threshold value is exceeded;
creating tables containing aggregated data for the first and second components based upon the first and second criteria, each of the tables assigned an identifier indicating a start date and time in which the data is stored in the tables, the tables including the first and second tables;
in response to receiving a start date/time value and a read/write indicator value, wherein a read indicator specifies a read operation and a write indicator specifies a write operation, searching a database of complex periodic aggregation waveforms until the start date/time value exceeds an identifier of a complex periodic aggregation waveform in the database, scanning the complex periodic aggregation waveform found in response to the searching until a period of time specified in one of the first and second criteria encloses the start date/time value, and searching a list of the tables until the start date/time value is equal to an identifier of one of the tables in the list; and
in response to determining the table found in response to the searching has an amount of aggregated data that exceeds the maximum byte count, performing one of the read operation and the write operation with respect to the table found in response to the searching and based upon the read/write indicator value.
3 Assignments
0 Petitions
Accused Products
Abstract
Database table aggregation is implemented by a method that includes encoding first and second components via a waveform definition, the first and second components specifying criteria for aggregating data, and the first component is defined to provide data aggregation at a higher granularity than the second component. The method also includes generating a complex waveform representing the components in a pattern corresponding to the waveform definition and criteria, which spans a first axis indicative of a time period for the aggregation. The method includes providing a byte count for aggregated data stored in a first table defined by the criteria, aggregating the data for the time period, and updating the complex waveform to reflect results of the aggregation that includes generating a waveform representing a second table along a second axis depicted at a location corresponding to a time in which the data aggregation for the first table was initiated.
-
Citations
20 Claims
-
1. A method, comprising:
-
encoding first and second components via a waveform definition and attribute values of the respective first and second components, the first component specifying first criteria for aggregating data and the second component specifying second criteria for aggregating data, the first component defined to provide data aggregation at a higher granularity than the second component; generating a complex periodic aggregation waveform having square waves representing the first and second components in a repeating pattern corresponding to the waveform definition and the first and second criteria, respectively, and which spans a length of a first axis indicative of a period of time for aggregating the data; providing, as a threshold value, a maximum byte count for aggregated data stored in a first table defined by the first criteria, and aggregating the data for the duration of the period of time and in accordance with the attribute values of the respective first and second components; updating the complex periodic aggregation waveform to reflect results of the data aggregation, the updating including generating a waveform representing a second table along a second axis, the second axis depicted at a location corresponding to a time in which the data aggregation for the first table was initiated, and the second table storing overflow data from the first table when the threshold value is exceeded; creating tables containing aggregated data for the first and second components based upon the first and second criteria, each of the tables assigned an identifier indicating a start date and time in which the data is stored in the tables, the tables including the first and second tables; in response to receiving a start date/time value and a read/write indicator value, wherein a read indicator specifies a read operation and a write indicator specifies a write operation, searching a database of complex periodic aggregation waveforms until the start date/time value exceeds an identifier of a complex periodic aggregation waveform in the database, scanning the complex periodic aggregation waveform found in response to the searching until a period of time specified in one of the first and second criteria encloses the start date/time value, and searching a list of the tables until the start date/time value is equal to an identifier of one of the tables in the list; and
in response to determining the table found in response to the searching has an amount of aggregated data that exceeds the maximum byte count, performing one of the read operation and the write operation with respect to the table found in response to the searching and based upon the read/write indicator value. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a host system computer and memory; and an aggregation application executing on the host system computer, the aggregation application including an encoder, the encoder encoding first and second components via a waveform definition and attribute values of the respective first and second components, the first component specifying first criteria for aggregating data and the second component specifying second criteria for aggregating data, the first component defined to provide data aggregation at a higher granularity than the second component; the aggregation application generating a complex periodic aggregation waveform having square waves representing the first and second components in a repeating pattern corresponding to the waveform definition and the first and second criteria, respectively, and which spans a length of a first axis indicative of a period of time for aggregating the data; providing as a threshold value, via a user interface of the aggregation application, a maximum byte count for aggregated data stored in a first table defined by the first criteria, and the aggregation application aggregating the data for the duration of the period of time and in accordance with the attribute values of the respective first and second components; the aggregation application updating the complex periodic aggregation waveform to reflect results of the data aggregation, the updating including generating a waveform representing a second table along a second axis, the second axis depicted at a location corresponding to time in which the data aggregation for the first table was initiated, and the second table storing overflow data from the first table when the threshold value is exceeded; creating tables containing aggregated data for the first and second components based upon the first and second criteria, each of the tables assigned an identifier indicating to a start date and time in which data is stored in the tables, the tables including the first and second tables; in response to receiving a start date/time value and a read/write indicator value, wherein a read indicator specifies a read operation and a write indicator specifies a write operation, searching a database of complex periodic aggregation waveforms until the start date/time value exceeds an identifier of a complex periodic aggregation waveform in the database, scanning the complex periodic aggregation waveform found in response to the searching until a period of time specified in one of the first and second criteria encloses the start date/time value, and searching a list of the tables until the start date/time value is equal to an identifier of one of the tables in the list; and in response to determining the table found in response to the searching has an amount of aggregated data that exceeds the maximum byte count, performing one of the read operation and the write operation with respect to the table found in response to the searching and based upon the read/write indicator value. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product comprising a non-transitory storage medium having computer-readable program code embodied thereon, the program code causing a computer to implement:
-
encoding first and second components via a waveform definition and attribute values of the respective first and second components, the first component specifying first criteria for aggregating data and the second component specifying second criteria for aggregating data, the first component defined to provide data aggregation at a higher granularity than the second component;
generating a complex periodic aggregation waveform having square waves representing the first and second components in a repeating pattern corresponding to the waveform definition and the first and second criteria, respectively, and which spans a length of a first axis indicative of a period of time for aggregating the data;providing, as a threshold value, a maximum byte count for aggregated data stored in a first table defined by the first criteria, and aggregating the data for the duration of the period of time and in accordance with the attribute values of the respective first and second components;
updating the complex periodic aggregation waveform to reflect results of the data aggregation, the updating including generating a waveform representing a second table along a second axis, the second axis depicted at a location corresponding to time in which the data aggregation for the first table was initiated, and the second table storing overflow data from the first table when the threshold value is exceeded;creating tables containing aggregated data for the first and second components based upon the first and second criteria, each of the tables assigned an identifier indicating a start date and time in which data is stored in the tables, the tables including the first and second tables; in response to receiving a start date/time value and a read/write indicator value, wherein a read indicator specifies a read operation and a write indicator specifies a write operation, searching a database of complex periodic aggregation waveforms until the start date/time value exceeds an identifier of a complex periodic aggregation waveform in the database, scanning the complex periodic aggregation waveform found in response to the searching until a period of time specified in one of the first and second criteria encloses the start date/time value, and searching a list of the tables until the start date/time value is equal to an identifier of one of the tables in the list; and in response to determining the table found in response to the searching has an amount of aggregated data that exceeds the maximum byte count, performing one of the read operation and the write operation with respect to the table found in response to the searching and based upon the read/write indicator value. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification