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

The Louis Davidson custom style for SQL Prompt

My previous article in this series explained why it's important for a development team to adopt a common standard for formatting SQL code. It also gave a broad overview of the styles and actions withi...

Also in Product learning

How to implement a SQL formatting standard using SQL Prompt v8

With ten programmers working on the same project, how do you agree on a standard style for formatting SQL code, and then implement it consistently? One way is through draconian rules, meeting after me...

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 ...