Nearly every Netezza database has a query history database turned on for keeping track of what is going on in the system. This database records each query that took place on the server as well as metadata around the query. Some examples include the resource group, the user that ran the query, how long the query took, and the number of records returned by a query – as well as the query itself.

With this rich data available, we are able to run queries both ad-hoc on the available data, as well as produced daily aggregates for more complicated or interesting reporting to review later on. Custom reporting can be created as well, referencing client IPs, usernames, or a variety of other available data points to classify custom fields to slice and dice the data on. Some examples are available below.

netezza concurrency
This graph shows the maximum numbers of different jobs that occurred within a minute, over a 3 week span.

netezza query history
This job is tracking negative user behavior over time. Each color represents a user. Users are automatically e-mailed when the undesired behavior occurs so as to encourage a change in code.

netezza client access
How are users connecting to the system? This view uses a custom field to show us.

netezza query history
How are users experiencing the system? Graphed here are average, 80th, and 90th percentile performance metrics across a set of different tools. Queries under 5 seconds are excluded to show the results when calculated with more resource intensive queries.