Aerospikeによるデータベースベンチマーク
NoSQLデータベースのベンチマークは、潜在的な変数や扱うワークロードが非常に多いため、難しいと思われるかもしれません。
独立系のデータベースベンチマーク会社であるBenchANTは、データベースベンチマークの歴史に関するブログの中で次のように述べています。
「クラウドデータベースのベンチマークにおける最大の課題の1つは、10億近い可能性のある構成オプションの数が信じられないほど多いことです。
合理的な時間で結果を得るためには、この膨大な選択空間を、知識の獲得と経験則に基づく推測によって事前に絞り込む必要があります。」
しかし、あなたがこの記事を読んでいるということは、Aerospikeが競合他社と比べてどのような違いがあるのかということを知りたいのではないでしょうか。
Aerospikeではすべての比較ベンチマークを掲載し、新しいベンチマークが追加されるたびにページを更新しています。
これらは私たちがこれまでに実施したものです。
AWS GravitonとAerospike
これは少し変わっていて、AWS Graviton2クラスタ上で動作するAerospikeをx86クラスタと比較したベンチマークです。
- Aerospikeは、同等のx86クラスタと比較した場合、Graviton2クラスタを使用すると価格パフォーマンスが 63% 優れていることを確認しました。
- Graviton2クラスタは毎秒2,500万のトランザクションを処理したのに対し、x86クラスタは2,110万のトランザクションを処理しました。これは、Graviton クラスターのスループット レートが 18% 向上したことになります。
- Graviton2クラスタの年間コストは27%削減されました。
- 環境面では、Aerospikeは、x86クラスタではなくGraviton2クラスタでワークロードを実行することで、vCPUを一定に保ちながら、二酸化炭素排出量を49%削減したことがAWSによって確認されています。
Aerospikeのトランザクションスループット(百万/秒)
参考:AWS Graviton and Aerospike benchmarking report.
AWS Intel and Aerospike
こちらもやや異なります。
これは、20ノードのAWS Intelクラスター上で実行されるペタバイト規模のデータベースに特化したベンチマークです。
- Aerospike は、読み取り専用操作で 1 秒あたり 500 万を超えるトランザクションを処理しました。
- Aerospike は、80/20 の読み取り/書き込み操作で 370 万 TPS 以上を処理しました。
- 1.5 TB および 50/50 の読み取り/書き込み操作の AdTech キャンペーン データベースの場合、Aerospike は 190,000 TPS 以上を処理しました。
- どちらのベンチマークでも、読み取り操作の遅延は 100% ミリ秒未満、書き込み操作の遅延は99% ミリ秒未満でした。
参考: AWS Intel and Aerospike benchmarking report
Cassandra vs. Aerospike
- Aerospike は、Cassandra の 14 倍の読み取り、および書き込みトランザクションを処理します (毎秒 125,000 トランザクション対 8,900 トランザクション)。
- インサートは 8.2 倍優れていました (329,000 TPS 対 40,000)。
- 読み取りレイテンシは 42 倍向上しました (2.3 ミリ秒対 97.5 ミリ秒)。
- 書き込みレイテンシは 24 倍向上しました (4.0 ミリ秒対 94.0 ミリ秒)。
読み取り/書き込み待ち時間のばらつきの測定値
参考: Cassandra vs. Aerospike benchmarking report 、Comparing Cassandra with Aerospike.
Couchbase vs. Aerospike
- Aerospike は、Couchbase に比べ 毎秒 3.6 倍のトランザクションを処理します (毎秒 410,000 トランザクション対 113,000 トランザクション)。
- 更新レイテンシは 2.9 分の 1低かったものの (0.7 ミリ秒対 2.0 ミリ秒) 、どちらのデータベースもミリ秒未満の優れた読み取りレイテンシを実現しました (どちらの場合も 95 パーセンタイルは 0.5 ミリ秒をはるかに下回りました)。
- Couchbase の非常に高いキャッシュヒット率の要件を満たすには、データサイズを大幅 に(4 倍) 削減する必要がありました。
- これにより、同様の規模のプロジェクトでは 3.6 倍から 14.4 倍のハードウェア コストが必要になります。
初期テストにおけるAerospikeとCouchbaseの読み取りスループットの比較
参考:Couchbase vs. Aerospike benchmarking report.
DynamoDB vs. Aerospike
- テストの読み取り/書き込み比率と 1 秒あたりのトランザクション数に応じて、DynamoDB のレイテンシは Aerospike の場合の 2 倍以上から 15 倍まで大きくなります。
- DynamoDB Accelerator (DAX) を使用すると、DynamoDB のレイテンシは Aerospike を使用した場合よりも 3 倍から 15 倍大きくなりました。
- コストが時間ごとに計算されるか、1 年前に計算されるか、3 年前に計算されるかに応じて、DAX を使用した DynamoDB のコストは Aerospike のコストの 3 倍から 9 倍の範囲でした。
- DAX がなくても、DynamoDB の 3 年間の前払い価格を使用しない限り、DynamoDB のコストは高いという結果になりました。
異なる構成と使用パターンを使用したAerospikeとDynamoDBのベンチマークデータ
注意:DynamoDBとDynamoDB with DAXは、すべてのケースでAerospikeよりもレイテンシの数値が高くなっています
参考:DynamoDB vs. Aerospike benchmarking report.
Redis vs. Aerospike
- Redis の構成方法に応じて、一般的な構成では、同じ数のトランザクションを処理するために 4 倍から 11 倍を超えるサーバーが必要になる場合があります。
- Aerospike と Redis の両方をベンチマークしたあるユーザーは、Aerospike が Redis の 3 倍以上の読み取りを処理したことを発見しました (1 秒あたり 480,000 トランザクション対 133,000 トランザクション)。
- 同じユーザーは、Aerospike が Redis の 3 倍以上の書き込み数 (430,000 TPS 対 130,000) を処理したことも発見しました。
- Redis で 30 テラバイトのデータを管理するには、すべてを管理するために 450 ものノードとスタッフが必要になる可能性があります。
RedisとAerospikeの価格比較
参考:Redis vs. Aerospike benchmarking report and our report comparing Redis with Aerospike.
ScyllaDB vs. Aerospike
- Aerospike は、ScyllaDB の 7.17 倍を超える読み取り/書き込みトランザクションを処理します。
- ScyllaDB では、読み取り/書き込みレイテンシが Aerospike よりも 3.2 倍大きくなりました。
- 挿入スループットは、ScyllaDB よりも Aerospike の方が 7.9 倍速いという結果になりました。
- ScyllaDB の総所有コストは、Aerospike の 7 倍でした。
AerospikeとScyllaDBの70%負荷時の読み取りレイテンシー
参考:ScyllaDB vs. Aerospike benchmarking report.
Aerospike ベンチマークを調べる
ベンチマークが購入決定のすべてではありません。
考慮すべきその他の要素には、総所有コスト (TCO)、使いやすさ、機能、サポートなどがあります。
ベンチマークは考慮すべき要素の 1 つにすぎません。詳しくはこちらのページをご覧ください。
このブログは、2024年2月22日のブログ「Best practices for database benchmarking」の翻訳です。