Storing performance data at the lowest level of detail for long periods of time would require a large amount of storage. For a single instance this may require several MB of storage a day. However RockSolid can meet this requirement if suitable storage is available.
However, in most situations detailed transaction level performance data is only required for short period of time to aid in investigation of a recent performance issue. Following on from this, the level of data required changes and a higher level set which contains information allowing trends to be generate is all that is required.
RockSolid includes sophisticate logic that will aggregate data to 1) aid in storage requirements and 2) to aid in processing times, however without losing the key detail of the entity being aggregated. In most cases when data is aggregated:
They key attributes of the transaction are retained. For example, aggregation of long running query information will retain the base query detail, the login executing the query, the host from where the query originated.
The metrics of the transaction are rolled up to provide either a sum or an average for a given hour range. For example, aggregation of a long running query will roll up individual executions to a single row (per entity detail above) which contains aggregated information on
- The number of executions within the hour
- The total duration of transaction execution for the hour
- The total read, write I/O for the hour
- The total CPU time for the hour.
This gives RockSolid the ability to calculate for any given date/hour combination in retained history 1) the number of executions of a given query by a given user from a given host, the average duration, the average resource consumption.
It is suggested that this value is set to between 5 and 30 days depending on your requirements. Aggregate data will be generate for all performance data concurrently as the transaction detail data is created. Once the transaction detail passes the specified number of days the transaction detail will be purged from the RockSolid repository without further confirmation leaving only the aggregate data.
For RockSolid SaaS customers, this value is fixed at 10 days meaning 10 days of transaction detail level data is available, after which only aggregate performance detail will be available.