VoltDB – the new-age database outfit founded by industry high priest Mike Stonebraker – has unveiled version 2.0 of its flagship distributed database, offering new logging tools designed to protect users from catastrophic system failures.
The new version also offers a browser-based tool meant to facilitate the development of VoltDB-based applications, and the company says it has boosted the speed of complex queries.
As a professor at the University of California, Berkeley, Stonebraker was the main architect of the Ingres and Postgres relational databases, and with VoltDB he has applied the relational concept to a distributed-database platform. Whereas "NoSQL" databases such as MongoDB, CouchDB, and HBase tackle web-size problems by eschewing the relational model in favor of simpler transactional semantics, VoltDB seeks the same epic scale without dropping the SQL bit.
His "NewSQL" database retains the traditional ACID (atomicity, consistency, isolation, durability) properties that guarantee database transactions. "At least for new [online transaction processing] applications, giving up ACID and giving up SQL is a terrible idea. You don't have to give up either of those. You can go fast without giving up either. If you give up ACID, you end up pushing data consistency into the application logic and that's just way harder to do," Stonebraker has told The Reg.
VoltDB distributes databases across server clusters but keeps them in memory. The critics point out that this requires far more servers than a NoSQL setup, while VoltDB boasts that the platform is capable of millions of transactions per second. According to vice president of marketing Fred Holahan, the database is not meant to be the only database engine inside your data center. It's designed specifically for "high-velocity" data – e.g., new, unstructured data from the web.
Version 2.0 of the platform offers "command logging", storing database snapshots and logs on disks. Holahan tells us this is accomplished with a "minimal" impact on database throughput. In essence, it logs commands – stored procedure invocations – rather than the data itself. "We take a snapshot of the database and put that on disk, and then we capture each command as it's being applied to the database and put those on disk as well," Holahan says. "If the system crashes before the next snapshop finishes, we've got the previous snapshot plus everything that has happened since then."
Separately, the new version optimizes distributed queries in an effort to improve the performance of real-time analytics and multi-partition queries, and there are several new tools for developers. These include VoltDB Studio, a browser-based tool that's meant to operate alongside an integrated development environment (IDE) such as Eclipse. According to Holahan, it lets you track memory utilization, transaction latency, throughput, and other performance data. This is separate from the existing VoltDB Enterprise Manager, which is more of an admin tool.
The company offers two incarnations of VoltDB 2.0: an open source version (licensed under the GPL3) and a for-pay version that includes additional proprietary software. Command logging, for instance, is only available with an enterprise license. Pricing for the enterprise version starts at $15,000 per year for a four-node cluster. ®