Lack of consistency is the hobgoblin of data management (and other survey results)
We did a survey last year to see how enterprises viewed the need for “real time”
(see https://www.voltdb.com/blog/worlds-apart-real-time-data-disconnect). Since we are leaders in the fast data space, we wanted to try to gauge where companies were on the real-time maturity curve. The results were interesting, which motivated us to do another survey – this time on data consistency, one of our favorite topics.
Our new survey – conducted with the help of independent panel research firm Research Now – was designed to get a better sense of what data ‘consistency’ means across a broad technical audience, in vertical industries where we suspected true transactionality is valued.
One of the keys to consistent data is strict ACID compliance. ACID has different levels, so just saying you are “ACID” doesn’t tell you everything — you need to know what level is guaranteed for each of the ACID components (Atomicity, Consistency, Isolation, Durability).
ACID compliance is very important when you’re working with transactional, operational applications, such as counting (finance), ensuring balances are correct (finance, telco, ad tech), personalizing customer interactions and offers (telco, finance, ad tech, gaming) and generally keeping track of the status of things and responding to anomalous behaviors (IoT sensor management, finance).
However, when people talk about transactions, they often misuse the term ‘transaction’ to represent an event as simple as a query response or a database lookup. But these events are not true transactions.
According to Wikipedia, a transaction, from a data management perspective, symbolizes a unit of work performed within a database management system (or similar system) against a database, and treated in a coherent and reliable way independent of other transactions. A transaction generally represents any change in a database. So a simple read/data look-up is not a transaction. But looking up a mobile subscriber’s balance to see if a call should go through, authorizing the call, and then adjusting the subscriber’s balance accordingly is.
VoltDB is fully ACID compliant, to some of the strictest levels possible; we’ve written about it here and here. Our customers are leaders in telco and finance, ad tech and gaming; see John Piekos’ recent post on transactions to get an idea of how VoltDB is used to ensure data is consistent transactionally for our users.
Our customers come to VoltDB for a transactionally-consistent database. So it was really interesting to see the survey results:
- Only half of organizations surveyed (53 percent) believe the most important part of their operational business applications is that they use immediately consistent and accurate data.
- Still, businesses acknowledged that applying inconsistent data to business analytics risks serious customer service and satisfaction issues (62 percent), negative impact on the brand (53 percent) and financial loss (47 percent).
- Respondents reported that unreliable customer transaction data would both impact future customer interactions (51 percent) and could negatively impact customer retention altogether (36 percent).
- Nearly 75 percent of respondents said data consistency is the top priority over speed/time to market (21 percent) for their organization – despite 45 percent saying they would move forward with a design approach that could not guarantee consistent results to accelerate time to market.
- Although 43 percent of respondents said their operations are dependent on reliable transactions and consistent data all of the time, only seven percent of operations are actually conducted with consistent and accurate data all of the time.
- While 95 percent of respondents said they are taking action to ensure data consistency and accuracy, 64 percent say they rely on the application developer to do so – leaving room for human error.
It’s clear from these results that there is a widespread misunderstanding of what ACID means, what benefit consistency provides, and what the term ‘transaction’ really means. A true transaction is a grouping of operations as a single unit of work that allows a data management platform to remain accurate, meaningful, and reliable despite all its users doing all sorts of bizarre things to the data, all at the same time. It is the reliability component that is often overlooked, but in a world of real-time interactions, enterprises cannot afford ‘eventual consistency;’ they need data that is fast, but also delivers consistent results time and again. True transactions are critical for consistency.
Take a look at the press release that describes the survey, or check out our infographic that details the results. We’d love to hear what you think, and how you’re relying on VoltDB to ensure your data is consistent and correct.