web-dev-qa-db-ja.com

Aerospikeは他のキーと値のnosqlデータベースとどう違うのですか?

Aerospike は、複雑なオブジェクトをサポートし、スケーリングが容易な、ACIDプロパティを備えたキー値、メモリ内、操作可能なNoSQLデータベースです。しかし、私はすでにまったく同じことをするものを使用しています。

Redis は、キー値のメモリ内(ただしディスクに対して永続的)NoSQLデータベースでもあります。また、さまざまな複雑なオブジェクトもサポートします。しかし、Aerospikeと比較すると、Redisは長い間使用されており、既に活発なコミュニティと多くのプロジェクトが開発されています。

Aerospikeとredisのような他のno-sqlキーバリューデータベースの違いは何ですか?エアロスパイクに適した特定の場所はありますか?.

追伸これらのデータベースの少なくとも1つ(できれば両方)を現実の世界で使用し、実際の生活経験(公式Webサイトからのコピーアンドペーストではありません)を使用した人々からの回答を探しています。

48
Salvador Dali

1つのWordで回答する必要がある場合、その「パフォーマンス」。 Aerospikeのパフォーマンスは、他のclustered-nosqlソリューションよりもはるかに優れています。ノードごとのパフォーマンスが高いということは、TCO(総所有コスト)と保守が少ないクラスターが小さいことを意味します。 Aerospikeは、自動クラスタリング、自動シャーディング、自動リバランス(クラスターの状態が変化した場合)を実行しますが、そのほとんどは他のデータベースでの手動手順が必要です。

そのグループにredisを混在させたくないので、「クラスター化」と言いました(ただし、redisクラスタリングはベータ版です)。 Aerospikeとredisの純粋なメモリ内パフォーマンスは同等です。しかし、Redisはシャーディング、リクエストのリダイレクトなど、アプリケーション層で多くの処理が行われることを期待しています。redisには永続化する方法(スナップショットまたはAOF)がありますが、アドオンのように設計されているため、独自の問題があります。 Aerospikeは、永続性を念頭に置いてネイティブに開発されています。 redisのクラスタリングには、マスタースレーブなどの設定も含まれます。redisとaerospikeの比較と対比を行うこの talk をご覧ください。

47
sunil

私は長年Redisを使用してきましたが、多くの理由でAerospikeをその代わりに使用し始めました。

RedisとAerospikeはどちらも優れたパフォーマンスを発揮しますが、Redisの主な問題は、データをメモリに保存するだけであり、公式にリリースされたクラスタリングソリューションがないことです。データベースのサイズをRAMサーバーのサイズに制限しますが、AerospikeはSSDを使用して速度をまったく損失することなく情報を保存するように構成できます。高い読み取り/書き込みスループット。

Aerospikeは、パフォーマンスに合わせてハードワークなしで拡張でき、また、Redisとは異なり、データを完全に保持し、データ損失を最小限に抑えるように設計されているため、私に最適です。彼らは 素晴らしいビデオ をリリースしました。Aerospikeクラスターのスケーリングと管理がいかに簡単であるか、また、「災害」が発生した場合でも自動的に設定される方法を示しています。

30
Victor Canô

驚くべきことに、最も人気のあるインメモリデータベースの1つであるRedisには、3か月前に自動シャーディングがありませんでした。彼らは最近この機能を追加しました。 Redi 3.0には自動シャーディングがあります。

AS高速再起動機能を使用して自動クラスタリングをサポートします。すべてのインデックスがスループットに追加されることなく保持され、データベースを数分で起動できます(たとえば、50 TBのdbサイズを数分で起動できます) 。)。これらはすべて、市販のハードウェアで実現できます。容量を追加することは、クラスターに新しいノードを追加することに他なりません。最も重要なことは、データセンターおよびクラウド環境全体で機能し、あらゆるローカル環境で機能することです。

オンラインマッチメイキングをサポート(需要と供給の管理)。

No-SQLデータベースは、今日の広告の世界、オンラインショッピングポータル、OLAタクシーなどのロジスティックサービスプロバイダーが必要とする積極的なSLAを満たすために、リアルタイムのユースケースに対処する必要があります5分未満の顧客は<3ミリ秒未満で計算されます)、オンライン入札アプリケーション(<3ミリ秒でAdBidを確定する精度99.7%)、不正検出システムなど、<5ミリ秒(ミリ秒)で悪意のあるユーザーを識別する必要があります。

  • AerospikeはレコードレベルのACIDに準拠しており、ほとんどのNo-SQLデータベースに当てはまります。
  • Aerospikeはクラスター環境向けに設計されており、
  • 水平スケーリング用に構築され、
  • データバランシング(自動/手動)をサポート、
  • 自動シャーディング-アプリケーションレベルまたはエンドユーザーに対して透過的。

Aerospikeは、オープンソースのリアルタイム、非SQLおよびキーバリューストアです。ハードウェア、ネットワーク、SSD、メモリ、カーネルを活用するためにデータベースを作成する方法があるため、Cをゼロから構築します。 SSDは、SSDがHDD(回転ディスクドライブ)上で動作すると同時にストレージデバイスの未来であるため、SSDは8,16 32などを使用するSSDプロバイダーに応じてパラレルチャネルを提供します。に。同じブロックの場所への書き込みと消去が行われると、SSDに消耗が生じます。ブロックの観点から記述するSSDの場合、SSDはブロックストアとしてファイルシステムとして使用されず、リングバッファーとして使用されます。つまり、リングバッファーの開始時に書き込みを行い、次、次、次ドライブの終わり。最後に到達すると、ブロックの最初の場所に戻り、同じ方法で続行します。これにより、最初の場所がほとんどの回数ではなく、同じ時間使用されます。

クラスタリング、または自動クラスタリングと呼びます。ノードを追加し、クラスター内に移動するのは100ミリ秒以内です。 Paxosアルゴリズムを使用して実装されます。

Paxosアルゴリズムとは何ですか?

http://www.quora.com/Distributed-Systems/What-is-a-simple-explanation-of-the-Paxos-algorithm

20バイト160ビットを提供するRIPE160MD##一意であることが保証され、

#は通常の4Kディストリビューションです。

すべてのネームスペースはパーティションツリーを維持し、すべてのネームスペースにはパーティションIDがあり、すべてのパーティションにはbツリーがあります。

ストレージモデル

メモリデータベース内:すべてが効果的に高性能で高コストのDRAMに保存されます。

ディスクストレージ:DRAMに格納されているプラ​​イマリインデックスと2daryインデックス、データはSSDまたはHDDに保存されます。これは、SSDを使用するのが最適ですが、DRAMよりもわずかに遅いが、DRAMよりも少なくとも10倍安いことを意味します。

ハイブリッドストレージ:DRAMに保存されているすべてのもの。データはSSDまたはHDDに保存されました。 SSDまたはHDDの永続性に支えられたDRAMパフォーマンス。パフォーマンスを損なうことなく、DRAMのコストを高めます。

ベンチマーク

4ノード、メモリ内でYCSB(yahooクラウドソースベンチマーク)を使用した160万TPS。

Aerospikeが提供するSSDパフォーマンスの保証:

ACT(Aerospike Complianceテスト):SSDのパフォーマンスをテストするために定義および開発されています。今日では、SSDの標準または認証です。 Intelは、ACTを使用して100万TPSをサポートする世界で唯一のSSDプロバイダーであると述べたブログ投稿を行いました。

Googleクラウドは、Googleコンピューティングエンジンのスループットを表示するためにいくつかの作業を行っています。 Googleは彼らのブログに、Cassandraが生成するのに300ノード、ASが50ノードでそれを行うものを)に投稿しました。

Aerospikeは、リアルタイムの問題を非常に効果的な方法で処理します。

17
Pavan Gupta

Lynn Langitは、AWSクラウド上でさまざまな構成で実行されているAerospikeとRedisの非常に 詳細な直接のベンチマーク をリリースしました。彼女の要約:「TL; DR –規模でAerospikeが勝つ」。

彼女がその結論に達した方法は非常に興味深いです。彼女は、自分のパフォーマンスベンチマークを実行する方法に関する洞察を得たいと考えている他の人のために、彼女がどのように彼女の結果を生み出したかについて段階的な指示を与えます。テストは、SSD永続データベースと同様に、純粋なRAMデータストアとして設定する必要がありました。

彼女の重要な所見:

  • AerospikeはRedisと同程度の速さで、100%の読み取りワークロードで1 MTPSに近いAWS R3.8xlargeの単一ノード上で永続性なし
  • Aerospikeは、100/0および80/20の読み取り/書き込みワークロードのRedisよりもわずかに高速ですEBS SSD(gp2)ストレージ永続化。
7
Peter Corless

データセンターのラックから電源プラグを抜くときのフェールオーバーとAerospikeの自己修復方法を考慮すると、トラフィックコーディネーターがいないノードあたり毎秒100万回の読み取り操作のパフォーマンスが維持されるため、常に最大になりますスイッチまたはその他のハードウェア(マップを削減する集約でない限り)安全なデータを使用した自己バランスのとれたリアルタイムの動的分析に近いものはありません。他のすべてのプラットフォームでは、CAPトライアングル内ですべての属性を取得するためにハイブリッド化する必要があります。バッファリングやキュー、データのキャッシュがないため、ゴーストはもはやカテゴリではありません。最高のパフォーマーであることに加えて、多くのメリットがあります。認めるだけです。 Aerospikeはおいしくばかげています!

5
Michael