StorageReview.com

MarkLogic NoSQL データベース ストレージ ベンチマーク

MarkLogic 6 は、SQL ベースのデータベースが処理できるように設計されていなかった今日のデータの課題に対処する柔軟性と拡張性を備えたエンタープライズ NoSQL (「SQL だけではない」) データベースです。また、ミッションクリティカルなアプリケーションを実行するための、検索、ACID トランザクション、フェールオーバー、レプリケーション、セキュリティなどのエンタープライズ グレードの機能も備えています。 MarkLogic は、データベース機能、検索、アプリケーション サービスを XNUMX つのシステムに統合します。企業が価値を提供するために必要な機能を提供します。 MarkLogic は、既存のツール、知識、経験を活用しながら、ミッションクリティカルなデータに信頼性が高く、スケーラブルで安全なプラットフォームを提供します。

公共部門、メディア、金融サービスを含むさまざまな業界の企業や組織が、MarkLogic の独自のアーキテクチャから恩恵を受けています。データの量、速度、多様性、複雑さの組み合わせ、つまりビッグデータとして知られるデータの課題に直面している環境は、MarkLogic で強化できます。 MarkLogic 上に構築されたソリューションの例には、インテリジェンス分析、リアルタイム意思決定サポート、リスク管理、デジタル資産管理、デジタル サプライ チェーン、コンテンツ配信などが含まれます。

MarkLogic ベンチマーク

私たちが利用しているベンチマークは MarkLogic によって内部開発されており、ハードウェア構成と今後の MarkLogic ソフトウェア リリースの両方を評価するために使用されます。ワークロードは 2 つの異なる部分に分割されます。

  1. 取り込みフェーズ。大規模なデータセットがインデックスとともに MarkLogic データベースに挿入されます。
  2. 挿入されたデータ セットに検索、ビューの更新、および削除が適用されるクエリ フェーズ。これらのクエリでは、ファセット、ページネーション、ブックマークなどの MarkLogic 機能も使用されます。

使用されるコーパスは、公開されている Wikipedia XML コレクションです。ファイルは zip 形式でディスク上に保持されます。取り込みには、MarkLogic Content Pump (mlcp) を使用します。  

特に取り込みフェーズでは I/O が集中します。 I/O は 3 つのカテゴリに分類されます。

  1. 最初にドキュメントはメモリ内のスタンドに取り込まれ、ディスクへの書き込みはジャーナルの保存のみになります。
  2. メモリ内のスタンドはすぐにオーバーフローし、オンディスク スタンドとして継続的に書き込まれます。これは節約活動です。
  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 使用率の間で適切なバランスをとるようにします。

また、Wikipedia データには、アラビア語、オランダ語、フランス語、ドイツ語、イタリア語、日本語、韓国語、ペルシア語、ポルトガル語、ロシア語、スペイン語、中国語 (簡体字)、中国語 (繁体字) の非英語および非 ASCII テキストが含まれているため、このデータが選択されました。これらのオプションは、MarkLogic の多言語機能を強調します。最後に、取り込まれた静的データにより、ベンチマークが再現可能になります。これは、複数のソフトウェア バージョンのさまざまなハードウェア構成にわたるパフォーマンスの比較に不可欠です。

MarkLogic テスト環境

ストレージ ソリューションは、高速ネットワーク経由で接続された複数のサーバーを利用して、StorageReview Enterprise Test Lab の MarkLogic NoSQL ベンチマークでテストされます。 MarkLogic NoSQL テスト環境のさまざまなセグメントに EchoStreams と Lenovo のサーバーを利用し、機器を接続するファブリックには Mellanox InfiniBand スイッチングと NIC を使用しています。

ストレージソリューションは、ストレージホスト、MarkLogic NoSQLデータベースクラスタ、MarkLogicデータベースクライアントの3つのセクションに分かれています。ストレージホストには、2UのLenovo ThinkServer RD630を使用し、PCIeアプリケーションアクセラレータ、4台のSATA/SAS SSDのグループ、およびNAS/SAN機器用のホストをInfiniBandファブリック上に配置します。MarkLogicデータベースクラスタには、 8基のIntel Xeon E5-2640 CPUを搭載したEchoStreams GridStreamsクアッドノードサーバーを使用し、最速のストレージデバイスに効果的に負荷をかけるために必要なコンピューティングリソースを提供します。クライアント側では、1UのLenovo ThinkServer RD530サーバーを使用し、システムメモリにロードされ、高速ネットワーク経由でNoSQLデータベースクラスタにプッシュされる作業データを提供します。これらのサーバーすべてを接続しているのは、Mellanox製の56Gb/s InfiniBandファブリックです。このファブリックにはスイッチとNICの両方が含まれており、最高の転送速度と最低の遅延を実現することで、高性能ストレージデバイスのパフォーマンスを制限しません。

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 ベンチマーク装置

このプラットフォームの主な目標は、合成または疑似合成ワークロードに依存するのではなく、実際のエンタープライズ環境およびワークロードでエンタープライズ ストレージがどのようにパフォーマンスを発揮するかを強調することです。合成ワークロード ジェネレーターは、連続合成 I/O パターンでストレージ デバイスがどのようにパフォーマンスを発揮するかを示すのに優れていますが、実稼働環境でデバイスが実際にどのように動作するかを示す他の外部変数は考慮されていません。合成ワークロード ジェネレーターには、クリーンな I/O パターンを何度も表示できるという利点がありますが、実際の運用環境を複製することはできません。ストレージ製品にアプリケーションのパフォーマンスを導入すると、ストレージがドライバー、ローカル オペレーティング システム、テスト対象のアプリケーション、ネットワーク スタック、ネットワーク スイッチング、および外部サーバーとどの程度うまく相互作用するかがわかります。これらは、合成ワークロード ジェネレーターでは考慮できない変数であり、また、この特定のベンチマークを実行するために必要な機器の点で、リソースとインフラストラクチャの消費量が 1 桁多くなります。

MarkLogicのパフォーマンス結果

当社では、テスト環境の最小要件を満たす、MarkLogic NoSQL ベンチマークを使用して幅広いストレージ ソリューションをテストしています。テストの対象となるには、ストレージ デバイスが 650 GB を超える使用可能な容量を備え、ストレスの多い企業条件下での動作に対応している必要があります。これには、新しい PCIe アプリケーション アクセラレータ、XNUMX つの SAS または SATA エンタープライズ SSD のグループ、およびローカルまたはネットワークに接続された大規模な HDD アレイが含まれます。以下にリストされているのは、このテストでこれまでにテストされたすべてのデバイスから取得された全体的な遅延の数値です。製品レビューでは、より詳細に掘り下げて競合製品を比較検討し、メインのリストではさまざまなストレージ ソリューションの階層化を示します。 

 

デバイス 全体の平均レイテンシ S-lat Jラット MRラット MW-緯度
デル R720 エクスプレスフラッシュ 350GB
JBOD×4(SLC)
1.24 1.56 1.56 0.46 1.37
ファーウェイ テカル ES3000 2.4TB
4 パーティション (MLC)
1.31 1.41 1.53 0.98 1.32
ファーウェイ テカル ES3000 1.2TB
4 パーティション (MLC)
1.43 1.42 1.76 1.20 1.33
EchoStreams FlacheSAN2 w/ インテルSSD 520
S/W RAID0、4 8GB SSD の 180 グループ (MLC)
1.48 1.65 2.01 0.81 1.46
マイクロン P320h 700GB
4 パーティション (SLC)
1.49 1.62 2.13 0.79 1.41
フュージョン ioDrive2 デュオ MLC 2.4TB
S/W RAID0、ハイパフォーマンス モード、4 パーティション (MLC)
1.70 1.73 2.57 0.97 1.51
フュージョン ioDrive2 デュオ SLC 1.2TB
S/W RAID0、ハイパフォーマンス モード、4 パーティション (SLC)
1.72 1.78 2.69 0.90 1.52
OCZ Z-ドライブ R4 1.6TB
4 パーティション (MLC)
1.73 1.67 2.38 1.43 1.42
日立 ウルトラスター SSD400S.B 400GB
JBOD×4(SLC)
1.77 1.75 2.72 1.11 1.51
スマートオプティマス 400GB
JBOD×4(MLC)
1.82 1.69 2.74 1.36 1.49
EchoStreams FlacheSAN2 w/ インテルSSD 520
S/W RAID10、4 8GB SSD の 180 グループ (MLC)
2.02 2.12 3.02 1.17 1.79
ビリデント FlashMAX II 2.2TB
高性能モード、4 パーティション (MLC)
2.26 2.30 3.39 1.57 1.81
日立 ウルトラスター SSD400M 400GB
JBOD×4(MLC)
2.58 2.09 4.49 2.07 1.68
OCZ タロス 2 400GB
JBOD×4(MLC)
2.62 2.10 4.33 2.28 1.78
インテル DC S3700 200GB
JBOD×4(MLC)
3.27 2.71 5.80 2.59 1.95
OCZ タロス 2 200GB
JBOD×4(MLC)
3.53 2.62 6.16 3.40 1.96
インテルSSD910 800GB
非RAID、JBOD x 4 (MLC)
4.29 3.21 8.27 3.43 2.23
フュージョン ioDrive2 MLC 1.2TB
S/W RAID0、ハイパフォーマンス モード、4 パーティション (MLC)
4.69 3.58 9.15 3.74 2.28
OCZ デネバ 2 200GB
JBOD×4(MLC)
6.65 5.38 13.48 4.54 3.18
キングストン E100 200GB
JBOD×4(MLC)
8.00 6.82 16.22 5.46 3.49
スマートクラウドスピード500 240GB
JBOD×4(MLC)
11.06 9.07 22.74 7.19 5.23
ミクロン P400m 400GB
JBOD×4(MLC)
12.60 9.70 27.51 8.70 4.51
フュージョン ioDrive デュオ MLC 1.28TB
S/W RAID0、ハイパフォーマンス モード、4 パーティション (MLC)
12.89 10.52 26.77 9.70 4.58
ミクロン P400m 200GB
JBOD×4(MLC)
14.98 11.99 31.93 10.54 5.46
東芝 15K MK01GRRB 147GB
H/W LSI 9286-8e×16、RAID10×4
16.58 7.85 40.61 12.25 5.61
LSI ナイトロワープドライブ 800GB
4 パーティション (MLC)
17.39 17.08 31.42 13.63 7.43
東芝 10K MBF2600RC 600GB
H/W LSI 9286-8e×16、RAID10×4
24.20 10.89 57.94 20.61 7.35
東芝 15K MK01GRRB 147GB
ソフトウェア RAID x 16、RAID10 x 4
61.40 54.33 126.77 45.21 19.28

MarkLogic 製品ページ