MarkLogic 7 は、SQL ベースのデータベースが処理できるように設計されていなかった今日のデータの課題に対処する柔軟性と拡張性を備えたエンタープライズ NoSQL (「SQL だけではない」) データベースです。また、ミッションクリティカルなアプリケーションを実行するための、検索、ACID トランザクション、フェールオーバー、レプリケーション、セキュリティなどのエンタープライズ グレードの機能も備えています。 MarkLogic は、データベース機能、検索、アプリケーション サービスを XNUMX つのシステムに統合します。企業が価値を提供するために必要な機能を提供します。 MarkLogic は、既存のツール、知識、経験を活用しながら、ミッションクリティカルなデータに信頼性が高く、スケーラブルで安全なプラットフォームを提供します。
公共部門、メディア、金融サービスを含むさまざまな業界の企業や組織が、MarkLogic の独自のアーキテクチャから恩恵を受けています。データの量、速度、多様性、複雑さの組み合わせ、つまりビッグデータとして知られるデータの課題に直面している環境は、MarkLogic で強化できます。 MarkLogic 上に構築されたソリューションの例には、インテリジェンス分析、リアルタイム意思決定サポート、リスク管理、デジタル資産管理、デジタル サプライ チェーン、コンテンツ配信などが含まれます。
MarkLogic MarkMail ベンチマーク
MarkMail は、メーリング リストのアーカイブを検索するための無料のサービスです。 MarkLogicサーバーを利用しています。各電子メールと添付ファイルは、XML ドキュメントとして内部的に保存されます。公開 Web ページでは、公開アーカイブからの何百万もの電子メールにわたる検索、ファセット ナビゲーションなどが提供されます。これは、MarkLogic Corporation がホストする小規模クラスター上で実行されます。
MarkMail ベンチマークは MarkMail データベースを作成し、MarkLogic Content Pump (mlcp) を使用して数百万の電子メールと添付ファイルをこのデータベースに取り込みます。このベンチマークで使用しているデータセットは、MarkLogic によって作成された大規模な電子メール コーパスです。 MarkMail の負荷は、MarkLogic ノードの数や利用可能な I/O 帯域幅を増やすことによってスケーリングされます。 MarkLogic リソースがスケーリングされると、より高い取り込み速度を達成するために mlcp スレッドの数が増加します。
取り込みは I/O 集中型です。 I/O は 3 つのカテゴリに分類されます。
- 最初にドキュメントはメモリ内のスタンドに取り込まれ、ディスクへの書き込みはジャーナルの保存のみになります。
- メモリ内のスタンドはすぐにオーバーフローし、ディスク上のスタンドとして継続的に書き込まれます。これは、保存アクティビティです。
- ディスク上のスタンドの数が増えると、MarkLogic はそれらをマージしてクエリのオーバーヘッドを削減する必要があります。マージには、複数のディスク上のスタンドを読み取り、マージされた単一バージョンを書き戻し、元のバージョンを削除することが含まれます。
最高レベルの精度を確保し、各デバイスを定常状態に強制するために、フラッシュ ベースのデバイスに対して取り込みフェーズとクエリ フェーズを 24 回繰り返します。 PCIe アプリケーション アクセラレータの場合、各間隔が完了するまでに 60 ~ 120 分かかるため、合計テスト時間は 24 ~ 48 時間の範囲になります。 I/O スループットが低いデバイスの場合、合計テスト時間が数日かかる場合があります。このテストの焦点は、ジャーナル書き込み (J-lat)、書き込み保存 (S-lat)、マージ読み取り (MR-lat) およびマージ書き込みの XNUMX つの関心領域にわたる各ストレージ ソリューションの全体的な遅延を調べることです。レイテンシ (MW-lat)。上の図では、MarkLogic の I/O パスとレイテンシが示されています。
- ジャーナル書き込みでは、データベースに差分が記録されます。更新リクエストが実行されると、データベースの状態に対して行われたすべての変更がジャーナルに記録されます。これらの変更は、リクエストを再度実行しなくても、ジャーナルから再度適用できます。更新には、ドキュメントの追加、置換、または削除が含まれます。ジャーナルは機能停止から保護され、その後システムがクラッシュしても存続することが保証されています。ジャーナル書き込みのレイテンシーは、J-lat メトリクスでキャプチャされます。
- 十分なドキュメントが読み込まれると、メモリ内スタンドがいっぱいになり、ディスクにフラッシュされ、オンディスク スタンドとして書き出されます。このディスクへのフラッシュは保存と呼ばれます。保存書き込みのレイテンシは S-lat でキャプチャされます。
- オンディスク スタンドの総数が増加するにつれて、効率の問題が浮上する恐れがあります。単一の用語リストを読み取るには、MarkLogic は各スタンドから用語リスト データを読み取り、結果を統合する必要があります。スタンド数を管理可能なレベルに保つために、MarkLogic はバックグラウンドでマージを実行します。マージでは、ディスク上のスタンドの一部を読み取り (マージ読み取り)、それらから新しい単一スタンドを作成します (マージ書き込み)。インデックスとデータを結合して最適化し、以前に削除されたフラグメントを削除します。 Merge 読み取りのレイテンシは MR-lat でキャプチャされ、Merge 書き込みのレイテンシは MW-lat でキャプチャされます。
取り込み中に、MarkLogic はすべてのドキュメントのインデックスを作成し、用語リストなどを作成します。このアクティビティには CPU サイクルが必要であり、ベンチマークが高い I/O と高い CPU 使用率の間で適切なバランスをとるようにします。
MarkLogic テスト環境
ストレージ ソリューションは、高速ネットワーク経由で接続された複数のサーバーを利用して、StorageReview Enterprise Test Lab の MarkLogic NoSQL ベンチマークでテストされます。 MarkLogic NoSQL テスト環境のさまざまなセグメントに Lenovo のサーバーを利用し、機器を接続するファブリックには Mellanox InfiniBand スイッチングと NIC を使用しています。
ストレージ ソリューションは、ストレージ ホスト、MarkLogic NoSQL データベース クラスター、MarkLogic データベース クライアントの 2 つのセクションに分かれています。ストレージ ホストには、630U Lenovo ThinkServer RD630 を使用して、PCIe アプリケーション アクセラレーター、5 個または 2650 個の SATA/SAS SSD のグループ、およびそれらを InfiniBand ファブリック上で提供する NAS/SAN 機器用のホストを使用します。 MarkLogic データベース クラスターの場合、630 個の Intel Xeon E1-530 CPU を搭載した Lenovo ThinkServer RD56 オクタルノード サーバー クラスターを使用して、最速のストレージ デバイスに効果的に負荷をかけるために必要なコンピューティング リソースを提供します。これらの Thinkserver RDXNUMX サーバーは、MarkMail などのさまざまな要求の厳しいワークロードに対して非常に優れたパフォーマンスを発揮することが証明されており、ベンチマークを実行するための柔軟で信頼性の高いプラットフォームとして信頼し続けています。クライアント側では、システム メモリにロードされ、高速ネットワーク経由で NoSQL データベース クラスターにプッシュされる作業データを提供する XNUMXU Lenovo ThinkServer RDXNUMX サーバーを使用します。これらすべてのサーバーをリンクしているのは、スイッチと NIC の両方を含む Mellanox XNUMXGb/s InfiniBand ファブリックであり、高性能ストレージ デバイスのパフォーマンスを制限しない最高の転送速度と最低の遅延を実現します。
Lenovo ThinkServer ブランドは、この新しいプラットフォームを設計する際の最優先の選択肢であり、インテルの強力なプロセッサーとチップセットのラインナップを活用して最高のパフォーマンスを提供し、依然として大きな価値をもたらします。 ThinkServer 製品ラインは、優れたハードウェア互換性も提供します。これは、さまざまな形式のストレージおよびネットワーク テクノロジをテスト プラットフォームに組み込む際に絶対に不可欠です。他のテスト プラットフォームと同様、私たちの目標は、ほとんどの競合ベンチマークで一般的に利用されている最高スペックのサーバーと比較して、顧客がミッドレンジ サーバー プラットフォームに期待できる現実的なパフォーマンスを示すことです。
この MarkLogic MarkMail 環境のローカル ストレージには、デュアル LSI SandForce SF-2 コントローラーとデュアル ポート SAS 2500Gb/s インターフェイスを提供する OCZ Talos 6 R SSD を選択しました。これらの SSD はテスト レイアウトのクラスター側の両方で利用され、各 ThinkServer RD630 のローカル ストレージの需要をサポートします。ロギングやその他のタスクがローカル ストレージに書き込まれるため、ベンチマーク中にホストが I/O バウンドになる可能性をすべて排除したいと考えました。これらの SSD には、停電時の飛行中のデータ保護、高度なエラー修正に加え、SandForce コントローラーの低い書き込み増幅と組み合わせた R シリーズの 22% オーバープロビジョニングによる強力な耐久性も含まれています。
Mellanox InfiniBand 相互接続は、接続されたデバイスがネットワークに制限されないように、最高のパフォーマンスと最大のネットワーク効率を提供するために使用されました。 PCIe ストレージ ソリューションだけを見ると、1 つの PCIe アプリケーション アクセラレータで、ネットワーク上で 3 ~ 10 GB/秒以上のデータを簡単に駆動できます。ピーク転送速度が 20 ~ XNUMX GB/秒を超えるオールフラッシュ ストレージ アプライアンスにまで引き上げると、ネットワーク リンク容量が容易に飽和し、プラットフォーム全体の全体的なパフォーマンスが制限されることがすぐにわかります。 InfiniBand の高帯域幅リンクにより、最小限のリンクで最大量のデータを移動できるため、システムの全機能を実現できます。
InfiniBand により、ネットワーク スループットが向上するだけでなく、クラスタ全体の効率も向上します。 InfiniBand は、iSER (iSCSI-RDMA) と SRP (SCSI RDMA プロトコル) を使用して、非効率な iSCSI TCP スタックをリモート ダイレクト メモリ アクセス (RDMA) 機能に置き換え、外部ストレージへのネイティブに近いアクセス時間を可能にします。 iSER と SRP は、ネットワーク トラフィックがシステムの CPU をバイパスできるようにし、送信システムのメモリから受信システムのメモリにデータを直接コピーできるようにすることで、クラスタ環境全体の効率を向上させます。これに対し、従来の iSCSI 操作では、複雑な複数のコピーと転送のプロセスを通じてネットワーク トラフィックがルーティングされ、貴重な CPU サイクルとメモリ領域が消費され、データ転送の遅延が大幅に増加します。 MarkLogic NoSQL 環境では、SCSI RDMA プロトコルを利用して、各ノードをストレージ ホスト上で実行されている Linux 用 SCSI ターゲット サブシステム (SCST) に接続します。
MarkLogic ベンチマーク装置
- Lenovo ThinkServer RD630 オクタルノード データベース クラスター
- 5 個の Intel E2650-2.0 CPU (ノードあたり 8 個、20GHz、XNUMX コア、XNUMXMB キャッシュ)
- 1024GB RAM (ノードあたり 128GB、CPU あたり 64GB)
- 200GB OCZ Talos 2 SAS SSD x 8 (LSI 9207-8i 経由)
- 8 x Mellanox ConnectX-3 InfiniBand アダプター
- CentOS 6.3
- レノボ ThinkServer RD530 データベースクライアント
- デュアル Intel E5-2640 CPU (2.5GHz、6 コア、15MB キャッシュ)
- 64GB RAM (8GB x 8 ミクロン DDR3、CPU あたり 32GB)
- 900GB x 6 Hitachi 10k SAS RAID6 (LSI 9260-8i 経由)
- 1 x Mellanox ConnectX-3 InfiniBand アダプター
- CentOS 6.3
- レノボ ThinkServer RD630 ストレージホスト
- デュアル Intel E5-2680 CPU (2.7GHz、8 コア、20MB キャッシュ)
- 32GB RAM (8GB x 4 DDR3、CPU あたり 16GB)
- 100GBミクロン RealSSD P400e SSD (LSI 9207-8i経由)
- 1 x Mellanox ConnectX-3 InfiniBand アダプター
- CentOS 6.3
- Mellanox SX6036 インフィニバンド スイッチ
- 36 FDR (56Gb/s) ポート
- 4Tb/秒の総スイッチング容量
このプラットフォームの主な目標は、合成または疑似合成ワークロードに依存するのではなく、実際のエンタープライズ環境およびワークロードでエンタープライズ ストレージがどのようにパフォーマンスを発揮するかを強調することです。合成ワークロード ジェネレーターは、連続合成 I/O パターンでストレージ デバイスがどのようにパフォーマンスを発揮するかを示すのに優れていますが、実稼働環境でデバイスが実際にどのように動作するかを示す他の外部変数は考慮されていません。合成ワークロード ジェネレーターには、クリーンな I/O パターンを何度も表示できるという利点がありますが、実際の運用環境を複製することはできません。ストレージ製品にアプリケーションのパフォーマンスを導入すると、ストレージがドライバー、ローカル オペレーティング システム、テスト対象のアプリケーション、ネットワーク スタック、ネットワーク スイッチング、および外部サーバーとどの程度うまく相互作用するかがわかります。これらは、合成ワークロード ジェネレーターでは考慮できない変数であり、また、この特定のベンチマークを実行するために必要な機器の点で、リソースとインフラストラクチャの消費量が 1 桁多くなります。
MarkLogicのパフォーマンス結果
当社では、テスト環境の最小要件を満たす、MarkLogic NoSQL ベンチマークを使用して幅広いストレージ ソリューションをテストしています。テストの対象となるには、ストレージ デバイスが 1.8 TB を超える使用可能な容量を備え、ストレスの多い企業条件下での動作に対応している必要があります。これには、複数の PCIe アプリケーション アクセラレータ、XNUMX 台または XNUMX 台の SAS または SATA エンタープライズ SSD のグループ、およびネットワーク接続された大規模な SAN アレイが含まれます。以下にリストされているのは、このテストでこれまでにテストされたすべてのデバイスから取得された全体的な遅延の数値です。製品レビューでは、より詳細に掘り下げて競合製品を比較検討し、主なリストではさまざまなストレージ ソリューションの階層化を示します。




Amazon