Q&A from My Talk at the Hamburg Javascript Meet-up

written by Henning Diedrich on June 22, 2012 with no comments

On June 18 I gave a talk to the Javascript meet-up group in Hamburg, Germany.  It was a very enjoyable evening.   I’d like to thank Martin Kleppe for organizing the event, and the meet-up group members for investing an evening to learn more about Node.js and VoltDB.

The group asked some interesting questions during the Q&A part of my talk and in the additional discussions afterward.  Below are some of the questions I remember, along with written responses.

Q: What are the primary differences between VoltDB Community Edition (open source license) and Enterprise Edition (commercial license)?
A: Aside from the obvious differences in the licenses themselves, Community Edition contains all of the core database functionality of VoltDB, while Enterprise Edition extends that core to include additional features:

  • VoltDB Enterprise Manager console for database provisioning, management and monitoring
  • A REST API for integrating VoltDB with external management/monitoring consoles
  • Command Logging for crash recovery (Community Edition does include snapshotting)
  • Database replication for workload optimization and disaster recovery
  • Built-in Hadoop integration
Q: Does it make sense for a start-up to use VoltDB?
A: Absolutely!  VoltDB let’s start-ups deliver super-fast applications, very economically, even when end user communities are small.  And it’s very easy to scale VoltDB-based apps as a community grows and demands new functionality.  VoltDB also runs very well in the cloud (as the Node.js benchmark numbers show), so start-up infrastructure costs can also be managed closely.
Q: How would other RDBMS products perform on the benchmark application you did for Node.js/VoltDB?
A: I have not tried to run the benchmark application on other products but from what I know, in general, I believe the results would not come close to the results I got with VoltDB. Where they get close with a small number of clients, you are generally losing the ability to scale for that speed – which you keep with VoltDB.
Q: What would be the reasons to use VoltDB over Redis for a case where scaling is sure to never happen?
A: The primary justifications for using VoltDB in the scenario you pose are:

  • VoltDB gives you the flexibility and productivity of a relational DBMS.
  • VoltDB provides high availability.
  • VoltDB provides crash recovery and durability across data centers.
  • VoltDB comes with top-notch technical support provided directly by the people who build it.
Q: What am I (Henning) doing with Erlang and how does that compare with the work that was done with Node.js?
A: I am using Erlang because I need hosts in a cluster to communicate among each other.  Node is not necessarily made for that but excells in sharded architectures where hosts do not talk much to each other and work independently of each other.  I believe that VoltDB can add to Node.js the very advantage that I like about Erlang. Because it is so fast and so scalable, Volt can serve as common state holder for Node forks that need to share state. And by this, VoltDB makes Node much more interesting for me.I’m also the author and maintainer of the Erlvolt (Erlang + VoltDB) client driver.  Although the driver has been around for a while as synchronous edition, I’ve been doing some pretty extensive work on it recently to make it asynchronous.  When I’m done, I may go for a benchmark of that driver as well.  Stay tuned ;)

I hope the group found the evening informative, and invite all who attended to read the VoltDB Tech Overview white paper, download one of VoltDB’s doc books, and take the Volt software for a test drive (both commercial and open source versions are available here).