We get a lot of questions about what Volt Active Data is, what it does well, and how it can help enterprises solve a range of data management challenges. This post will address a few of those questions. We’ll have more posts like this, so check back often.
How does Volt Active Data differ from a typical RDBMS?
Volt Active Data was developed to address two issues common to legacy relational databases:
- Running a legacy database completely in memory did not lead to a drastic ten-fold performance increase, and
- Legacy databases do not scale out horizontally. In order to scale with your application you must buy massive hardware and scale up.
Volt Active Data’s developers solved these issues by:
- Architecting a single-threaded system that eliminated the high costs of concurrency
- Moving logic to the server side, thus placing processing near data
- Using stored procedures to avoid external transaction control
- Persisting data to disk via snapshots and logical logs; and
- Achieving high availability via synchronous replication and deterministic operations.
For more on how Volt Active Data is built – and why we made the architectural choices we did – take a look at Reasons behind the Volt Active Data architecture.
What does a typical use case look like?
Volt Active Data is the perfect database to process streams of data and compute real-time analytics and per-event transactions for high-performance, high-throughput, operational, scalable applications. It combines the power of a relational database, the familiar interactivity and querying of SQL, real-time analytics on live data streams, and the ability to act in real time (perform transactions) on live data flows. Volt Active Data is used by enterprises in telco/mobile, financial services, gaming, ad technology and IoT sensor management for operational, ACID-compliant, request-response style applications. Among the use cases for which Volt Active Data is ideal are:
- Mobile, adtech, gaming: Creating applications that enable hyper-personalized user interactions, e.g., customer loyalty programs that build engagement
- Telco/mobile: In mobile billing and operational systems with sub-50ms latency SLAs
- Financial services: In trade verification and bid-offer management applications for financial services organizations (high-volume broker-trader operations, fraud detection)
- IoT: Sensor data management in electric smart grid and smart home applications.
See more about the use cases we support here.
How does Volt Active Data differ from other NewSQL systems?
NewSQL is a relatively new database category, with offerings that have surface similarities, but notable differences in architecture. Volt Active Data differs from other entrants in four key ways:
- Best support for event processing and taking action on events
- Optimized for complex operational workloads, with a focus on write throughput
- The highest level of ACID compliance: serializable isolation
- Simple operational model
Let’s look at these differentiators in more detail.
- Processing ‘events’ means different things in different NewSQL systems. Some capture inbound events, and aggregate and analyze the data; these systems are skewed towards analytic workloads. Volt Active Data is optimized for mixing many queries, updates and inserts as part of ingesting a single event, for a much richer operational capability. Volt Active Data not only offers fast ingestion and real-time analytics on the inbound stream, but also enables applications to act on events in real time. This brings the benefits of analytical insights to bear on actions, which result in operational outcomes.
- Not only is Volt Active Data optimized for complex operational workloads, it also provides strong consistency and complex transactional support.
- Volt Active Data offers the highest level of ACID compliance – serializable isolation. Volt Active Data will never give a wrong answer. Your data will always be correct. We took (and passed) the Jepsen test to prove it.
- Volt Active Data was designed to solve the problems created by legacy, one-size-fits-all databases. Volt Active Data’s three simple architectural pillars are:
- Volt Active Data uses in-memory storage to maximize throughput, avoiding costly disk access.
- All data access is serialized, resulting in performance gains and avoiding many of the time-consuming functions of traditional databases such as locking, latching, and maintaining transaction logs.
- Clustering and replication across multiple servers results in scalability, reliability, and high availability.
How much data can I store in a Volt Active Data cluster?
The simple answer is the sum of all the memory in your cluster, divided by the replication factor, minus a few gigs of temp space per node.
For a more detailed description, check out the Volt Active Data Planning Guide.
Do you support unstructured data?
Yes. While the relational model has many advantages, there are times when a document/JSON model makes sense.
Volt Active Data offers much of the schema flexibility of a document store, with the additional power of SQL integration. Volt Active Data supports hybrid document-relational schemas, full SQL joins between data in JSON documents, fully consistent secondary indexes of JSON document data, and serializable ACID transactions on JSON documents.
Read more about Volt Active Data and JSON in the blog Querying JSON data in Volt Active Data.
In the next post we’ll examine how Volt Active Data is different from NoSQL databases; how replication works in Volt Active Data; how to use Volt Active Data in the cloud; how Volt Active Data stored procedures are different, and how to partition tables in Volt Active Data. In the meantime, Tweet your questions about how Volt Active Data works to us at @Volt Active Data with the hashtag #questions.