メタデータ管理OSS個人的まとめ
いろいろ触ったのでまとめる。(今後追記予定あり)
TL;DR
データガバナンスツールのOSSにおいて、世間的にデファクトスタンダード的なものも、個人的にこれは!というものも見た限りなかった。 テクニカルメタデータの収集はだいたいどこも同じな一方、ビジネスメタデータ、リネージへの取り組みには顕著な差がある。 お金があるなら有償製品を導入したほうがいいかもしれない。 1 データガバナンスツールは、JIRAみたいなビジネスツールとして捉えるべきという所感。
変更履歴
- 2020-05-18
- Egeriaを追加
前提と関心のある領域
- ベンチャーではなく様々な領域の事業を扱う大きめの企業。
- マルチクラウド、マルチベンダー、マルチプラットフォーム。データストアは数百以上。
- ETL基盤、データ分析基盤はすでに存在し、内製のメタデータ管理ツールもある。
- データ利活用よりもガバナンスを強化したい。
調べたOSS一覧と諸元
プロダクト名 | 開発元 | ライセンス | リポジトリ |
---|---|---|---|
Amundsen | lyft | Apache Licence 2.0 | https://github.com/lyft/amundsen |
datahub | Apache Licence 2.0 | https://github.com/linkedin/datahub | |
metacat | Netflix | Apache Licence 2.0 | https://github.com/Netflix/metacat |
Apache Atlas | Apache Foundation | Apache Licence 2.0 | https://github.com/apache/atlas |
Egeria | ODPi | Apache Licence 2.0 | https://github.com/odpi/egeria |
Amundsen
pros
- マイクロサービス的に画面のサービス、検索のサービス、メタデータのサービスに別れている。
- データ収集処理が抽象化されており再利用しやすそう。
cons
datahub
- もともとWhereHowsというモノリシックなガバナンスツールのリプレイスで生まれた。
- 検索にElasticsearch、メタデータのストアにNeo4jを利用。3
- Push型で、kafkaを通じてCDCを処理できる。
- Java製
pros
- テーブルレベルについてオーナーシップを細かく設定できる。
- DB単位にはできない
- avroでスキーマ管理されているので厳格な運用ができる。
- データの上流下流を定義できる。(リネージ)
- データセットが非推奨であることを明示的に設定可能。-> ライフサイクル管理の概念がある
cons
- 画面からデータを投入することができない。すべてAPI経由。人間の手を入れないほうが管理が楽という割り切りかもしれない。
- elasticsearchのバージョンが5系。ESの最新バージョンは8なので結構な遅れがある。(ES自体に破壊的変更が入ってる)
metacat
(とっつきが悪くあまり調べられなかった…)
Apache Atlas
- もともとHadoop周りのデータガバナンスを主眼にしたものが汎用になったらしい。
- 調べたOSSの中では一番機能が豊富。
- 検索はSolrかElasticsearch、メタデータストアはHBaseかCassandraが選べる。
- Java製
- IBMの研究者が "Apache Atlas is the lead contender as the choice of such an open source project." と言ってる。
pros
- 強力な型システムにより、どんなミドルウェアにも対応できる。
- ビジネスメタデータも型システムで表現すれば格納できる。
- ClassificationとLineageを組み合わせて、Classificationの伝播を表現できる。
- あるテーブルにPII(個人を識別できる情報)が入っるとフラグづけすると、 それをETLした先のテーブルにも自動的にPIIのフラグが設定される。
- Lineageが強そう。
cons
- 型システムが強力だが自分で設計する必要がある。概念の学習コストも高い。
- その汎用性ゆえか、画面の動線がいまいちで、すべての情報がフラットに見える。
- APIが公開されているので自分たちで実装したほうがよいと思った。
Egeria
- Open Data Platform initiative(ODPi)が開発する、メタデータ交換のための規格(The open metadata type system)および、その実装。
- ODPiがベンダーツール間のオープンメタデータ交換を促進する新しい Egeria Conformance Programを発表
-
オープンなビッグデータ エコシステムの簡素化、共有、および開発のための標準規格になることを目指しています。
- the open metadata type systemは、メタデータを7つのAreaに分類整理し運用しようというもの?
- バックエンドに前述のApache Atlasを採用してるぽい。
- Java製。
- リリースバージョンは1.7になってる。
pros
- 2018年から開発が始まり勢いは活発っぽい。
- the open metadata type systemの概念は有用そう。
- ガイドラインがやたら豊富。チュートリアルも用意されてるので学習しやすい(か?)
- マイクロサービスを意識した構成。
cons
- コンポーネントがやたら多い。
- webuiが見当たらない? どうやって動かすんだこれ。
まとめ
いずれのOSSも成熟してるとは言い難い。 metacatの記事でコメントされていたが、基本的に各社のビジネスにフォーカスした必要な分だけの機能となっており、再利用は難しい。 とりわけ、対応データソースにはムラがあり、実際の収集をする実装が公開されていないため、結局自分たちで実装する必要がある。また、ガバナンスの観点ではほぼカバーされておらず、いわゆる分析用途がフォーカスされている感がある。
メタデータストア部分と、データグラフ構築は再利用できるかもしれない。 APIを利用したWebUI、ワークフローなどはスクラッチするべきか。 いずれも各プロダクトの独自スキーマ定義を理解する必要があり、学習コストは高い。
未調査,非公開または有償製品
プロダクト名 | 開発元 | 有償製品 | 紹介記事 |
---|---|---|---|
Dataportal | AirBnb | Democratizing Data at Airbnb - Airbnb Engineering & Data Science - Medium | |
Alation | Alation | o | https://www.alation.com/ |
Databook | Uber | https://eng.uber.com/databook/ | |
AWS Glue DataCatalog | Amazon | o | https://docs.aws.amazon.com/ja_jp/glue/latest/dg/populate-data-catalog.html |
GCP Data Catalog | o | https://cloud.google.com/data-catalog | |
Collibra | Collibra | o | https://www.collibra.com/ |
Ground | UC Berkeley’s RISE Lab | http://www.ground-context.org/ |
Appendix
- Amundsen — Lyft’s data discovery & metadata engine - Lyft Engineering
- メタデータのABCについての言及
- Compare Alation vs. Collibra in Metadata Management Solutions | Gartner Peer Insights
- Data Dictionary: a how to and best practices - Carl Anderson - Medium
- How LinkedIn, Uber, Lyft, Airbnb and Netflix are Solving Data Management and Discovery for Machine Learning Solutions
- Data Lineage and Metadata Management: An Innovative Approach - DATAVERSITY
[^4] 2020-05-18 追記