Intelligent Decisions | VoltDB
page-template-default,page,page-id-13581,page-child,parent-pageid-6706,mkd-core-1.0,highrise-ver-1.0,,mkd-smooth-page-transitions,mkd-ajax,mkd-grid-1300,mkd-blog-installed,mkd-header-standard,mkd-sticky-header-on-scroll-up,mkd-default-mobile-header,mkd-sticky-up-mobile-header,mkd-dropdown-slide-from-bottom,mkd-dark-header,mkd-header-style-on-scroll,mkd-full-width-wide-menu,mkd-header-standard-in-grid-shadow-disable,mkd-search-dropdown,wpb-js-composer js-comp-ver-6.0.5,vc_responsive

Intelligent Decisions

VoltDB / Product  / VoltDB Architecture – How It Works / Intelligent Decisions

Intelligent Decisions

Lightening fast SQL transactions — analytics & machine learning built-in

VoltDB is not just all brawn, it also comes with the best brains on the market today! Most DBMS on the market today are one trick ponies; you invariably have to compromise on either speed / throughput, latency / ACID transactionality, OLTP / OLAP, SQL / Key Value functionality, high availability, disk persistence, or other features that are must have for modern web scale apps.

VoltDB was purpose built to offer the best of both worlds: blazing fast in-memory OLTP and built-in analytics on streaming data.

Data lakes and historical BI are soon to be relics of a distant era. Today’s digital enterprises demand in-event analytics, “near real-time” is just not acceptable in most use cases such as: fraud detection, telecommunications billing and operations, customer value management, eCommerce / gaming offer management, and more. Business opportunities can be lost in the blink of an eye.

In addition to these modern DBMS essentials, next-generation apps now require comprehensive logic built-in to take decisions in-event. Real-time decisioning requires a DBMS to deploy complex Machine Learning (ML) models built by data scientists in languages such as PMML and translate them into Java; so that they can be operationalized.

VoltDB is the only DBMS that can provide all of this functionality out-of-the-box at a speed and scale that no other DBMS can even come close to matching. Here’s what makes VoltDB the perfect choice for real-time apps:

SQL still remains the most widely used and comprehensive relational database query language in the world today. VoltDB is at it’s core a SQL relational database that supports a subset of ANSI SQL-99. However, if you have a app with a data pattern that best fits in a Key / Value store, VoltDB also has K/V functionality built-in. So you never have to worry about your data pattern evolving in the future, we have you covered.

Here are some of the benefits of using SQL:

  • Easy to use – With SQL, you don’t have to write any code to set-up and manage the database. Additionally, SQL DBAs and developers are a lot easier to find than NoSQL developers.
  • Interactive – Communicating with the database is fast and easy. Basic and complex analytical queries can be answered in milliseconds.
  • Scalable – Unlike traditional SQL relational DBMS; VoltDB scales linearly on low cost commodity hardware. It’s shared-nothing, cluster-native, cloud-friendly architecture also enables it to scale seamlessly in the cloud.

Learn more about why you should consider SQL in your data processing tool set.

VoltDB offers real-time analytics inside transactions: all the contextual information needed to drive an action on an event is first collected, then built-in analytics and machine learning models are utilized to make instant intelligent decisions, the decision made is recorded in state and stored in a data warehouse or data lake for historical analysis and to continuously train the Machine Learning model. Here are some of VoltDB’s built-in analytical features:

  • Materialized views – VoltDB computes aggregates on an evolving dataset. Materialized views offer pre-aggregated values whenever the base data changes resulting in fast real-time queries on complex aggregations.
  • Specialized indexes – It’s no secret that indexing significantly speeds up queries, however in traditional relational databases the benefits of indexing is off set because they tend to slow down write speeds. VoltDB though with its in-memory architecture and partitioning, can write faster into a table with multiple indexes than any other operational database on the market. In addition to ordered and unordered indexes, VoltDB also offers primary key and secondary indexes, along with other indexing features designed to turbo charge queries.
  • Built-in Machine Learning – Machine learning is all the rage. Companies are investing a lot of time and money to employ data scientists to build complex Machine Learning models. These models however are primarily being used to do analysis on historical data, which although important only provides a rear-view understanding of the past business performance. Considerable business value is lost because these models are very rarely implemented in production. In production the complexity of the machine learning models demands hundreds to sometimes thousands of queries that need to run in milliseconds. Most databases just cannot: a) Implement models in-database, b) Run at speeds required to perform analysis in real-time. VoltDB can operationalize complex machine learning models as a stored procedure or any UDF and perform thousands of lookups in milliseconds to provide intelligent decisions in real-time.

Learn more about VoltDB’s analytical capabilities here.

While NoSQL systems compromise on ACID for BASE (“Basically available”), VoltDB prioritizes consistency and offers fully ACID, serializable transactions. The excuse NoSQL vendors usually make for lack of ACID is that it’s “too expensive in terms of performance and availability”. VoltDB since inception has proved that ACID does not have to come at the cost of performance, scale, and availability.

Some DBMS vendors claim to support “100% ACID” but in reality fall far short. Jepsen categorizes “Strict Serializable” as the highest level of consistency. VoltDB is categorized by Jepsen testing to be in the “Strict Serializability” category.

Having 100% ACID compliance enables app developers to bring their app to market much faster; as they do not have to consider various system failures, determine failure resolutions, and write code to detect and resolve failures. Here’s the functionality that ensures that VoltDB in fully ACID compliant:

  • Strict ACID in partitions – A VoltDB partition implements atomic, consistent and isolated semantics for each command. While executing the commands, the program maintains in-memory undo logs so that aborted commands can roll back, this ensures atomicity. Constraints and data types are enforced during command execution to guarantee consistency. Commands run one at a time without overlap, providing serializable isolation. Command logging, i. e. the command queue is written to disk prior to executing the commands to make sure that all data changes are durable.
  • ACID at scale – VoltDB adds multiple partitions to a server (and then multiple servers to a cluster) allowing the system to consume many CPU cores, each running per-partition commands. Each partition runs independently, and provides ACID semantics for the commands processed from its associated command queue.

Lean more about VoltDB’s ACID capabilities here.