Online businesses today are constantly working to deliver a digital experience that not only meets but exceeds customer expectations. This is not easy, as there are many applications, systems and a huge amount of data that come into play. One aspect that is commonly overlooked is actually a key underpinning to delivering a superior customer experience — the database. The truth is that in the digital age, databases have fallen behind in allowing brands to give customers what they expect: fast website response times, the absence of system outages and data that consistently maps to current inventory levels and orders processed.
Why? It is the database that holds vital business and customer information. With millions of simultaneous customers visiting a website through mobile apps and desktop systems, the database is the bottleneck for transaction response times and maintaining data consistency. More importantly, once written to the database, a business transaction should be locked in and never lost, no matter what causes the disruption. But in today’s distributed environments — a key component of businesses going digital — that’s not reality. As more and more businesses — retailers, banks and other organizations — move to the cloud, there exists a gap between what’s ideal and what’s real, putting the customer experience in jeopardy. Let’s explore this further.
Databases Are at Odds with Resiliency
In general, the database industry has been making strides to build resilient systems. Yet legacy mainframes and even newer, more modern database solutions lack the necessary capabilities to support distributed environments — common with today’s private data centers and public cloud platforms, which now rely on multiple availability zones to support the massive scale of transactions companies need to process. Application architectures are not the problem, as they have evolved at a rapid pace to take advantage of these distributed options. In theory, should one of these availability zones erupt in fire or some other disaster, systems should still work — that is, until the database is affected.
First off, legacy transactional databases often employ a centralized architecture. Failover systems are expensive to implement (often requiring specialized hardware and networks) and even then, come with data integrity and availability tradeoffs we don’t want to make. They are also hard to configure and maintain, even within the same datacenter, much less in multi-datacenter scenarios. Moreover, they simply weren’t designed for the cloud. On the flip side, most modern databases make resilience extremely hard — and expensive — to achieve. If you’re a business adopting Cloud, experiencing bottlenecks on the database is not a question of if, but when.
Re-platforming Your Information Systems
New global transactional databases offer hope for addressing the database resilience gap. These systems are designed to operate as globally distributed clusters while offering the same data consistency guarantees of Oracle and the relational database (RDBMS) movement. These modern transactional databases can make the difference between highly dissatisfied customers and the negative impact on your brand vs delighted, loyal customers who will purchase from you again and again.
As you evaluate options for re-platforming your database systems, here are some capabilities you should consider.
Effortless Highly Available Architecture
As stated before, distributed IT environments have become commonplace in today’s business environment. To support this, it’s critical to operate with databases that are built from the ground up for distributed systems. Whether you host the database in your own datacenters, leverage public clouds, or use some hybrid mechanism, you need to employ a database that was designed for dispersion of nodes with ease — and that works with your e-commerce systems effortlessly, without requiring explicit manual work to replicate or partition data, add additional hardware or software, or spend excessive amounts of time on configuration.
If you plan to leverage public cloud options, relying on a multivendor strategy greatly diminishes your disaster risk. Probabilistically speaking, there is a much lower chance that all of your cloud vendors will fail across all their availability zones simultaneously. Picking a database that gives you the option to operate across multiple clouds without any retrofitting to your application or infrastructure is the best approach.
Correctness in the Chaos of the Cloud
All IT environments have inherent chaos, and moving to a distributed environment increases your exposure to that chaos. Individual nodes can go out, daily DevOps procedures can shut down or restart your virtual machines, and other minor disruptions and intermittent noise in the network all have the potential to corrupt the state of your database. As long as the database cluster has a quorum of nodes in operational condition, it must continue to operate with full ACID transaction guarantees, never impacting your applications. In other words, your database must be resilient to chaos.
Easy Distributed Backup and Recovery
The administrative overhead of operating distributed systems often becomes prohibitive in adopting a distributed approach to your data. Therefore, one of the requirements to adopt such a distributed database is to ensure that it is easy to make node backups, and that your node recovery time is within acceptable bounds. More importantly, your database should allow for easy automation of daily tasks using your existing DevOps frameworks.
Digital Businesses Need a Better Database
The database should not be an impediment to operations. It should blend in and it should just work, so you can worry about the more important aspects of running your business and keeping customers happy. For any business that processes financial transactions and captures customer data, upgrading databases to keep up with customer demands and avoid disaster scenarios is no longer a luxury. To thrive in a digital economy and effectively compete in the digital business era, you must transform your systems to withstand unpredictable situations and ensure an optimal customer experience, even when outages occur. Otherwise, you lose not only revenue but also your reputation.
Feature image by Gerd Altmann from Pixabay.