Prevent Release Issues and Configuration Mishaps With the New SentryOne Document Comparison Tool
With the improvements to the SentryOne Document lineage graph completed, and while working on the Data Dictionary Search functionality, our engineering team looked at how to interact with multiple solution definitions to understand how solutions evolve over time. We identified three key areas of focus:
- Navigating across different points without losing comparison context
- Speed—navigation and search should be fast from both algorithmic and human experience perspectives
- Customers upgrading from DOC xPress need their table stakes features while gaining the benefits of the newer engine and interface
This blog post outlines the relevant updates and offers insight into our approach to addressing the three focus areas.
Navigation: Maintaining Context
This feature is strongly tied to documentation, but we decided to have it display in a view with a singular focus on comparison. From any node on the Documentation page, you can click the new Compare button, which will bring you to a screen designed to give the easiest experience for discovering differences through comparison.
Jumping into the Comparison
Immediately, we can begin to understand the structure of the example environment. Both the Dev and Prod solutions have a Power BI workbook and a SQL Server database. However, we can also see there are differences between the two solutions.
For example, when the Power BI solution item is expanded, we can see the names of the solution items are different. As we continue to expand items, we see different file names for the workbooks.
These differences might be expected, and we only want to worry about the content of these files. We can scope our comparison to these files using the Starting Point selectors, enabling a like-for-like comparison. We can pick the files we want to compare by clicking one of the Change Start Point buttons. Doing so enables comparison of any two nodes in trees.
Selecting a New Starting Point
Anatomy of the Comparison View
Let’s look at everything on this page. There are the Change Start Point buttons that open a drawer to pick the starting node. Between the left and right Change Start Point buttons, we have a set of four filter options, all selected by default. The filter buttons allow us to expand or restrict what we view. For example, if we know there are things in one database but not the other, and we want to streamline our search, we could click the left or right only buttons, and anything exclusive to that side is removed.
Below the Change Start Point buttons we will find the solution controls, which we can use to select which solutions we want to compare.
Finally, we have the comparison itself. The left column shows the tree we’re looking at, with an icon to illustrate its type. The right column indicates whether the item is equal, not equal, or only on the left or right side, represented with the same icons as above. Then, we have the name of the right solution node.
Using Filters to Limit Objects for Comparison
Once the starting points have been selected, we can clearly see the comparison. The production environment side is highly filtered, with the queries removed from it. However, the pages remain, and we can see they match. This helps us understand what parts of the two solutions are the same and different.
We excluded documentation from the comparison earlier because it would slow us down via information overload, but at any point we can click an item to view the documentation comparison (as shown in the screenshot below), enabling us to see the changes made.
Comparing the Documentation for Two Items
Compare and Collaborate
Once we have completed the solution comparison, we can continue our analysis to discover mismatches and incompatibilities. A great next step is to send this information to a co-worker since everything is stored in the browser itself. These links let you pass on what you know quickly to a teammate sitting anywhere in the world without having to walk through the steps.
Want to try out the new comparison functionality for yourself? In the SentryOne Document online demo, you can check out a comparison of an AdventureWorks database in a QA environment versus the same database in a production environment. You’ll find some differences in database settings, as well as some changes that have been made on production that don’t exist in QA under Tables and Plan Guides.
When you’re managing your database environment, you need to know how it differs and how your solutions are evolving. The document comparison functionality is available in the 2020.24 release or newer, as is the new Data Dictionary Search functionality. With the latest additions, we have added many of the most important features of DOC xPress to SentryOne Document, with more to come.
Sean Totterdell is a Senior Software Development Engineer at SentryOne, working with SentryOne Document, a cloud and software database documentation and data lineage analysis solution. Sean's development work focuses on using React and C# to improve the solution to more intuitively map your data sources. He hopes to share some of the experience he has gained in taking complex processes and breaking them down into understandable chunks.