There’s a lot of data out there, a lot more on the way, and an increasing demand for companies and organizations to process, analyze, and use data faster than ever before. Stuck in the middle are database administrators (DBAs), many of whom are finding it hard to keep control over databases and their associated data.
The issue isn’t one of ownership, more one of management. With more data being processed, and more business intelligence uses being found for that data, there is a temptation for developers to make ad hoc changes to databases to meet new business needs quickly. Conversely, DBAs are more concerned with protecting data ahead of making scheduled changes to the database.
Which is where the trouble starts.
Unexpected changes to databases can introduce problems when scheduled changes are made. Scheduled changes that are rushed without a structured process or insufficient testing in order to meet tight deadlines can fail for a variety of reasons.
It’s this problem of not being in complete control of databases before planned changes, and remaining in control when deploying planned changes that Red Gate is resolving with the development of a pair of new database tools.
The first, SQL Lighthouse, tracks database schemas and provide alerts when they drift from their expected state. Its dashboard shows what has changed, when the change was made, and even who made the change.
The second, SQL Release, provides the update scripts, change reports, and review steps DBAs need to deploy database changes safely, quickly, and easily.
Together, they give DBAs the confidence that, whatever demands are made on their data and databases, they can deliver. As importantly, they also bring significant business benefits.
Preventing unexpected deployment problems
One of the biggest problems when deploying changes to databases is if the production database has been changed unexpectedly. Someone may have renamed a column or table, or changed a stored procedure, for example, without telling anyone or even thinking of the wider ramifications. In the case of renaming a column or table, an automatically generated comparison script would drop the old column or table and create a new, empty column or table, leaving the old data behind and possibly even losing it.
The deployment would subsequently fail, a recovery would be necessary, and there would be unplanned for production downtime. SQL Lighthouse, as the name suggests, shines a spotlight on changes as soon as they are made, providing an early warning sign of unexpected variations.
Highlighting unforeseen changes instantly
Having a tool that spots when changes are made is one thing. Being informed of those changes is another. When a database schema drifts from its expected state, SQL Lighthouse spots it, and sends an email notification of the drift. From their email inbox, DBAs can then go straight to the dashboard highlighting the drift, identify the cause and decide what action to take.
Tracking changes through environments effortlessly
A typical database development process will have a number of different environments for development, testing, staging, and production. SQL Lighthouse lets DBAs and developers see the state of each environment at a glance, so that they know exactly where they are in the development process without having to examine each environment in turn, in detail. If an emergency fix is made in production or staging, DBAs can also use the tool to alert developers to the change so that it can be propagated back to the development environment.
Using existing resources to do more
Many software tools that improve business processes also change those processes in order to deliver the additional benefits. Like SQL Lighthouse, SQL Release integrates with the leading release management tools that every team is familiar with such as Octopus Deploy, Visual Studio and Bamboo. It therefore lets DBAs do more without having to learn more or change the way they work. With development and operations teams subsequently using similar processes and the same infrastructure, it provides visibility across the release management process for everyone.
Reducing risk in the release process
The final stage of deploying databases is where the biggest risks exist. Errors can occur in update scripts. The target servers may be in a different state than expected. Even when the deployment has occurred, it may not be successful.
SQL Release reduces risk at the point of deployment by checking the state of target servers, providing a report of differences for DBAs to review, and giving them clear approval steps prior to deploying the update script. Post-deployment, it then confirms there are no issues with the deployment.
Releasing the latest features to customers faster
Together, SQL Lighthouse and SQL Release remove the problems many DBAs have with controlling their data and their databases. By giving complete control over data and automating many of the processes that eat up time or increase risk, database changes can be deployed quicker and easier.
The common issue of tedious release processes causing bottlenecks in deployment is therefore overcome. Rather than being tempted to rush the release process and make changes directly to a live system, developers will see that the release management process is integrated with the one they already use. The end result? Rather than being seen as the gatekeepers preventing new features being released to customers, DBAs become the enablers who work alongside developers to make it happen faster – and safer.