VoltDB Adds Geospatial Support, Cross-Site Replication
VoltDB, an in-memory database system, is expanding its reach.
The newly-released version 6 of the analytical database comes with geospatial support and a host of other goodies to aid what VoltDB Inc. calls its software’s “fast data” approach. VoltDB combines streaming analytics with transaction processing in a single, horizontal scale-out platform.
The new release adds
- Geospatial query support;
- Improved data ingestion and export connections;
- Cross data center “active/active” replication;
- The VoltDB Management Center, including enhancements to cluster administration, workload balancing and monitoring.
Geospatial support provides “a whole new dimension to the kinds of things you can do. You can personalize experiences” and more, according to VoltDB Chief Marketing Officer Peter Vescuso.
VoltDB v.6 now supports two new datatypes — GEOGRAPHY and GEOGRAPHY_POINT — to represent polygons and points to deal with polygons, a set of latitude/longitude points that define an area such as a shopping mall or sports arena, VoltDB’s John Piekos explained in a blog post.
It also provides the ability to query on the relationships between them, through added geospatial column functions, including CONTAINS, DISTANCE, and AREA among others.
An application, for instance, could direct taxi drivers to the location of events where they’d find large numbers of potential customers. Piekos provides an example of an SQL query that would give a count of attendees within the vicinity of each public venue.
Customers such as HPE, OpenNet, Nokia, who have some of the most demanding environments in the world, also have a lot of demands around durability, Vescuso said.
“We’ve recently completed a set of features around what we call cross-data-center replication. It means you can have separate instances of the database, you can make local transactions and commitments with a mobile application where it’s based on an East Coast and West Coast operations. Say you’re Verizon and you have an East Coast customer who travels to San Francisco, that customer needs to see really rapid and interactive performance or the customer is going to be unhappy. One way to achieve that is to have different databases distributed so you can provide performance locally,” he said.
“Cross-data-center replication lets you separate the databases, maintain them, keep them in sync and realize the performance benefits and/or you could use that capability for disaster recovery,” Vescuso said.
In explaining “active/active” replication, VoltDB software engineer John Hugg said one of the biggest things VoltDB’s telco customers want is to be able to make writes to a local data center.
“If they have Volt running in a data center close to them and Volt running in a data center close to other customers, we now make it our job to synchronize that data. We do that in concert with the application developer. Moving to an ‘active/active’ world, we need synchronous, not asynchronous replication. There’s the possibility for an application to overwrite the same data in two places. So we give developers tools to try to avoid that and to mitigate that if it happens,” he said.
“There’s a lot of systems out there that try to do this in the NoSQL space. One of the advantages Volt has is it’s fully transactional, fully serializable ACID on an individual data center. We will only replicate committed transactions. So there’s some availability to do some checks and have that business logic in your cross-data-center logic. It will only get replicated if you continue with that business logic. It’s certainly more work to build an active/active application on Volt, but we believe it’s easier than building an active/active application on most other systems.”
The new version also includes a direct integration to Kafka, big data streaming software, so developers can import data directly, do transactions on it and export it at the same rate through a direct integration with Elasticsearch.
Making applications faster, smarter
VoltDB enables a type of next-gen application, ones that can tap into and monetize live streaming data. Applications inherit a lot of the robustness of the platform, the fault-tolerance, that developers otherwise would have to figure out for themselves, says Vescuso.
“Everyone talks about big data. We’re focused on fast data — live streaming data, the front end” and providing an application-development platform for fast data, he said.
“We’ve been building up the capability in VoltDB to handle very high-volume, high-velocity data. Ingest it rapidly, process it — that’s the kind of smart decision-making we’re talking about on that data — and eventually, export it to a downstream, long-term data store.”
VoltDB’s customers, which include HP, Nokia, Aipush, and others, use VoltDB to determine when to make in-game offers to MMPG (massively multiplayer playing game) players; when and to whom to serve the right ad; and for utilities to make decisions at millisecond speed on electric-grid supply allocation and pricing.
Vescuso says its customer Emagine International, which provides a mobile marketing platform, has a response time with VoltDB of the milliseconds while the blink of an eye is hundreds of milliseconds.
“We make applications faster, we make them smarter in terms of what they can do in real time, and they’re simpler, because they’re leveraging the platform beneath VoltDB, which is a consistent, transactional, operational database, which is a whole bunch of distributed data infrastructure that developers can rely on without having to build their own,” Vescuso said.
It promises to simply the infrastructure for developers, who may be cobbling together open source infrastructure to support their applications.
“VoltDB operates at scale with features of a much slower, smaller database,” said Hugg.
“If you’re used to the consistency of an Oracle or Postgres, those don’t scale to the level you’re looking for. People often turn to streaming systems, NoSQL systems, sharding systems. Perhaps they’re combining Storm with Cassandra with Kafka. It could be Spark and Redis. In many of those cases, those applications can be built on just VoltDB. And it’s designed to be very simple to manage.”
A plethora of new databases are cropping up such as CockroachDB, Riak KV, Splice Machine and Aerospike with features such as geospatial features, graph support and more. Antony Falco, CEO and co-founder of Orchestrate, told The New Stack there’s probably 35 to 40 databases in production that didn’t exist 10 years ago. They’re being used to detect fraud, break up organized crime and in ways unimaginable just a few years ago.
Analyst Tim Crawford said that while he has not dug into these new databases, in detail, it seems more are popping up that are designed for a specific purpose.
“This could serve well for those applications leading to [a specific] vertical. It may also signal the deceleration — not demise — of the ‘general purpose’ DB,” he said.
HPE is a sponsor of The New Stack.