4

VoltDB's web site shows that the community edition supports full ACID (which includes the D for durability) but it doesn't look like it supports the crash recovery which seems related to the command logging. Is there a different in the 'D' part of durability between the community edition and the commercial versions? If the machine goes down are all data lost?

Brennan Cheung
  • 4,271
  • 4
  • 30
  • 29

1 Answers1

13

Both VoltDB distributions - Community Edition and Enterprise Edition - support durability through database snapshots, which can be executed ad hoc, at admin-defined frequencies or continuously. Snapshots are written to permanent storage. Database recovery (durability) is achieved by restoring from snapshots.

VoltDB Enterprise Edition also includes a feature called Command Logging, which provides durability for transactions that occur in the (typically brief) intervals between snapshots. Command Logging can be configured to run synchronously (100% durability guarantee) or asynchronously (less of an impact on transaction latencies at the cost of losing some transactions during a crash). If asynchronous logging is used, the fsync window can be configured to balance latency and durability objectives.

In summary, both distributions of VoltDB support durability via snapshotting, and Enterprise Edition provides additional durability via Command Logging.

It should be noted that both distributions of VoltDB also include built-in high availability via a synchronous multi-master feature called k-safety. You can maintain as many "masters" of each database node as you wish, and VoltDB will transparently (and synchronously) apply transactions to all appropriate nodes. If one node crashes, its peer(s) simply continue to accept/process work. This "Tandem-style" fault tolerance significantly reduces the likelihood of experiencing an outage that requires database recovery.

Read more about VoltDB snapshots: http://community.voltdb.com/docs/UsingVoltDB/SaveSnapshotAuto

Read more about VoltDB command logging: http://community.voltdb.com/docs/UsingVoltDB/ChapCmdLog

fholahan
  • 146
  • 1
  • 2
  • 2
    Seems like this has changed now you can not use snapshots with community edition. – Jack Daniel's Apr 04 '14 at 01:58
  • @JackDaniel's This is pretty ridiculous. Why would such an important feature be missing from the community edition? I thought the community edition was supposed to allow for similar functionality with the exception of the enterprise manager. – laughing_man Sep 03 '14 at 20:41
  • @laughing_man Sadly it is, BTW K-safety is also not supported in community version. I wonder how useful clustering would be without fault tolerance – Jack Daniel's Sep 04 '14 at 06:56