21
NoSQL データベース パフォーマンス ベンチマーク 製品のプロファイルと評価: Actian Zen MongoDB By McKnight Consulting Group 2019 7協賛:

By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

NoSQL データベース パフォーマンス ベンチマーク

製品のプロファイルと評価:

Actian Zen と MongoDB By McKnight Consulting Group 2019 年 7月

協賛:

Page 2: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 2

実施の概要 Web、モバイル、IoT アプリケーションは新しい技術要件の一連の流れを生み出しています。データベー

スのアーキテクチャは、今までよりもさらに俊敏に対応し、さまざまなデータ要件に対処し、デバイス上に

直接組み込むためにスケールダウンできる必要があります。リアルタイム データ管理には今までにない

スケール、スピード、データの柔軟性が提供可能な新しいアプローチが必要とされています。 リレーショナル データベースではこれらの新しい要件に対応できないこともあるので、開発者たちは

NoSQL データベースの技術にシフトしています。従来のリレーショナル データベースでは対応できない

フレキシブルなスキーマまたはスキーマレス データが求められる環境において NoSQL は数多くのユー

スケースがあります。 モバイル アプリケーションと、独自のローカル DBMS(データベース管理システム)を使って無数のデバ

イスに強力な機能を提供する IoT(internet of things:モノのインターネット)の台頭と共に、NoSQL 組み

込みデータベースの普遍性が高まっています。開発者は、デバイスの上で直接動作する、データリッチ

で洗練されたサーバーレス アプリケーションを作成できます。このような用途には、組み込みアーキテク

チャの方がクライアント/サーバー アプローチよりも適しています。クライアント/サーバー アプローチは、ク

ライアント アプリケーションがインターフェイスを介してアクセスするデータベース サーバーに依存してい

るためです。今日、NoSQL データベースがデータを完全に活用して競争上の優位性を得るには、大規

模なリアルタイム処理を実現できるよう、ハイレベルなパフォーマンスを達成する必要があります。 組み込み NoSQL データベースのパフォーマンスを定量化するため、弊社で実施したパフォーマンス ベンチマークの調査対象としたのは、NoSQL 組み込みデータベース ソリューション、Actian Zen とMongoDB でした。このベンチマークを設計した目的は、アプリケーションを開発する組織が遭遇する可

能性のある基本的なデータベース トランザクションをすべて対象にすることでした。 このテストの方法はリレーショナル データベース技術についての、Christophe Diericx によって 2017 年に実施された、.NET に対する組み込みデータベースのベンチマークに基づき、主に準拠していますが、

弊社はベンチマーク ハーネスを独自に開発し、NoSQL ユースケースに適応させました。弊社が実施し

たベンチマークでは、Actian Zen と MongoDB を同じノート PC にインストールしました。弊社の経験では、

パフォーマンスはデータベースを選定するうえで非常に重要な要素であるにしても 1 つの要素に過ぎず、

多くの要素を考慮する必要があります。 総じて、このベンチマークの結果は、Actian Zen と MongoDB のクエリ実行パフォーマンスを明らかにし、

両製品の複数の差別化要因を明示した点で興味深いものでした。 Actian Zen は MongoDB より全般的に高速です(組み込み型データベースにおいて重要ポイントとなる

場合が多い書き込み速度など)。これは IoT データにとって最も重要なパフォーマンス メトリック(性能測

定基準)です。サーバーとして、Actian Zen は MongoDB より、挿入では 6.3 倍、インデックス付きのキー

におけるドキュメントのクエリでは 2 倍、インデックスなしのキーにおけるドキュメントのクエリでは 8 倍、イ

ンデックス付きのキーにおけるドキュメントの更新では 791 倍、インデックスなしのキーにおけるドキュメン

トの更新では 749 倍、インデックス付きのキーにおけるドキュメントの削除では 148 倍、インデックスなし

のキーにおけるドキュメントの削除では 110 倍という高いパフォーマンスを示しています。Android デバイ

スでの「同期無し」ベンチマークでは、Actian Zen Edge は MongoDB Mobile と比較して、インデックス付

きのキーにおけるドキュメントのクエリでは 60% 低速でしたが、それ以外の、挿入では 7 倍高速で、イン

デックスなしのキーにおけるドキュメントのクエリでは 66%、インデックス付きのキーにおけるドキュメントの

更新では 46 倍、インデックスなしのキーにおけるドキュメントの更新では 4 倍、インデックス付きのキー

Page 3: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 3

-100

0

100

200

300

400

500

600

700

800

900

更新Actian Zen の MongoDB に対する

パフォーマンスの優位性

-20

0

20

40

60

80

100

120

140

160

削除Actian Zenの MongoDB に対する

パフォーマンスの優位性

-2

0

2

4

6

8

10

選択Actian Zen の MongoDB に対する

パフォーマンスの優位性

におけるドキュメントの削除では 6.3 倍、インデックスなしのキーにおけるドキュメントの削除では 4 倍高

速でした。また、同じ Android デバイスでのサーバーとの「同期あり」ベンチマークの場合、Actian Zen は MongoDB より挿入において 50%、インデックス付きのキーにおけるドキュメントの更新では 4 倍、インデ

ックスなしのキーにおけるドキュメントの更新では 5.4 倍、インデックス付きのキーにおけるドキュメントの

削除では 43%、インデックスなしのキーにおけるドキュメントの削除では 2.3 倍高速なパフォーマンスを

示しました。 Actian Zen は、30 年以上にわたるエンジニアリングと開発の経験に基づいており、組み込みデータベー

ス アプリケーションのプラットフォームとして成熟した製品です。その極めて速いパフォーマンスに寄与し

ている機能の一部として、Btrieve API と Turbo Write Accelerator を挙げることができます。 下記のグラフは個々の機能についてサーバーのみ、デバイスのみ、同期のそれぞれの実行で Actian Zen が MongoDB より優位性があるということを示しています。

サーバーのみ デバイスのみ サーバーのみ デバイスのみ

インデックスあり インデックスあり インデックスなし インデックスなし

サーバー のみ

デバイス のみ 同期 サーバー

のみ デバイス のみ 同期

インデックス あり

インデックス あり

インデックス あり

インデックス なし

インデックス なし

インデックス なし

サーバー のみ

デバイス のみ 同期 サーバー

のみ デバイス のみ 同期

インデックス あり

インデックス あり

インデックス あり

インデックス なし

インデックス なし

インデックス なし

0

2

4

6

8

サーバーのみ デバイスのみ 同期

挿入Actian Zen の MongoDB に対する

パフォーマンスの優位性

Page 4: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 4

NoSQL組み込みデータベースの選定 アプリケーションを搭載しているスマート デバイスを活用している組織では、組み込みデータベースのプ

ラットフォームを使ってエッジのデータを高速かつ一貫性を持って処理し、取り込むことで、活動状況の

エコシステムが調整されるようになっています。サーバー室から離れた場所で利用可能なデータのボリュ

ームは急速に拡大しているため、ローカル コンピューター アーキテクチャに対するパフォーマンスに対

する要求が増大しています。したがって、現実世界で組み込みデータベース(SQL と NoSQL の両方)

で使用されるような単純なクエリ処理をスケールした際に、どのデータベースがパフォーマンスを維持で

きるかがキーとなる差別化要因となっています。 パフォーマンスは非常に重要な要素の 1 つですが、これだけがすべてではありません。NoSQL を選択

する開発者はデータ アクセス、拡張性、利便性も考慮する必要があります。 MongoDB と Actian Zen は、「設定すれば、後はお任せ」となるよう設計されているので、絶え間ないデ

ータベース管理作業はほとんどまたはまったく必要ありませんが、Actian Zen は OEM 環境に組み込ま

れるエンタープライズ NoSQL プラットフォームの削減を目的として設計されました。よって、Actian Zen にあって、MongoDB にはない機能として、自動再接続ネットワーク、自動最適化、マルチユーザー サポ

ート、同時書き込み機能などがあります。 Actian Zen はもともと NoSQL であり、ドキュメント ストアまたはキーバリュー ストア(KVS)として非常に柔

軟です。MongoDB は BSON によるドキュメント指向データベースです。加えて、Actian Zen では、高性

能の Btrieve 2 API(このベンチマークでテスト済み)が独占的に提供されます。Btrieve 2 API では、

元々の SQL のサポートだけでなく、NoSQL や Java と C/C++ に基づいたデバイスのネイティブ開発、お

よび Python、Perl、PHP 用の SWIG もサポートします。MongoDB は NoSQL 専用で、 iOS、Android、.NET のようなモバイル デバイス用のソフトウェア開発キットのみを提供します。 このベンチマークの主題は組み込みアプリケーションですが、Actian Zen Edge は Zen Core、Zen Enterprise、Zen Reporting Engine から成る Zen ファミリ全体の中の一部です。この製品スイートを組み合

わせることで、組み込みアプリケーションを実現できるだけでなく、(ETLなしで)クライアント/サーバー型

やクラウド型の展開も実現できます。 クライアント/サーバー構成では、Actian Zen には、リモート デバイス上の Zen Core または Zen Edge とサーバー上の Zen Enterprise の間を ETL なしで、リアルタイムに自動的に同期する機能も備わっています。

この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

千に上る可能性があり、そのすべての情報をサーバー上のコア データベースに送り込む必要があるた

めです。Btrieve API によって、Actian Zen Edge または Core と Zen Enterprise を中継なしでリアルタイム

で同期する機能があることにより、大規模な処理を簡単に実現できます。 プラットフォームとして成熟しているかどうかもまた考慮すべき点の 1 つです。MongoDB の初期リリース

は 2009 年でした。Actian Zen は初期バージョンが Btrieve(その後 PSQL)として設計され、30 年以上に

わたる設計と拡張によって多くの多国籍企業で稼働しています。 このレポートでは、組み込み NoSQL データベースに関する 2 つの方法に焦点を当てます。危険度がそ

れほどクリティカルではない開発サイクルの早い段階で、適切な組み込みデータベースを採用すること

が重要です。2 つの方法のうち 1 つは、組み込みアーキテクチャ用に最適化されたエンタープライズ ソフトウェア向けの専門的なアプローチで、2 つ目は多目的データベース プラットフォームのオープンソー

スです。

Page 5: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 5

ベンチマークの準備 このベンチマークは、以下の準備、環境、規格、および構成を使って実施されました。

データの準備

このベンチマークの目的は、NoSQL 組み込みデータベースの実社会での代表的なシナリオやテストケ

ースをシミュレートすることです。私たちは組み込みデータベースに人々の連絡先を格納するアプリケー

ション用にシンプルな「スキーマ」を採用しました。そのモデルは複数のドキュメントから構成され、以下の

ように表されます。

{ "contact": {

"id": 1, "lastname": "Rogers", "firstname": "Fred", "address": "381 Willinghelm Dr", "city": "Pittsburgh", "state": "PA", "zip": "15106", "country": "USA", "phone": "412-875-0921"

} }

このベンチマークで使用するデータは、その実施中にリアルタイムでアプリケーションによってランダムに

生成されます。city、state、zip キーは Select、Update、Delete テスト(後記)の選択条件として使用されま

す。このため、Select、Update、Delete テスト時に必要なドキュメント カウントを行うために、特定の値のイ

ンスタンスが十分な数だけ作成されるよう、データ生成時にこれらのキーのシード値として特定の値がラ

ンダムに設定されます。

構成

このベンチマークでは、2 つの異なる組み込み RDBMS、Actian Zen と MongoDB を、同一のノート PCにインストールしました。

NoSQL DBMS

組み込み RDBMS Actian Zen MongoDB バージョン 13.31 4.0.10

サーバー

ハードウェア Lenovo ThinkPad X1 Carbon G6 20BS006UUS x64-based PC プロセッサ/RAM 2x Intel Core i7-5600U @ 2.60GHz / 8 GB RAM OS Microsoft Windows 10 Enterprise 10.0.18362

Page 6: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 6

Android デバイス

ハードウェア Nokia 2 TA-1035 DS プロセッサ 1.3 GHz 64-bit クアッドコア ARM Cortex A7 RAM 1 GB(8 GB ストレージ)

OS Android 7.1.1 Nougat

テストケース

前述したように、このテストの方法は Christophe Diericx によって 2017 年に実施された、.NET に対する

組み込みデータベースのベンチマークに基づき、主に準拠しています。このテストは、インデックスあり/なしの列を基準にした行の選択、更新、削除という最も基本的な CRUD オペレーションから成る、シンプ

ルなものです。 弊社では、TPC(Transaction Processing Performance Council:トランザクション処理性能評議会)など、他

のベンチマーク フレームワークについても考慮しました。それらの使用環境が過去に NoSQL に適用さ

れた一方で、典型的なモバイル デバイスのアプリケーションにはあまり適用しません。大部分の IoT デバイスやモバイル アプリケーションでは、それらのベンチマーク フレームワークによって示されるような洗

練されたオペレーションは必要ありません。このため、弊社では、組み込みデータベースの通常の実装

で見られる本来のパフォーマンスを示すテストを選択しました。 どちらのプラットフォームでも、強力な NoSQL 機能のセットがサポートされています。Actian Zen とMongoDB の機能とパフォーマンスをテストする際には、ネイティブ API を使用してデータベース トラン

ザクションを実行しました。

テスト ケース 1:接続を連続してオープン/クローズする

メモ:ノート PC ではこれを実行していません。これは、モバイル開発者にとって、アプリケーションの実行

中はデータベース接続を開いたらその接続を開いたままにすることが標準的な処理だからです。

テスト ケース 2:挿入パフォーマンス

デバイスやそのアプリケーションでは、優れた挿入パフォーマンスが間違いなく必要です。これは、多く

のテスト ケースにおいて通常、最も重要なメトリックです。たとえば、定期的な間隔で値を読み取るアプリ

ケーションがあると考えてみましょう。リアルタイムで値を読み取る場合には、挿入パフォーマンスが重要

になってきます。

テスト 2 25,000 ドキュメントを挿入する

メモ:このテストの冒頭では、データベースは空です。挿入テストにより、その他のベンチマークに対して

テスト データが提供されます。

Page 7: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 7

テスト ケース 3:選択パフォーマンス

両方のプラットフォームがデータを取得できるパフォーマンスは、もちろん、考察する必要があります。こ

のテスト ケースでは、一意の識別子を使って 1 つしかないドキュメントを複数個選択するのではなく、大

量にあるドキュメントを選択します。このテストの最初のバリエーションでは、インデックス付きのキー(state)に対してフィルターを適用します。2 番目のテストでは、最初のバリエーションより少ないドキュメントを選

択しますが、インデックスなしのキー(zip)に対してフィルターを適用します。

テスト 3a インデックスありのキーを基準にして 10,000 ドキュメントを選択する

テスト 3b インデックスなしのキーを基準にして 5,000 ドキュメントを選択する

テスト ケース 4:更新パフォーマンス

テスト 3 と同じ選択テスト条件を使って、大量にあるドキュメントの更新パフォーマンスをテストしました。こ

のテスト ケースでは、大量にあるドキュメントを複数個選択して、1 つしかないキー値を更新します。この

テストの最初のバリエーションでは、インデックス付きのキー(state)に対してフィルターを適用し、zip を更

新します。2 番目のテストでは、最初のバリエーションより少ないドキュメントを選択しますが、インデックス

なしのキー(zip)に対してフィルターを適用し、state を更新します。

テスト 4a インデックスありのキーを基準にして 10,000 ドキュメントを更新する

テスト 4b インデックスなしのキーを基準にして 5,000 ドキュメントを更新する

テスト ケース 5:削除パフォーマンス

テスト 3 と同じ選択テスト条件を再び使って、大量にあるドキュメントの削除パフォーマンスもテストしまし

た。このテスト ケースでは、大量にあるドキュメントを複数個選択して削除します。このテストの最初のバリ

エーションでは、インデックス付きのキー(state)に対してフィルターを適用し、一致したドキュメントを削除

します。2 番目のテストでは、最初のバリエーションより少ないドキュメントを選択しますが、インデックスな

しのキー(zip)に対してフィルターを適用し、一致したドキュメントを削除します。

テスト 5a インデックスありのキーを基準にして 10,000 ドキュメントを削除する

テスト 5b インデックスなしのキーを基準にして 5,000 ドキュメントを削除する

Page 8: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 8

ベンチマークの結果 Zen 13.31 vs Mongo DBサーバー

以下の数値は、Actian Zen と MongoDB の両方について、データベース トランザクションあたりの平均

経過時間を示しています。各テストは 5 回実行され、最速値が使用されました。この値は 1 トランザクショ

ンあたりの平均経過時間を表しており、全体のテストに対するものではありません。

テスト 2:25,000 ドキュメントを挿入する

以下は、Actian Zen と MongoDB 上の Contacts データベースに、ランダムに生成したデータの 1 ドキュ

メント全体を挿入するのにかかった平均時間(マイクロ秒数)を示しています。

このテストにより、最初の大きな性能差別化要因が明らかになりました。Actian Zen が 1 ドキュメントを挿

入するのにかかる平均時間(25,000 回の挿入すべての平均を取ったもの)は、MongoDB による挿入の

6.3倍高速でした。

テスト 3a:インデックス付きのキーを基準にして 10,000 ドキュメントを選択する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することでレコードを大量に選択する際、1 ドキュメントあたりにかかった平均時間(マイクロ

秒数)を示しています。

793

125

0 100 200 300 400 500 600 700 800 900

MongoDB

Zen 13.31

25,000 行の挿入 - トランザクション単位の平均時間 (㎲:マイクロ秒)

Page 9: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 9

MongoDB の 1 ドキュメントあたりのフェッチ時間(10,000 ドキュメントすべての平均を取ったもの)は、

Actian Zen の場合より 2 倍高速でした。

テスト 3b:インデックスなしのキーを基準にして 5,000 ドキュメントを選択する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで、レコードを大量に選択する際、1 ドキュメントあたりにかかった平均時間(マイク

ロ秒数)を示しています。

どちらのプラットフォームも非常に迅速に応答しています。MongoDB の 1 ドキュメントあたりのフェッチ時

間(10,000 ドキュメントすべての平均を取ったもの)は、Actian Zen の場合の 8 倍でした。

1.301

2.747

0 0.5 1 1.5 2 2.5 3

MongoDB

Zen13.31

インデックス付きでの選択 - トランザクション単位の平均時間 (㎲:マイクロ秒)

8

1

0 1 2 3 4 5 6 7 8 9

MongoDB

Zen 13.31

非インデックス付きでの選択 - トランザクション単位の平均時間 (㎲:マイクロ)

Page 10: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 10

テスト 4a:インデックス付きのキーを基準にして 10,000 ドキュメントを更新する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することで 1 つのキーを更新するのにかかった平均時間(マイクロ秒数)を示しています。

このテストでは Actian Zen と MongoDB は全く違う結果を出しました。1 つのキーを更新するのにかかっ

た平均時間(10,000 ドキュメントすべての平均を取ったもの)は、Actian Zen が MongoDB より何倍も高

速でした。

テスト 4b:インデックスなしのキーを基準にして 5,000 ドキュメントを更新する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで 1 つのキーを更新するのにかかった平均時間(マイクロ秒数)を示しています。

20,574

26

0 5000 10000 15000 20000 25000

MongoDB

Zen 13.31

インデックス付きの更新 - トランザクション単位の平均時間 (㎲:マイクロ秒)

19,487

26

0 5000 10000 15000 20000 25000

MongoDB

Zen 13.31

非インデックス付きの更新 - トランザクション単位の平均時間 (㎲:マイクロ秒)

Page 11: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 11

このテストは、テスト 4a と似た結果を示しています。Actian Zen が 1 つのキーを更新する平均時間

(5,000 個の更新すべての平均を取ったもの)は、同じフィルターを使用した MongoDB による更新よりも

数百倍高速でした。

テスト 5a:インデックス付きのキーを基準にして 10,000 ドキュメントを削除する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することで 1 つのドキュメントを削除するのにかかった平均時間(マイクロ秒数)を示してい

ます。

1 つの行を削除するのにかかった平均時間(10,000 ドキュメントすべての平均を取ったもの)は、Actian Zen が MongoDB より何倍も高速でした。

テスト 5b:インデックスなしのキーを基準にして 5,000 ドキュメントを削除する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで 1 つのドキュメントを削除するのにかかった平均時間(マイクロ秒数)を示してい

ます。

4,912

33

0 1000 2000 3000 4000 5000 6000

MongoDB

Zen 13.31

インデックス付きの削除 - トランザクション単位の平均時間 (㎲:マイクロ秒)

Page 12: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 12

インデックスなしのキーを基準にしたドキュメントの削除は、前のテストとの整合性を持った結果になって

います。Actian Zen が 1 つのドキュメントを削除する平均時間(5,000 個の削除すべての平均を取ったも

の)は、同じフィルターを使用した MongoDB による削除の 100 倍以上高速でした。

Android、同期なし

以下の数値は、サーバーとの同期無しで、Android 上の Actian Zen と MongoDB Mobile の両方につい

て、データベース トランザクションあたりの平均経過時間を示しています。各テストは 5 回実行され、最

速値が使用されました。この値は 1 トランザクションあたりの平均経過時間を表しており、全体のテストに

対するものではありません。

テスト 2:25,000 ドキュメントを挿入する

以下は、Actian Zen と MongoDB 上の Contacts データベースに、ランダムに生成したデータの 1 ドキュ

メント全体を挿入するのにかかった平均時間(マイクロ秒数)を示しています。

3,423

31

0 500 1000 1500 2000 2500 3000 3500 4000

MongoDB

Zen 13.31

非インデックス付きの削除 - トランザクション単位の平均時間 (㎲:マイクロ秒)

3,909

533

0 500 1000 1500 2000 2500 3000 3500 4000 4500

MongoDB

Zen 13.31

25,000 行の挿入 - トランザクション単位の平均時間 (㎲:マイクロ秒)

Page 13: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 13

このテストにより、最初の大きな性能差別化要因が明らかになりました。Actian Zen が 1 ドキュメントを挿

入するのにかかる平均時間(25,000 回の挿入すべての平均を取ったもの)は、MongoDB による挿入の 7 倍以上高速でした。

テスト 3a:インデックス付きのキーを基準にして 10,000 ドキュメントを選択する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することでレコードを大量に選択する際、1 ドキュメントあたりにかかった平均時間(マイクロ

秒数)を示しています。

MongoDB の 1 ドキュメントあたりのフェッチ時間(10,000 ドキュメントすべての平均を取ったもの)は、

Actian Zen の場合の 40% 高速でした。

テスト3b:インデックスなしのキーを基準にして 5,000 ドキュメントを選択する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで、レコードを大量に選択する際、1 ドキュメントあたりにかかった平均時間(マイク

ロ秒数)を示しています。

どちらのプラットフォームも非常に迅速に応答しています。MongoDB の 1 ドキュメントあたりの処理時間

(5,000 ドキュメントすべての平均を取ったもの)は、Actian Zen と比較して 66% 余分にかかりました。

3

5

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

MongoDB

Zen 13.31

インデックス付きの選択 - トランザクション単位の平均時間 (㎲:マイクロ秒)

10

6

0 2 4 6 8 10 12

MongoDB

Zen 13.31

非インデックス付きの選択 - トランザクション単位の平均時間 (㎲:マイクロ秒)

Page 14: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 14

テスト 4a:インデックス付きのキーを基準にして 10,000 ドキュメントを更新する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することで 1 つのキーを更新するのにかかった平均時間(マイクロ秒数)を示しています。

このテストでは Actian Zen と MongoDB は全く違う結果を出しました。1 つのキーを更新するのにかかっ

た平均時間(10,000 ドキュメントすべての平均を取ったもの)は、Actian Zen が MongoDB より何倍も高

速でした。

テスト 4b:インデックスなしのキーを基準にして 5,000 ドキュメントを更新する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで 1 つのキーを更新するのにかかった平均時間(マイクロ秒数)を示しています。

このテストは、テスト 4a と似た結果を示しています。Actian Zen が 1 つのキーを更新する平均時間

(5,000 個すべての平均を取ったもの)は、同じフィルターを使用した MongoDB による更新の 4 倍以上

高速でした。

テスト 5a:インデックス付きのキーを基準にして 10,000 ドキュメントを削除する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することで 1 つのドキュメントを削除するのにかかった平均時間(マイクロ秒数)を示してい

ます。

3,187

68

0 500 1000 1500 2000 2500 3000 3500

MongoDB

Zen 13.31

インデックス付きの更新 - トランザクション単位の平均時間 (㎲:マイクロ秒)

2,843

690

0 500 1000 1500 2000 2500 3000

MongoDB

Zen 13.31

非インデックス付きの更新 - トランザクション単位の平均時間 (㎲:マイクロ秒)

Page 15: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 15

1 つの行を削除するのにかかった平均時間(10,000 ドキュメントすべての平均を取ったもの)は、Actian Zen が MongoDB より何倍も高速でした。

テスト 5b:インデックスなしのキーを基準にして 5,000 ドキュメントを削除する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで 1 つのドキュメントを削除するのにかかった平均時間(マイクロ秒数)を示してい

ます。

Actian Zen が 1 つのドキュメントを削除する平均時間(5,000 個の削除すべての平均を取ったもの)は、

同じフィルターを使用した MongoDB による削除の 4 倍以上高速でした。

3,972

623

0 500 1000 1500 2000 2500 3000 3500 4000 4500

MongoDB

Zen 13.31

インデックス付きの削除 - トランザクション単位の平均時間 (㎲:マイクロ秒)

2,505

614

0 500 1000 1500 2000 2500 3000

MongoDB

Zen 13.31

非インデックス付きの削除 - トランザクション単位の平均時間 (㎲:マイクロ秒)

Page 16: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 16

Android、同期あり

以下の数値は、Actian Zen と MongoDB Mobile の両方について、Actian Zen サーバーと MongoDB サーバーそれぞれとの同期ありの場合のデータベース トランザクションあたりの平均経過時間を示してい

ます。各テストは 5 回実行され、最速値が使用されました。この値は 1 トランザクションあたりの平均経過

時間を表しており、全体のテストに対するものではありません。同期があるため、選択テストは実施しませ

んでした。

テスト 2:25,000 ドキュメントを挿入して同期する

以下は、Actian Zen と MongoDB 上の Contacts データベースに、ランダムに生成したデータの 1 ドキュ

メント全体を挿入するのにかかった平均時間(マイクロ秒数)を示しています。

Actian Zen が 1 ドキュメントを挿入するのにかかる平均時間(25,000 回の挿入すべての平均を取ったも

の)は、MongoDB による挿入の約 50% 高速でした。

テスト 4a:インデックス付きのキーを基準にして 10,000 ドキュメントを更新して同期する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することで 1 つのキーを更新するのにかかった平均時間(マイクロ秒数)を示しています。

11,818

5,619

0 2000 4000 6000 8000 10000 12000 14000

MongoDB

Zen 13.31

25,000 行の挿入 - トランザクション単位の平均時間 (㎲:マイクロ秒)

71,503

17,087

0 10000 20000 30000 40000 50000 60000 70000 80000

MongoDB

Zen 13.31

インデックス付きの更新

Page 17: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 17

Actian Zen が 1 つのキーを更新するのにかかる平均時間(10,000 回の更新すべての平均を取ったもの)

は、MongoDB による更新よりも高速でした。

テスト 4b:インデックスなしのキーを基準にして 5,000 ドキュメントを更新する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで 1 つのキーを更新するのにかかった平均時間(マイクロ秒数)を示しています。

Actian Zen が 1 つのキーを更新する平均時間(5,000 個の更新すべての平均を取ったもの)は、同じフィ

ルターを使用した MongoDB による更新の 5 倍以上高速でした。

テスト 5a:インデックス付きのキーを基準にして 10,000 ドキュメントを削除する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックス付きのキーにフィ

ルターを適用することで 1 つのドキュメントを削除するのにかかった平均時間(マイクロ秒数)を示してい

ます。

Actian Zen が 1 つの行を削除する平均時間(10,000 個の削除すべての平均を取ったもの)は、

MongoDB による削除より高速でした。

76,056

14,200

0 10000 20000 30000 40000 50000 60000 70000 80000

MongoDB

Zen 13.31

非インデックス付きの更新

44,258

25,286

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000

MongoDB

Zen 13.31

インデックス付きの削除

Page 18: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 18

テスト 5b:インデックスなしのキーを基準にして 5,000 ドキュメントを削除する

以下は、Actian Zen と MongoDB 上の Contacts データベースにおいて、インデックスなしのキーにフィ

ルターを適用することで 1 つのドキュメントを削除するのにかかった平均時間(マイクロ秒数)を示してい

ます。

インデックスなしのキーを基準にしたドキュメントの削除は、前のテストとの整合性を持った結果になって

います。Actian Zen が 1 つのドキュメントを削除する平均時間(5,000 個の削除すべての平均を取ったも

の)は、同じフィルターを使用した MongoDB による削除よりも高速でした。

31,399

13,093

0 5000 10000 15000 20000 25000 30000 35000

MongoDB

Zen 13.31

非インデックス付きの削除

Page 19: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 19

結論 同一のハードウェア上でのサーバー構成において、Actian Zen は MongoDB より全般的に高速です。

挿入では 6.3 倍、インデックス付きのキーのドキュメントのクエリでは 2 倍、インデックスなしのキーのドキ

ュメントのクエリでは 8 倍、インデックス付きのキーのドキュメントの更新では 791 倍、インデックスなしの

キーのドキュメントの削除では 749 倍、インデックス付きのキーのドキュメントの削除では 148 倍、インデ

ックスなしのキーのドキュメントの削除では 110 倍、高速という結果になりました。 同期なしベンチマークにおいては、Android 上の Actian Zen Edge は MongoDB と比較して、インデック

ス付きのキーにおけるドキュメントのクエリでは 60% 低速でしたが、それ以外の、挿入では 7 倍高速で、

インデックスなしのキーにおけるドキュメントのクエリでは 66%、インデックス付きのキーにおけるドキュメン

トの更新では 46 倍、インデックスなしのキーにおけるドキュメントの更新では 4 倍、インデックス付きのキ

ーにおけるドキュメントの削除では 6.3 倍、インデックスなしのキーにおけるドキュメントの削除では 4 倍高速でした。 同期ベンチマークにおいては、Actian Zen Edge は MongoDB より挿入では 50%、インデックス付きのキ

ーのドキュメントの更新は 4 倍、インデックスなしのキーのドキュメントの更新では 5.4 倍、インデックス付

きのキーのドキュメントの削除では 43%、インデックスなしのキーのドキュメントの削除では 2.3 倍高速で

した。 Actian Zen は、30 年以上にわたるエンジニアリングと開発の経験に基づいており、組み込みデータベー

ス アプリケーションのプラットフォームとして成熟した製品です。Btrieve 2 API は MongoDB のオーバー

ヘッドがかからないため、パフォーマンス上、明らかなメリットを持っていました。また、Actian Zen のTurbo Write Accelerator によっても、Actian Zen の性能上の優位性が明らかになっています。書き込み

は停止して再開するよりも続行する方が、コストがはるかに小さくて済むため、連続的な書き込みは非連

続的な書き込みよりもかなり高速です。Turbo Write Accelerator(TWA)は、物理ファイル内の空きスロッ

トをプリアロケートすることにより、複数のページを合体した単一のページとして書き込めるようにするので、

I/O パフォーマンスが高まり、オペレーティング システムとのやり取りのオーバーヘッドが減少します。 本レポートで説明され、また追試可能でもあるこの手法の Zen アーキテクチャへの適用結果は、Actian Zen のパフォーマンス上の優位性が著しく、ときに驚異的ですらあることを示しています。これは特に、重

要な書き込みオペレーションである挿入、更新、削除を行う場合に当てはまります。 総じて、Actian Zen は、高性能とスケーラブルな NoSQL 組み込みデータベースを必要とする企業に適

した選択肢となっています。

Page 20: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 20

McKnight Consulting Group について William McKnight は McKnight Consulting Group(MCG)(http://www.mcknightcg.com)の社長です。

McKnight は、情報管理の分野で世界的に認められた権威です。McKnight には、多数のグローバル 2000 企業と数多くの中堅企業をコンサルティングしてきた実績があります。McKnight が率いる MCG はそれが行った実装 に対していくつもの最良実施例コンペで優勝を勝ち取り、同氏の顧客の多くはサクセ

ス ストーリーを実現して株式を上場しました。McKnight の戦略は、さまざまな業界のトップ企業の情報

管理計画となっています。 一方、Jake Dolezal は、情報管理分野で 20 年の経験を有し、ビジネス インテリジェンス、分析、データウ

ェアハウス、統計、データのモデリングおよび統合、データの視覚化、マスター データ管理、データ品質

について専門知識を持っています。Dolezal は、医療、教育、政府機関、製造、設計、接客業、ゲームな

ど、広範囲の業界における経験を有しています。Dolezal は、シラキュース大学から情報管理博士号を

取得しています。 MCG のサービスは、情報を、それがお客様の組織にとってなるべき資産へと変換するための、戦略、実

装、トレーニングにわたっています。弊社は、マスター データ管理、ビッグデータ戦略、データウェアハウ

ス、分析データベース、ビジネス インテリジェンスの分野において、戦略立案、デザイン、配置を行って

います。

Page 21: By McKnight Consulting Group 2019 年 7月 協賛: · この機能は、今日のニーズと用途にとって重要です。なぜなら、IoT デバイスの潜在的な数は容易に数

Actian Zen vs. MongoDB NoSQL 組み込みデータベースに関するベンチマーク

© McKnight Consulting Group 2019 http://www.mcknightcg.com 21

Actian について Actian は、ハイブリッドデータの管理、分析および統合を行う企業であり、世界各国に散在する数千の

顧客にデータを競争上の優位として提供します。Actian は、革新的なハイブリッド データのテクノロジー

やソリューションを配置することで、基幹系システム同士がオンプレミスまたはクラウド、あるいはその両方

で相互作用し、かつ最高の状態で統合されることを保証します。Actian Vector と、オンプレミスまたはク

ラウドにおけるハイブリッドデータの管理、分析、統合ソリューションの Actian ポートフォリオの詳細につ

いては、http://www.actian.com をご覧ください。

※本資料は参考のためエージーテックが日本語訳したものです。

予告なく内容が変更される場合がありますのでご了承ください。

本資料ならびに記載の製品についての問合せ先

株式会社エージーテック

東京都千代田区神田錦町 1-21-1 ヒューリック神田橋ビル 3F

TEL : 03-3293-5300 E-Mail : [email protected]