VoltDB was founded in the first decade of this century by Michael Stonebraker and others. The eponymous database the company offers was based originally on H-Store, a research project that emerged in 2007 and which was available as an open source project. By 2012 VoltDB had come to market with a commercial version of the product and the H-Store closed down in 2016.
VoltDB has its headquarters in Bedford, Massachusetts and also has offices in the UK and China. It has a direct sales force but also leverages partners that OEM its technology. While the product is suitable for a wide range of use cases, roughly three quarters of the company’s customers are within the telecommunications sector (Nokia, Vodaphone and Deutsche Telecom are examples), with financial services (Barclays) its second largest user base. There is a Community Edition of the product, which is free to download, as well as an Enterprise Edition. The product is also available via AWS.
Company Info
Headquarters: 209 Burlington Rd #203, Bedford, MA 01730, USA Telephone: (978) 528 4660
VoltDB is a NewSQL database. That is to say, it looks and feels like a relational database, and it provides the ACID compliance and immediate consistency that you would expect from a relational database, but it has a different underlying architecture compared to a traditional relational product, which enables horizontal scalability, high availability and extreme performance.
On a very simplistic level, VoltDB removes all of the baggage that has accreted in relational database systems over the last forty years. In particular, it does not have latching or locking, and it doesn’t need buffer management because it uses modern in-memory processing techniques. These processes alone take up significant amounts (we have heard estimates of over 90%) of processing time in traditional OLTP databases before you even start to do anything else.
Customer Quotes
“VoltDB is the logical choice for a cloud-deployable, transactional database that can flexibly handle high-volume data streams for service providers to monitor and leverage in real time.” Openet
“We conducted a global search and selected VoltDB because we believe it’s the world’s fastest and smartest in-memory database.” Mahindra Comviva
VoltDB uses a shared-nothing architecture to achieve database parallelism, with both data and processing distributed across all the CPU cores within the servers composing a VoltDB cluster. In other words, the product should scale as the number of cores increases, not just by the number of servers. Horizontal partitioning also enables scalability. SQL access is supported via pre-compiled Java stored procedures. The unit of transaction is the stored procedure, which is Java interspersed with SQL. Further, stored procedures are executed in the partition containing the relevant data, which means that it is possible to eliminate round trip messaging between SQL statements, which is another reason for the performance of VoltDB.
Fig 01 VoltDB exporters
More generally, VoltDB leverages in-memory techniques to improve performance, but also supports spill-to-disk capabilities where memory capacity is insufficient. For data that is merely warm or cold, as opposed to hot, VoltDB provides exporters, as can be seen in Figure 1. As can be seen in this diagram, VoltDB supports ingestion from streaming sources (Apache Kafka, Amazon Kinesis plus various message buses) and export to data lakes and other dedicated analytic environments. From the latter, machine learning models may be imported into VoltDB using PMML (predictive modelling mark-up language), where they are treated as stored procedures. While we applaud the support for PMML as an interoperable standard, it is unfortunately true that many machine learning and AI models are not PMML compatible, so we would like to see VoltDB supporting models built by language (R, Python, Scala and so forth).
While on the subject of machine learning and stored procedures, it is also worth noting that some types of analytics have fairly static requirements compared to machine learning, which is typically dynamic. An example, would be compliance with MiFID II. We comment upon this because one of VoltDB’s customers has embedded the Drools rules engine into VoltDB as a stored procedure precisely as a mechanism to enforce compliance with MiFID II.
Finally, VoltDB supports containers and Kubernetes is used for orchestration. Multi-site active/active deployments are available.
There are multiple ways to support hybrid environments that support both transaction processing and analytics with low latency in both cases. Some of these approaches will be more familiar than others and we would argue that familiarity and the ability to use SQL are major benefits. Conversely, you need a distributed architecture to support environments such as the Internet of Things, where a substantial amount of processing is needed at the edge. VoltDB has the advantage of meeting both of these requirements, with ACID compliance, low latency and – likely – lower cost of ownership.
The Bottom Line
For all intents and purposes VoltDB should be thought of as a (distributed) relational database. Making the move to VoltDB, whether as a replacement for an existing system, or for deployment within a greenfield environment, will be a non-disruptive choice that is worth serious consideration.
We use third-party cookies, including Google Analytics, to ensure that we give you the best possible experience on our website.I AcceptNo, thanksRead our Privacy Policy