各製品の資料を入手。
詳細はこちら →MongoDB Driver のパフォーマンス比較
本記事では、2019年6月時点で入手可能なドライバーをそれぞれ利用しています。
本記事では、他の2社(Competitor 1 およびCompetitor 2)とMongoDB, Inc. が提供する同様のドライバーとCData のドライバー製品のパフォーマンスを比較しています。同じデータセット・同じクエリを使ってデータの読み出しクエリの実行時間を比較しました。
パフォーマンスはマシンのスペックに左右されますが、同じマシンで行った結果としてドライバーの相対的なパフォーマンス比較になっています。
使用データ
再現可能な比較とするために、restaurants dataset (made publicly available by MongoDB, Inc.) を複製して、より大容量のデータセットとして使用しました。クエリされたテーブルは次の通り:
Table | Number of Rows |
---|---|
restaurants | 25,360 |
restaurants_2 | 2,003,362 |
restaurants_3 | 10,016,805 |
クエリ
本記事の目的はドライバーのパフォーマンス比較です。それぞれのドライバーで同じクエリを実行しています。クエリ結果はstring 値として保存しています。クエリは次の通り:
- SELECT borough, restaurant_id, _id, cuisine, name FROM restaurants
- SELECT borough, restaurant_id, _id, cuisine, name FROM restaurants_2
- SELECT borough, restaurant_id, _id, cuisine, name FROM restaurants_3
結果
ドライバー/プラットフォームごとのクエリ結果は次のとおり:
JDBC / Java Drivers
それぞれの企業は、JDBC Driver もしくはMongoDB データをJava アプリケーションからクエリ可能なテクノロジーを提供しています。シンプルなJava アプリケーションからのクエリ実行結果は次のとおり:
JDBC/Java Query Times by Company (in milliseconds) | ||||
---|---|---|---|---|
Query | CData Software | Competitor 1 | Competitor 2 | MongoDB, Inc. |
1 (~25,000 rows) | 59.3 (-15% - +28%) | 62.8 | 50.4 | 75.7 |
2 (~2,000,000 rows) | 1,548.9 (up to +200%) | 1,555.6 | 3,035.5 | 4,646.7 |
3 (~10,000,000 rows) | 10,195.1 (+6% - +174%) | 10,795.3 | 17,798.8 | 27,991.9 |
CData Drivers は、他社のドライバーと同等もしくはより高いパフォーマンスでのクエリが可能でした。最もパフォーマンスの悪かったドライバーと比べると2倍以上のパフォーマンスとなりました。同等のパフォーマンスでもCData Drivers がリアルタイムでのスキーマ検出を行っていることは言及すべきです。
より大きなデータセットでの平均実行時間は次のとおり:
Results for ~2,000,000 Rows

Results for ~10,000,000 Rows

まとめ
CData Software のドライバーは、他社のドライバー製品や同様の製品より高いパフォーマンスが得られることが確認できました。特にデータセットが大きな場合には差が顕著です。やや遅い場合でもその差は10ミリ秒程度と少なく、リアルタイムスキーマ検出という他社のドライバーにはないNoSQL を深くドリルダウンできる機能によるものと考えています。
パフォーマンスは、一つの側面ですが、CData Software がデータ連携において高い知見を持ち製品実装を行っていることの指標となります。CData では、ユーザーのスムーズなデータ連携をサポートするために、機能およびパフォーマンスの向上に日々努めています。
Related Articles
- NoSQL Drivers: Feature Comparison - Compare how drivers from different vendors handle complex queries and complex datasets from NoSQL data sources.
- CData NoSQL Overview - Learn about the features that set our Drivers technologies apart when working with NoSQL.