2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

エッジコンピューティングによって高性能化したエッジ機器にデータが格納されるようになると、クラウドサービスにデータを集めないでエッジ機器のデータを直接検索したいとニーズが生まれてきました。そして、IoT(Internet of Things) システムでは広域に分散されたエッジ機器のデータ群を高速に検索するために、マルチデータベースにアクセスできる分散SQLエンジンが求められています。そこで、データレイク・エンジンの Dremio についてまとめました。
動作環境やライセンスなど基本情報から、対応プログラム言語、可用性、拡張性など機能情報やセキュリティまで掘り下げて、以下のようにまとめました。

Dremio

Dremio は、MongoDB、JSON ファイルといった非構造型のデータや、Redshift、PostgreSQL、SQLServer といった従来の構造型のデータに対して統一した SQLインターフェイスを提供します。さらに、そうしたさまざまな種類のデータソースに対してクエリの最適化とデータのキャッシュの管理を自動的に行います。また、Apache Arrow を使用したカラムナーのインメモリ処理と、元となるデータソースへの先進的なプッシュダウンを活用し、Apache Parquet によるデータソースの高度に最適化された物理的表現を利用することで、クエリパフォーマンスの高速化を可能とします。
Dremioは1つ以上のCoordinatorと1つ以上のExecutorを持っています。
参照 : Dremio Document : IntroductionArchitecture

基本情報

項目            内容
URL https://www.dremio.com/
データモデル 不明
動作環境 CPU: 64 bit CPU
メモリ: 最大2GBのヒープメモリ、4GBの直接メモリ(MacOS X の場合)
ストレージ
OS:RHEL、CentOS 6.7以上、CentOS 7.3以上、Windows7以上、MacOS 10.12以上
Software : 64 bit Java Development Kit version 1.8、Webブラウザ(Google Chrome 54以上、Apple Safari 11以上、Mozilla Firefox 50以上、Microsoft Edge 14以上、Microsoft Internet Explorer 11以上)
参照 : Dremio Document : Standalone Quickstart
実装言語 Java
ライセンス Community Edition は Apache License, Version 2.0
Enterprise Edition は 製品ライセンス(1契約ごとに年間1万2000ドル)
参照 : Dremio Enterprise Edition
主なバージョン Release 3.3 (2019-07-29) : AzureストレージOAuth認証、シングル・サイン・オン
Release 3.2 (2019-05-10) : Azureストレージへ接続が可能、クラウド・オーケストレーション・テンプレートの追加
Release 3.1 (2019-01-18) : Hash Aggregation Spilling機能の追加、コネクタ・フレームワークの増強
参照 : Dremio Document : Release Notes
開発元 Dremio
開発体制 Contributorは、3名
Contributorは、Contributor License Agreement を締結する必要がある
活動状況 dremio communityの投稿月間平均約 100件、GitHubでソースコード・コミット月間 数件
参照 : dremio communityGitHub Commits
国内サポート体制 現時点で国内での保守サポートサービスを行っている企業、団体はありません
その他 OSS版では、メジャーDBのドライバーの使用などで、かなり機能が制限されています。また、現時点で使用できる機能であっても使用不可になる可能性があります。
参照 : readme

機能情報

項目            内容
対応プログラム言語 ODBC、JDBCドライバを利用可能なプログラム言語であればアクセス可能
参照 : Dremio Document : Client Connectivity
アクセス可能なDB PostgreSQL、MySQL、Oracle、Microsoft SQL Server、IBM DB2 (Enterprise Edition のみ)、Amazon Redshift、Azure Data Lake Store、Amazon S3、HDFS、NAS、MapR-FS、Elasticsearch、Amazon Elasticsearch Service、Hive、HBase、MongoDB
参照 : Dremio Document : Data Sources
クエリ言語 SQL
マルチテナント Multi-tenant workload controls という機能でマルチテナント機能を実現しています(Enterprise Edition のみ)
インデックス なし
トランザクション なし
ストアドプロシジャ なし
dockerコンテナ dockerhubで、dremio community editionのDocker Containerイメージが公開されています。
https://hub.docker.com/r/dremio/dremio-oss/
性能拡張 1~1,000以上のCoordinatorノードでスケールアウトを実現しています
参照 : Dremio Document : Cluster Deployments
高可用性 バックアップ・コーディネータ・ノードを用意することで高可用性を実現します。ZooKeeper がアクティブなコーディネータ・ノードを監視していて、ダウンした場合、バックアップ・コーディネータ・ノードにフェイルオーバーを実施します。
Dremio Document : High Availability
運用 メタデータとユーザがアップロードしたファイルはバックアップ/リストアすることが可能です。バックアップにはキャッシュの内容、ダウンロードファイル、検索結果を含みません。
また、Dremio UIと呼ばれる管理者ツールが提供されます。
参照 : Dremio Document : Backup DremioRestore Dremio
出来ないこと

セキュリティ

項目            内容
通信暗号化 すべての通信は、TLSに対応可能しています(Enterprise Edition のみ)
DB格納領域の暗号化 ありません
認証機能 LDAP 認証(Enterprise Edition のみ)
権限管理 Dremio UIからデータセット、ソース、スペース、フォルダに共有や権限の設定が可能です。権限は UNIXベースの権限を設定しています。
DB監査 ありません

参照 : Dremio Dcoument : Data Security

まとめ

Dremio は分散型SQLクエリエンジンに特化しているため、一般的なDB機能はサポートしていませんが、高可用性、運用面は考慮されています。ただし、マルチテナント機能、セキュリティを考えると製品版を使用することになりそうです。

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

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

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?