Implement Schema Changes Gracefully – With Zero Downtime

Verb’s managed materialization helps B2B SaaS products update breaking schema changes without taking their customer dashboards offline

Verb’s managed materialization helps B2B SaaS products update breaking schema changes without taking their customer dashboards offline

…………………………………………………………………………………

Imagine your favorite social media app – LinkedIn, Facebook, or Instagram – going down several times a week because of frequent schema changes. Now that would be rather annoying, right?

That’s precisely why schema changes are a nightmare for software development teams. 

In all fairness, product companies that don’t have to be available around the clock can simply turn off the application, take a backup of the schema, implement the necessary changes, and get the application back up and running. Here is an interesting article on the five questions to ask before implementing schema changes.

But that is not something that most B2B SaaS companies can afford to do.

B2B SaaS products thrive on “high availability.” This means that their customers have little or no tolerance for downtime. Decisions need to be made on the fly, and applications/dashboards becoming unavailable or going offline can wreak havoc. 

The situation is further compounded by the fact that schema changes are frequent in SaaS products and vary widely in terms of their complexity. From simply renaming a column to a massive refactoring, schema changes can take anywhere from a few days to 8-10 weeks to recover.

In this blog, we share with you how Verb helps its clients recover from dashboard schema changes with speed, grace, and zero disruption in customers’ data experience.

Let’s take a sneak peek at how Verb makes it work!

…………………………………………………………………………………

#1 Keep a close watch on clients’ schema changes in near real-time

It is said that “luck is where opportunity meets preparation.” At Verb, a big part of our preparation for a seamless recovery strategy is to constantly monitor the schema changes that take place in the client’s back end. We particularly keep an eye out for breaking changes, or changes that are the most relevant to Verb, since those are the hardest to recover from.

#2 Implement the best-fit recovery strategy based on the nature of the schema changes

Changes in the dashboard schema can be of two types – simple, incremental changes, and massive, complex changes.

Our clients can recover directly from the first category, i.e., incremental schema changes and minor tweaks such as:

  • adding, deleting, or renaming columns,
  • merging, splitting, or renaming tables, etc.

Any member of the clients’ team can set in motion the steps to directly recover from simpler, smaller schema changes with just a few clicks. The concerned user is shown the various options to remedy the situation and recover from the schema change.

For example, if a table has been replaced, Verb’s UI shows the tools to swap the elements quickly and implement the change, so that ingestion can be resumed without any hitch as soon as possible. Since this is automated on Verb, no coding or deployment is required, and hence, even non-technical users can initiate it.

Massive, breaking changes, like those where the schema undergoes drastic refactoring for a new release cycle, or when undergoing platform migration, for example, are handled by Verb using managed materialization, as discussed in the next section.

#3 Managed materialization enables graceful recovery from breaking changes

When a breaking change occurs in the schema of one of our clients, the ingestion module is paused, but the analytics and visualization modules continue. The published dashboards continue to be available as is. Error messages that pop up when using other providers like “Failed to connect to database” or “No data to show” do not happen with Verb.

This way, our Managed Materialization ensures that the database object containing the results of a query is available, and hence, our clients and their customers don’t suffer. Application databases change schema often, and if data sources go offline or get changed, analytics and customer dashboards would have to be offline for days or even weeks.

Verb prevents such lapses from occurring. Advanced caching is built into Verb which helps to update the database schema without impacting customer data dashboards. For both backward compatible and backward incompatible operations, Verb tries to adapt to the changes, and at the very least, keeps the dashboards and analytics up and running.

#4 Even non-engineers can implement Verb’s schema recovery with just a few clicks

For software development teams of B2B SaaS companies, making sure that analytics and visualization modules keep up with schema changes is an added, time-consuming chore. Maintaining schema and analytics related to that schema is a substantial development effort.

But with Verb, only the breaking changes need to be dealt with, and that too is possible with just a few clicks. Anyone familiar with the product can implement these changes. Furthermore, our client support team is available 24×7 to make managing schema changes a smooth sail.

Verb is at the forefront of intelligent, end-to-end no-code dashboarding for B2B SaaS companies.

If you want a tour of our newest features get in touch!