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?
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With