LoginSignup
3
1

More than 3 years have passed since last update.

分散SQLエンジン(マルチデータベース・アクセスツール)の調査

Last updated at Posted at 2019-12-13

エッジコンピューティングによって高性能化したエッジ機器にデータが格納されるようになると、クラウドサービスにデータを集めないでエッジ機器のデータを直接検索したいとニーズが生まれてきました。そして、IoT(Internet of Things) システムでは広域に分散されたエッジ機器のデータ群を高速に検索するために、マルチデータベースにアクセスできる分散SQLエンジンが求められています。そこで代表的な分散SQLエンジンの Presto, Apache Drill, Dremio, PGSpider を調査して比較しました。

性能評価は、うちのメンバーがFOSDEM PGDay 2020で発表しています。
https://www.postgresql.eu/events/fosdem2020/sessions/session/2893/slides/281/FOSDEM2020PGDay_PGSpider.pdf

調査項目

時系列データベースの調査項目は以下の通りです。

調査項目            調査内容
対応プログラム言語 アプリケーションからデータベースを操作可能なプログラム言語
アクセス可能なDB マルチDBアクセスツールからアクセス可能なデータベース
クエリ言語 データベースに対する問い合わせ言語。主にSQLの調査
マルチテナント マルチテナント機能の有無
インデックス 使用可能なインデックスの種類及び特徴
トランザクション トランザクションの特性。ACID特性など。
ストアドプロシジャ ストアドプロシージャ/ファンクションの有無、記述言語
dockerコンテナ dockerコンテナイメージが提供されているかどうか
性能拡張 スケールアウトを中心にどのように性能拡張するのかを調査。主にシャーディング機能の調査。
高可用性 障害発生時に継続動作するためのメカニズムについて調査。主にレプリケーション機能の調査。
運用 運用時に必要なバックアップや監視ツールについて調査
通信暗号化 DBサーバとクライアント間の通信暗号化機能の有無
DB格納領域の暗号化 DBファイルなどの格納領域の暗号化機能の有無
認証機能 ユーザーを識別するような認証機能の有無
権限管理 DBオブジェクトに対する権限付与する機能の有無
DB監査 操作の履歴である監査証跡(ログ)機能の有無

調査結果比較

以下は、調査結果を比較した表です。

調査項目            Presto Apache Drill Dremio Dremio (製品版) PGSpider
対応プログラム言語
アクセス可能なDB
クエリ言語
マルチテナント
インデックス
トランザクション
ストアドプロシジャ
dockerコンテナ
性能拡張
高可用性
運用
通信暗号化
DB格納領域の暗号化
認証機能
権限管理
DB監査

詳細の調査結果は以下に掲載しています。
- Prestoの調査
- Apache Drillの調査
- Dremioの調査
- PGSpiderの調査

まとめ

IoTデータのビッグデータ検索で分散型SQLクエリエンジンを使用することを考えると、マルチテナント機能は外せません。また実運用を考えると高可用性、運用、セキュリティを考慮する必要があります。この条件では、Dremio(製品版)と PGSpider という2択になります。Presto は、高可用性、運用面を自前で対応すれば、選択肢に挙がってきます。現時点では、あえて Apache Drill を選択する理由はないと考えます。

掲載内容は、(株)東芝 デジタルイノベーションテクノロジーセンター及びソフトウェア技術センターの見解です。コメント等は広くご意見を頂ければ幸いです。

また、記述について誤りがあったり、気になることがあれば、編集リクエストやコメントでフィードバックしていただけると助かります。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1