No longer purely “transactional”,  modern businesses live or die by the availability of their data.  A drop in database performance matters. Hugely.  All the more so in complex, distributed environments where often the source of a problem can be frustratingly difficult to identify and even more difficult to prove.  
Well, it used to be difficult.  Query level monitoring changes all that.  


Why is query level monitoring different?
SQL query level monitoring offers a business-focused perspective of database monitoring, with real-time problem identification and resolution. Whereas traditional database monitoring focuses on IT-centric metrics such as Disk I/O or CPU usage, query-level monitoring measures performance from the point of view of the application or end-user. This is achieved by capturing, analysing and monitoring every SQL ‘user’ interaction with your database.   Yes, every one.  Even if statements number tens of thousands per second, the best query-level monitors will capture them, storing and creating histories for comparative analysis.  24/7, in real time.  With no database overhead.


For the business, this represents a sea change in business responsiveness. The holistic “capture all” approach gives the business an unparalleled picture of what is happening and why.  Quickly.  Trends in performance become incredibly easy to identify e.g. how does current performance compare to the same period last week, last month, last year? And because systems work in real time, alarms and alerts can be set to immediately identify a change in the performance, even when the request is still running.  


Imagine a typical troubleshooting scenario…
Your DBAs have reported that your production system is experiencing a much higher load than normal. End users are reporting that your system is slow or unusable. What do you do? Query level monitoring gives you all the data you need to be able to quickly identify what has happened to change the performance profile: Are key SQL statements running more slowly? Are statements being run more frequently? Are new or modified statements being executed?  How does this compare with previous periods?  Guesswork becomes a thing of the past.


The beauty of this approach is the method of data capture. Whereas traditional monitoring works at an O/S or database level, Query level monitoring sits outside of the database, passively monitoring all network activity, in and out.  As this process captures every interaction with the database, it also identifies (and proves) whether a problem is database-centric, or not.  The effect of server-side delays, poorly constructed SQL, corrupt ad hoc queries and network anomalies are all plainly visible and fully documented.  The confusion that can characterise a database outage is radically reduced.  DBA team productivity on the other hand, is radically enhanced.


And the icing on the cake?  It’s zero impact.
As it works without the use of polling processes or other intrusive operations, query level monitoring not only saves time but also capital outlay.  Installed on a separate host, it has zero impact on database performance, eradicating 10-15% CPU utilisation associated for traditional monitoring systems. For critical applications, the importance of this saving cannot be understated.


Interested in finding out more?
At J2, we are so taken with this alternative approach to performance monitoring that we have added the leading iWatch query level monitoring tool to our range of solutions.  Used widely in the US to monitor large-scale database environments, iWatch from performance specialists Exact Solutions, has an impressive customer base, particularly within the banking/financial services sectors. It works brilliantly with SAP Sybase ASE but also supports IBM DB2 and Informix, MS SQL Server and Postgre SQL.  Easy to deploy without the need for configuration changes, iWatch is available to trial for free for 30 days.