先週、Data Engineering Study という勉強会でざっくりとモダンデータスタックの話をした。
イベント参加登録者は400人超で最大同時接続数は180くらいだったそうな。
こちら第14回 #DataEngineeringStudy の発表資料です。Overview of The Modern Data Stack / モダンデータスタック概論 - Speaker Deck https://t.co/k4GK5QQcBq
— 🐘 (@satoshihirose) June 7, 2022
感想
発表のために調査して自分も色々勉強になった。良い反響もいただけて、準備したかいがあったと感じられた。 本当は、プロダクトの紹介のみならず、実際の使用感や活用事例を含めて紹介できれば良かったのだが、そこまで調べ切ることはできなかった。
今回紹介したようなプロダクトが全てうまくいくとは思っていないけれど、その試行錯誤で得られたプラクティスはその他のプロダクトや現場の運用にも徐々に反映されていくのだろうとは思う。日本においてもデジタル化が進んでデータ活用・管理の機会が増える一方でエンジニアの供給はそこまで増えていないだろうから、ツールの進化で成果をレバレッジできるような世の中になれば良いなと思う。
Q&A
1 どうやって情報を仕入れているか?
基本的に Twitter で流れてきた意見や記事を読んでいるだけ。気になる記事の author なんかを探してフォローしたりしている。やっぱりトレンドということもありデータスタートアップ界隈で議論は活発になされている。
e.g. Modern Data Stack (@moderndatastack) | Twitter
2
リバースETLをどういう責務の組織が担うかはすごく難しいなとずっと思っている
— えさ (@0610Esa) June 8, 2022
ビジネスサイドで入れたMAツールの仕様までデータエンジニアがキャッチアップするのは大変だし、一方でデータアナリストにそのエンジニアリング要件求めるのもちょっと大変だし#DataEngineeringStudy
組織の状況によって分かれるかなと思う。DWH にデータが存在することが Reverse ETLの前提なので、データエンジニア的なロールの人がいる組織という前提ではある。
- ある程度リテラシーがある非エンジニアリング部門の人が、エンジニアの手間を減らしてデータ活用を行うために Reverse ETL を活用するケース
- データエンジニアが、データ連携の実装・運用コスト軽減のために自分でデータの用意から Reverse ETL の設定までを行うケース
1 の場合はマーケターとかが必要なデータを調べて、データエンジニアにテーブル作成までを依頼するようなフローになると思うし、2 の場合は、データエンジニアが全部自分で実装してきた処理を一部 Reverse ETL に任せるようなフローになるかな。
3
Reverse ETLしたデータをアプリケーションで使う場合、データ品質をどう担保するのかが気になります。要求される品質が高そう。 #DataEngineeringStudy
— Hiroki Uchide (@hanon52_) June 8, 2022
んー、Reverse ETL の有無にかかわらず、DWH 上のデータ品質を上げる方法を実施していく感じじゃないかしら。Reverse ETL の利用者が誤ったデータの使い方をしてしまうような場合は、ドキュメントやメタデータを充実させるなどして地道にエデュケーションするしかなさそう。
4
Reverse ETL(Data Activation)とMDMとの関連性はどう思われますか?#DataEngineeringStudy
— 業務寄りの人 (@danakamura256) June 8, 2022
MDMを意識的に組織で実践したことがないからわからないけれど、MDM的なものはDWH上で引き続き実施されて、Reverse ETL的な処理はマスターデータやファクトデータのその時々のスナップショットを同期するみたいなイメージを持っている。
5
AWS DMSのCDCはあんまりこういう時話題にならないな🥲 確かに事例少なそうだけども #DataEngineeringStudy
— 黒椅子 (@fuc6w) June 8, 2022
へーAWS DMSがCDCしてくれるの知らなかった。
AWS Database Migration Service による Change Data Capture: 前編 - public note
6
CDCをナイーブにやるとDBの中のデータを全部吸い出すことになっちゃって、データ基盤とデータソースが必要以上に結合することになっちゃう気がする
— saka1 (@saka1_p) June 8, 2022
例えばカラムを落としたり適宜ハッシュ化したりの支援機能も入ってるのかなあ #DataEngineeringStudy
調べたらとりあえず debezium は Transformation とか Filtering には対応しているっぽいですね。 Transformations :: Debezium Documentation
7
#DataEngineeringStudy 主婦だけでもなく、小さい子供持ちで保育園行かせている家庭にとっては今日はありがたい時間帯な気はしますw
— Penguin lover engineer (@kimutansk) June 8, 2022
運営の方いわく、アンケートをとったところ発表者には昼間の開催が人気の一方、参加者には夜の発表が人気だったとのこと。個人的には昼間の方が嬉しいですねー。
8
メトリック、使い捨ても多くなりがちなので、そこと集中管理するかどうかのトレードオフに悩みそうではある。それがなくなる世界を見てみたい#DataEngineeringStudy
— 阿部 昌利 (@ABE_Masatoshi) June 8, 2022
やっぱり Airbnb みたいな、かなりデータ活用が組織に広がって管理が大変になってきた大きい企業じゃないとメリットだしにくそうな感じはしますよねー。dbt で管理して活用先に Reverse ETL するくらいの形が一番運用しやすいかもですね。