Monitoring your database schemas with pipelines

DLM Dashboard tracks changes to your database schemas across different environments. In this blog post, we’ll talk about organizing your databases into pipelines, and how this can help you to better understand your workflow.

How was it organized before?

Grouping databases by category

In the first version of DLM Dashboard, databases were grouped by category – or environment – to distinguish stages in the workflow from development to production. For example:

pipeline1

Grouping databases by server

In the next version, you could group databases by their parent server. Many users had a different server for each environment, so it made sense to keep their production servers separate:

pipeline2

What could we improve?

Grouping by category or server worked fine for users who were only tracking one or two database schemas. But what about users monitoring more than one application? When they added more databases, DLM Dashboard grouped database schemas from different applications together. The workflow wasn’t clear, and it wasn’t easy to see which changes were moving from development to production. We knew we could do better.

Grouping databases by pipeline

We started developing a new version of DLM Dashboard that would group databases into pipelines according to their schemas. By grouping databases that share similar schemas, it’s easy to track schema changes as they progress through the stages of your database’s lifecycle.

pipeline3

How does it work under the hood?

DLM Dashboard compares the schemas being monitored and groups those with similar database structures into pipelines. This calculation is based on a distance measurement between the two databases: the more differences there are between two database schemas, the further the distance between them.

For example, look at the FinanceDev and FinanceProd databases below. They use Database/Table/Column to define the objects present in the database schema.

Pipelinedatabase1

The databases aren’t equal but they’re similar, so they’re grouped into a single pipeline named Finance. The distance between them is small.

Say that we then start to monitor another database, EmployeesProd:

Pipelinedatabase2b

EmployeesProd is placed in its own pipeline (called EmployeesProd) because it’s not similar enough to be grouped with FinanceDev or FinanceProd.

What do users think of pipelines?

We added in-app feedback along with this new feature, to find out how accurately DLM Dashboard groups different users’ databases.

pipeline4

pipeline5

The questionnaire has been live for five weeks and, with over 600 responses, the results have been largely positive:

What’s next?

The team are now exploring ways to make pipelines even better. We’ve already added the ability to apply a filter to the databases in a pipeline, so you can define what drift means to you, and ignore changes you’re not interested in. We’re currently working on support for manually configured pipelines, so you can control exactly how your database schemas are grouped.

Comments or questions? We’d love to hear from you. Please send your feedback to dlmdashboardsupport@red-gate.com

Tools in this post

DLM Dashboard

Track your SQL Server databases and be the first to know about schema changes.

Find out more

Share this post.

Share on FacebookShare on Google+Share on LinkedInTweet about this on Twitter

Related posts

Also in DLM Dashboard

We don't need no documentation - automating schema docs in Redgate DLM

"Understanding the existing product consumes roughly
30 percent of the total maintenance time."
Facts and Fallacies of Software Engineering by Robert L. Glass.

You should be documenting your datab...

Also in Hub

Remembering passwords in SQL Compare and SQL Data Compare

We’ve recently added a feature to automatically populate your SQL Server credentials when you’re using SQL Compare or SQL Data Compare. If you check the Remember credentials box, passwords will no...

Also in Product learning

SQL Clone Quick Tip: Offloading DBCC checks

If corruption creeps into a database, and from there into its backup chain, it can and will derail the best-laid Disaster Recovery plans. How, as a DBA, do you guard against this? The first line of de...

Also about DLM Dashboard

DLM Dashboard – the inside story

As a DevOps engineer at Redgate, I’m one of those responsible for keeping the systems going behind the scenes. That’s everything from the internal systems and databases to the infrastructure that ...