null

予測可能な高パフォーマンス

Aerospikeは、1台のサーバで1秒あたり100万回以上のトランザクション処理(TPS)を一貫して達成しています。また、単に高パフォーマンスであるだけではなく、そのパフォーマンスが予測可能(一貫していて、バラツキが無い)であるため、高スループット、低レイテンシで書き込みが実行可能であるだけではなく、大規模なアプリケーションの構築が簡略化され、コストも削減されます。

個別の対応と機能を提供することにより、顧客を惹き付け、維持しより深く交流するためには、リアルタイムのビッグデータと意思決定手法を活用してアプリケーションを刷新する必要があります。多くの場合、アプリケーションは即座に大量のデータにアクセスするだけでなく、書き込みの負荷が高い場合でもデータベースの中の特定のデータにアクセスできることが重要です。リアルタイムの意思決定では、ビッグ・データのシステムと高度なアプリケーションで構成される、マルチコンポーネントのテクノロジー・スタックが不可欠です。最大限のパフォーマンスを持続してブランドの評判を損ねないようにするためには、予測可能な高パフォーマンスのデータベースをこのスタックの中核に置く必要があります。

2010年に実環境での利用が始まったAerospikeのリアルタイム・エンジンは、低レイテンシで高スループットを十分な一貫性で提供する予測可能なパフォーマンスを提供してきました。それは、以下のテクノロジーを基盤として構築されています。

  1. Smart Client Architecture:AerospikeのSmart Client Architectureでは、単一障害点となりうる中央管理型ではなく、個々のAerospikeクライアントが独自にクラスタ内の複数のサーバへ直接かつ並列に接続し、個々のデータに直接、アクセスすることが可能です。ネットワークのホップを1つだけにすることで、ネットワークによる遅延を最小限に抑制します。クライアントは個々のサーバ毎のデータ情報と接続プールを保持するため、クラスタが拡大してもレイテンシが増えることはありません。クライアント自体が適切なノードにリクエストを均等に分散させるため、ロード・バランサも不要です。
  2. Hybrid Memory Architecture:AerospikeのHybrid Memory Architectureでは、DRAM上の高度に並列化されたインデックスを使用しているため、ロックの競合と予測外のストレージの読み取りが低減します。フラッシュ(SSD)に最適化されたAerospikeのストレージ利用形態は、ストレージ・デバイスの負荷を軽減し、1つのデータベース・リクエストに対して1回のストレージ・リクエストが保証されるため、ストレージ・システムによる遅延も減少します。バックグラウンドのメンテナンス・タスクにも、高速なDRAMインデックスを活用しているため、バックグラウンド・プロセスによる予想外の影響が減少します。
  3. Cプログラミング言語:AerospikeはCプログラミング言語で開発されており、内部のCPUキャッシュ、データ・パス、そしてメモリ・アクセスを最適化しています。使用するJava VMとそのチューニング・パラメータによってパフォーマンスに違いが出るJavaベースのデータベースとは異なり、独自のメモリ・アロケータが安定した応答時間を提供します。バックグラウンド・プロセスによって、データ消去、有効期限管理、データ移行が継続的に実行されます。

データベースの動作は、高パフォーマンスであるだけでなく、予測可能でなければなりません。Aerospikeはオンプレミスとクラウドのどちらのデプロイ環境においても、DRAMとフラッシュ(SSD)の両方を活用し、業界最高速のパフォーマンスを提供します。仮想マシン上でも、極めて優れたパフォーマンスを実現します。また、仮想マシンベースまたはコンテナベースの環境において、新しいインスタンスを追加する際には、運用ダウンタイムを発生させずに卓越した並列パフォーマンスが得られます。

以下のグラフは、Aerospikeのパフォーマンスを示す2016年のベンチマークです。競合のNoSQLデータベースと比較すると、Aerospikeは14倍の処理速度、42分の1の低レイテンシを達成ており、パフォーマンスの一貫性(バラツキの無さ)も極めて優れていました。

Intelのベンチマーク:不揮発性メモリを使用し、Aerospikeで100万TPSを達成
DRAMは使用していません! Intelは、IntelのP3700 SSDを使用して、1台のAerospikeノードで毎秒100万回のトランザクションを達成する方法を紹介しています。Aerospikeは、DRAMの代わりに不揮発性メモリ(NVM)を使用できるため、低コストでより大量のデータを保存できます。