The Changing Face of Database Monitoring
Database monitoring has always been central to the role of Database Administrators (DBAs) to minimize downtime and optimize performance. Scheduled monitoring keeps an eye on resource usage like CPU, disk space, memory, and I/O capacity to spot trends and understand when more capacity will be needed. The same information also enables baselines to be established so that, for example, it is immediately apparent if a high-resource utilization is an abnormal spike, a worrying recent trend, or just normal behavior for the period in question.
Alongside scheduled monitoring, reactive monitoring also has its place in responding to alerts about a drop in performance or an increase in deadlocks, and drilling down to the cause of the problem before it becomes an issue. Here, the history and timelines which monitoring provides will help to identify if a stress phenomenon coincides with a particular type of processing, such as a weekly aggregation or a scheduled data import.
All of this will be familiar to any DBA, but the way databases are developed and managed has seen a big change over the last few years, driven by the adoption of DevOps, the move from on-premises to the cloud, and increasing concerns about data privacy. These three factors are introducing new challenges to database monitoring that every DBA needs to be aware of.
DevOps, for example, encourages the frequent release of small changes to applications, and those changes often mean the database needs to be updated as well. This was highlighted in Redgate’s 2018 State of SQL Server Monitoring report which revealed that almost 50% of respondents deploy database changes multiple times a week. That’s a big change from a few years ago when deployments were often major events, regarded with trepidation and planned carefully to allow for the expected downtime failed deployments would cause.
The cloud has also become mainstream, and the same report showed that 48% of respondents are already using some cloud technology, and moving to the cloud is their biggest concern. Interestingly, SQL Server implementations on Azure and Amazon are the most common cloud technologies used, and this will probably increase now that Azure SQL Managed Instances provide near 100% feature compatibility with on-premises SQL Server, yet also offer the benefits of a cloud service. The task here will be monitoring a mixed server estate, with legacy systems remaining on-premises, and new systems moving to the cloud.
And then there’s the privacy question. With new requirements for access to personal data to be restricted, there are demands on DBAs to monitor access rights and privileges – and demonstrate that such a system is in place.
Despite all these changes, many of the reasons for monitoring databases and the methods of doing so remain the same. This Refcard focuses on SQL Server databases but the broad principles are the same for any database. DBAs and systems administrators should make the most of built-in tools and resources but also call on third-party tools where necessary to manage their own server estate in the way their business demands.