Posts in VoltDB Products 

Using Node.js with VoltDB

We recently released the first supported version of a VoltDB client driver for Node.js applications. It was able to execute over 695K transactions per second. Since then we have been working on building a better driver and sought out help from the Node community and made a series of improvements.

Today I’m going to write about how to access VoltDB from a Node application. A sample application is included with the driver, the latest version of which can be downloaded from http://www.voltdb.com/tao-volt/downloads-home.php.

The integration process is short and straightforward. All VoltDB applications have a set of stored procedures that are … Read more

 

695k TPS with Node.js and VoltDB

Hi, I’m Henning Diedrich, co-founder and CEO of Eonblast, Inc. I’m a guest contributor to VoltDB’s blog.

In February I was contacted by VoltDB about conducting a benchmarking project.  The company had recently released an updated version of a Node.js client driver that had originally been authored by Jacob Wright, one of VoltDB’s community members.  When I began looking into Node.js, it became clear that its architecture and scaling goals are quite well aligned with VoltDB’s, so I was intrigued by the idea of running a benchmark to see what the combined technologies could produce.  Like all languages and libraries, … Read more

 

Announcing VoltDB Version 2.5

I’m very happy to announce the release of VoltDB 2.5.  Consistent with prior releases, 2.5 includes one major new feature, Database Replication, combined with other significant work in and around the VoltDB core engine.  I’d summarize our 2.5 engineering investments as follows:

  • Database Replication.  As I’d previously described here, Database Replication is the headline feature of 2.5 (until recently, we referred to the feature as WAN replication).  It allows VoltDB databases to be automatically replicated within and across data centers.  Available in the VoltDB Enterprise Edition, Database Replication ensures that every database transaction applied to a VoltDB database is
  • Read more

 

Integrating VoltDB with the Spring Framework

I’ve been writing Spring applications for a few years now and I’ve always been struck by the framework’s flexibility. A developer can write a web application in several distinct ways there is no discernible difference from an end user’s perspective.  Freeing the developer from strict implementation processes and design patterns greatly expands the choices a developer can make, such that the developer can write an implementation that fits the specifics of just one application and then take a completely different approach that is more suitable for another application.

Integrating external services, such as databases, file systems, third-party remote invocation services … Read more

 

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
  • Read more

 

VoltDB WAN Replication – Pre-release Users Invited

The subject of my last blog post was an introduction to VoltDB Replication, one of the major product additions that we’ve been working on.  Well, with this post, I’m happy to announce that we’ve recently pre-released VoltDB Replication to selected users to perform beta-level validation!

VoltDB WAN replication involves duplicating the contents of one database cluster (known as the master) to another database cluster (known as the replica). The process of retrieving completed transactions from the master and applying them to the replica is managed by a separate process called the Disaster Recovery (DR) agent.

The DR agent is critical … Read more

 

Intro to WAN Replication in VoltDB

This is the first in a series of posts about WAN replication, a VoltDB feature that’s currently under development.  It provides a high level overview of our direction.  More detailed posts will follow as we progress through our engineering iterations.

As an in-memory transactional DBMS, VoltDB delivers breakthrough performance and scale.  Two of the product’s most significant innovations, however, are in database availability and durability:

  • Availability – VoltDB delivers high availability (HA) via a synchronous multi-master feature called K-safety.  When a database is running “K-safe”, multiple (two or more) node replicas are kept transactionally consistent.  If one of those nodes
  • Read more

 

VoltDB 2.0 Features Summary

VoltDB 2.0 was released last week and I wanted to take this opportunity to summarize the important new features, including enhancements for database durability and recovery; key performance and interoperability improvements; and many enhancements geared at helping developers use VoltDB productively. Here are the details:

  • Durability and recovery.  Version 2.0 introduces a new feature called Command Logging that allows VoltDB databases to be fully recoverable in the face of severe failures caused by hardware and software crashes.  Available in VoltDB Enterprise Edition, Command Logging ensures that every transaction applied to a VoltDB database is separately logged to disk.  Following a
  • Read more

 

A Peek Inside VoltDB’s VARBINARY Sausage Factory

VoltDB users are pretty passionate, especially when it comes to things they want us to implement.  For example, we got a lot of feedback from early users indicating the need for VoltDB to natively support variable length binary objects.  Some of those apps were looking to use VoltDB as a K/V store (not as insane as it might sound); some for hybrid K/V workloads; some just needed a general purpose solution for storing custom data structures in VoltDB.

We initially handled VARBINARY use cases by base64-encoding data, then storing it in VARCHAR fields in the database.  That workaround satisfied some … Read more

 

VoltDB Command Logging Replay

In the previous blog post (http://newblog.voltdb.com/intro-voltdb-command-logging), Ariel Weisberg described how VoltDB’s command logging feature works. He also briefly mentioned how we replay command logs during the recovery process. In this post, I am going to focus on the replay process and discuss how VoltDB recovers from catastrophic events.<--break->

Goals of Command Logging Replay

The goals of command logging replay are pretty simple:

  1. Ensure that the recovered database is 100% accurate to the last usable transaction in the command log
  2. Complete the recovery process in the shortest possible time

Command logging obviously adds important new functionality to VoltDB’s infrastructure.  … Read more