インメモリデータベース VoltDBのエディション(OSS/Enterprise)


VoltDBのエディション

インメモリーデータベースVoltDBは、OSSのCommunity版と有償のEnterprise版の2つがあります。
エディションにより、使用できる機能とサポートが変わります。

エディションの比較

Editions
https://www.voltdb.com/product/editions/

なお、以下の表の説明は機能名から私が記載したもので、VoltDB社の公式の説明ではありません。そのため、もしかしたら機能の説明に誤りが含まれているかもしれません。

機能 Open Source / Community Enterprise 説明
ライセンス AGPL Enterprise OSS版があります。
高スループットSQLデータベース タイトルのとおり、高スループットなSQLデータベースを提供する。
In-memory analytics for real-time visibility ※何を指している?
Point-in-time Durability snapshotを使用して、過去の特定時間(Point-in-time)の状態に戻すことができる。ただし、トランザクションレベルでリカバリしたいのであれば、Enterpriseの「コマンドロギングによるトランザクションレベルでの耐久性」が必要。
コモディティサーバへの手動スケールアウト クラスタ構成の際、サーバを追加し手動でスケールアウトできます。スケールアウト時は一旦クラスタを停止させる必要があります。
クラスタ内での高可用性 VoltDBをクラスタ構成で、高可用性の設定を行うとサーバダウンしてもクラスタを維持することができます。
インポートとエクスポート(KafkaやKinesis) Kafka、Kinesis、その他データベースからデータのインポートとエクスポートができます。
VoltDB管理コンソール VoltDB標準のWebコンソールです。コンソールからSQLの実行やサーバの状態を確認することができます。
コマンドロギングによるトランザクションレベルでの耐久性 コマンドロギングを利用することにより、トランザクション処理の結果がログファイルにも出力されます。クラスタが何らかの障害でダウンしたとしても、ログファイルからリカバリすることができます。
ダウンタイムなしでのクラスターのスケールアウト クラスタをダウンすることなく、サーバを追加してスケールアウトすることができます。
DR(Disaster recovery)のためのデータベースレプリケーション 遠隔地に構築したDR用のクラスタにデータベースをレプリケーションできます。
クロスデータセンターレプリケーション 複数のデータセンター間でデータベースをレプリケーションできます。
Enterprise Lab Program (free non production use)**
ノードの最大数 制限なし 制限なし クラスタを構成するノード(サーバ)の最大数
カスタマーサポート StackOverflow, Slack, Basic Basic, Standard*, Enterprise*

*AWSサービスとしても利用可能
**Enterprise Lab Programの非プロダクションサポートは、1カスタマーで5ユーザ

終わりに

一番のポイントはコマンドログによりトランザクションレベルでPoint-in-time Recoveryができるかどうかです。OSS版ではスナップショット機能により特定の時間(30分ごとなど)にバックアップを取得しリカバリできるのみです。
スナップショットでのリカバリで許容でき、DRやクロスデータセンターレプリケーション、カスタマーサポートも不要であればOSS版で機能としては十分かと思います。