For quite some time, developers have been using source code repositories. These repositories have provided a history of changes, facilitated team development, offered a mechanism to explore "what if?" scenarios, plus so many other benefits. Conversely, updates and modifications to database design and data have not experienced the same degree of benefit. I recently reviewed the DBmaestro suite of products that are focused on bringing database change management out of the dark ages and into the state by which program code is managed.
Referring to themselves as "DevOps for Database", DBmaestro is offering a fourth generation product (version 4.8 at the time of this review) with version 5.0 to be released soon. Their products are centered on supporting Microsoft SQL Server and Oracle databases.
The DBmaestro team introduced TeamWork, their flagship product, in 2008 as their initial offering to provide continuous integration for the database. They are a private company, based in Houston (TX), with a customer base including Aetna, Cricket, Nextera Energy, TravelClick, and Xerox — to name a few.
Features and Benefits
DBmaestro provides three licensing plans (Standard, Professional, and Enterprise), all of which provide the following features:
Enforced source control — Once installed, DBmaestro does not allow database changes to occur without using their tool. This includes execution of SQL commands at a console prompt.
Impact analysis and build engine — Provides the ability to deploy changes housed in DBmaestro and (just as importantly) analyzes the impact of the changes being deployed.
IDE integration — Database updates are performed using plug-ins to Microsoft VisualStudio or Oracle SQLDeveloper.
DBmaestro also integrates with Atlassian JIRA, IBM ClearQuest and Rational Team Concert, Perforce, and Microsoft Team Foundation Server — allowing database changes to be tracked against a ticket in the respective system.
The Professional version adds features for reporting, API and command-line interface execution, and task management integration. The Enterprise licensing level grants custom task management integration, continuous delivery builder, TeamWork authorization manager, and enhanced authentication.
In the product demo that I received, changes from two different branches were merged into an integration environment — handling both database design changes and managed data (or managed content) changes. As part of the example, I watched as conflicts were introduced and resolved, which seemed on par with similar conflicts in a standard team development situation. The changes were integrated using Jenkins, but I was told that alternative products (like Atlassian Bamboo) would have worked as well.
Their tool also has some intelligence, as part of their Impact Analysis component. Consider the example where an index was added directly to the Production database, to resolve performance issues not found during the development phase. By default, DBmaestro would alert the build process that a difference in Production exists which does not exist in the code being pushed into Production. As a result, the database index would not be lost, saving the performance issue from unexpectedly returning.
Challenges and Competitors
The biggest challenge that DBmaestro faces is that they are playing in a relatively new space. At the time of this article, it appears that research firms, like Gartner and Forrester, do not maintain analysis for database-focused source control systems. As a result, public awareness of their product will likely continue to be a challenge, until their marketing efforts penetrate the market.
Another challenge is the lack of support for other database providers. Currently, support exists for Microsoft SQL Server and Oracle. Hopefully, support IBM DB2,PostgreSQL and MySQL will arrive soon. I also wonder if there is a need to support databases like MongoDB, Apache Cassandra, and Redis as well.
From a competitor perspective, there really doesn't appear to be an equal competitor. At least, not yet. The RedGate product suite is probably the closest competitor, but they don't appear to go as deep as the DBmaestro suite.
DBmaestro has dedicated their efforts toward filling the void of source control at the database level. Their products are focused at being the best of breed for the database vendors they support. While I wish they offered support for more databases than Oracle and Microsoft SQL Server (hint: PostgreSQL), I understand their decision to start with two of the market leaders and possibly expand from there.
I wasn't able to obtain pricing information regarding the different licensing plans offered, except to note that at least five licenses are required for an initial purchase. When asked for a price range, they were hesitant to provide the requested information, indicating the range could be confusing based upon their three licensing plans and alternative price structure for ISV's, non-profit and education organizations.
If you are looking to fill the void that DBmaestro provides, I would certainly recommend a Free Trial of their product suite. After all, hasn't your (SQL Server or Oracle) databases waited far too long to have a strong source control system in place to control the continual updates?
Have a really great day!