New and Improved Node.js Driver for VoltDB

On June 14, 2011, Jacob Wright (Twitter: @jac_) published a pure Javascript Node.js driver for VoltDB. It is a great driver and it does just about everything a developer could ask for. It is pure Javascript so it runs everywhere and is written asynchronously so it follows the best practices of Node as well as those of VoltDB, which performs best when queries run asynchronously.

VoltDB is evolving constantly and we have just released a our own version of the Nodejs-VoltDB driver based upon Jacob’s excellent work.

Some of the new features include:

  • Cluster support – the client can connect to all VoltDB servers and round-robin queries across the cluster, yielding faster performance.
  • Connection failover – if a VoltDB server goes down then the client invalidates the connection and routes new queries to working connections.
  • New client interface providing an easier way to connect to and query from VoltDB.
  • Query conversation management that will allow read operations when they would normally be blocked by looping query requests.
  • Supported by VoltDB.

We’re writing code and unit tests, with the goal of elevating the Node driver to be on par with our Java and C++ drivers. We’re also building some throughput and scaling tests, so stay tuned for more performance info as that data becomes available.

What’s the Fit Between Node and VoltDB?

As I mentioned above, both Node and VoltDB are optimized to support asynchronous, event-driven apps. VoltDB can deliver pretty amazing throughput and scale, particularly when driven asynchronously (read a bit more about Volt’s throughput and scale here). It also supports ACID transactions. So Node developers should consider using VoltDB for any performance-sensitive app, particularly when data consistency is also a priority.

You can get the new Node driver for VoltDB on here. So take it for a test drive and give us your feedback.

by Andrew Wilson