Slide 1

Slide 1 text

Databricks連携で実現する DWHモダナイゼーション

Slide 2

Slide 2 text

Yamazaki Junya Data Strategy Office  Data Engineering Division DRE Group 2021年2月マネーフォワードに入社 現在の分析基盤を構築。 最近はデータ・インフラの統合、最適化に注 力しています。

Slide 3

Slide 3 text

Agenda 1. Platform概要
 2. Project Raven
 3. アーキテクチャ Before & After
 4. Platform統合の上り方
 5. Ravenとは
 6. まとめ


Slide 4

Slide 4 text

基盤概要

Slide 5

Slide 5 text

分析基盤 概要 3種類の基盤が存在
 - Crow, AWS databricks 
 - セキュアな環境
 - InfoDB, GCP Bigquery in tokyo 
 - 次にセキュアな環境
 - Fractal, GCP Bigquery in US 
 - カジュアルな環境


Slide 6

Slide 6 text

https://speakerdeck.com/databricksjapan/databricksniyorusekiyu adexiao-lu-de-nadetaenziniaringunoshi-xian

Slide 7

Slide 7 text

分析基盤 概要 3種類の基盤が存在
 - Crow, AWS databricks 
 - セキュアな環境
 - InfoDB, GCP Bigquery in tokyo 
 - 次にセキュアな環境
 - Fractal, GCP Bigquery in US 
 - カジュアルな環境


Slide 8

Slide 8 text

同じETLを二箇所で実行している 
 - DatabricksとBigQueryは同じS3をデータソース としている
 - 同じテーブルがDatabricksではDatabricks jobsで、BigqueryではCloud composerで作成 されている
 分析基盤 イシュー

Slide 9

Slide 9 text

VDIからBigqueryへの参照がつらい 
 - セキュリティ上の理由により BigqueryはA5M2経 由でのみ提供
 - Service accountがクエリを発行するため個 人の区別がつかない
 - JDBC越しなのでBigquery Consoleの機能 は使えず
 分析基盤 イシュー

Slide 10

Slide 10 text

転送コストが高い 
 - Storage Transfer Service をS3→GCSで利用
 - 実は保存コストより転送コスト (転送に利用す るlist, get APIリクエスト代含む)の方が高い
 分析基盤 イシュー

Slide 11

Slide 11 text

Databricksの環境が古い 
 - 3環境で一番古く、当時を知るものはいない 
 - Hive metastore使用
 - Databricksに関してはIaCなし
 - AWSのリソースに関してはある 
 分析基盤 イシュー

Slide 12

Slide 12 text

Databricks連携で実現する DWHモダナイゼーション

Slide 13

Slide 13 text

古いDatabricks基盤の 移行奮闘記

Slide 14

Slide 14 text

Project Raven ~databricks統合~

Slide 15

Slide 15 text

Project Raven databricks統合 in Raven Poject
 ● 統合化されたCrow+InfoDB environment
 ○ New databricks workspace for Raven
 ● リソースは全てコード管理
 ○ インフラ、ジョブ共に
 ● 環境はDatabricks
 ● 閉塞環境での提供


Slide 16

Slide 16 text

分析基盤 概要 3種類の基盤が存在
 - Crow, AWS databricks 
 - セキュアな環境
 - InfoDB, GCP Bigquery in tokyo 
 - 次にセキュアな環境
 - Fractal, GCP Bigquery in US 
 - カジュアルな環境


Slide 17

Slide 17 text

Project Raven Difference 
 ● For Crow User
 ○ 以下が提供開始
 ■ serverless SQL warehouse
 ○ 管理がUnity Catalog移行
 ■ Data lineage
 ■ Data quority
 ■ Permission control
 ● For InfoDB User
 ○ Databricks consoleが利用可能
 ■ Auto complete
 ■ Suggest
 ■ Chat with LLM
 ● Query optimization
 ■ Save query
 ■ Query history 
 ○ それぞれのユーザ単位で Auditlogが 自動保存される


Slide 18

Slide 18 text

Architecture Before & After

Slide 19

Slide 19 text

分析基盤 Before 3種類の基盤が存在
 - Crow, AWS databricks 
 - セキュアな環境
 - InfoDB, GCP Bigquery in tokyo 
 - 次にセキュアな環境
 - Fractal, GCP Bigquery in US 
 - カジュアルな環境


Slide 20

Slide 20 text

分析基盤 After 2種類の基盤に統合
 - Raven, AWS databricks 
 - セキュアな環境
 - 次にセキュアな環境を兼ねる
 - Fractal, GCP Bigquery in US
 - カジュアルな環境


Slide 21

Slide 21 text

Platform 統合

Slide 22

Slide 22 text

Platform 統合 Phase 1 3つにフェーズ分け
 - Phase 1:
 - Create new workspace
 - 既存の環境からデータを 読む
 - 既存の環境は触らない
 これで
 ● 閉塞環境下での挙動の確認
 ● 権限統制の確認


Slide 23

Slide 23 text

Platform 統合 Phase 2 - Phase 2:
 - CrowとInfoDBのETLを実施 
 - InfodbがFractalへの踏 み台に
 - S3→GCSは継続
 
 これで
 ● 両環境の比較可能
 


Slide 24

Slide 24 text

Platform 統合 Phase 3 - Phase 3:
 - 統合
 - DWHの役割を完全移行
 - マートはBigqueryに
 - これはアナリスト、 マーケターなどの ユースケースに依存


Slide 25

Slide 25 text

Raven

Slide 26

Slide 26 text

Project Raven databricks統合 in Raven Poject
 ● 統合化されたCrow+InfoDB environment
 ○ New databricks workspace for Raven
 ● リソースは全てコード管理
 ○ インフラ、ジョブ共に
 ● 環境はDatabricks
 ● 閉塞環境での提供


Slide 27

Slide 27 text

Raven CI/CD ほぼ全てのリソースが IaC対象
 - Infra
 - Terraform
 - Job
 - Databricks Asset Bundle


Slide 28

Slide 28 text

Raven CI/CD ほぼ全てのリソースが IaC対象
 - Infra
 - Terraform
 - Job
 - Databricks Asset Bundle
 ※対象外
 - Terraformにない機能
 - Schema
 - 権限のバインディングはコード管理され ている


Slide 29

Slide 29 text

Raven Auth 権限管理
 - SSOでログイン
 - EntraIDでユーザグループを管理
 - 権限はグループ単位でバインディン グ
 - 個人単位の管理は不要


Slide 30

Slide 30 text

Raven Table structure テーブル構成 
 - 現状我々でマート作成は実施して いない
 - Goldは現在なし
 - カラム単位での制御のため Dynamic Viewでグループごとの 制御を実施


Slide 31

Slide 31 text

Raven Table structure テーブル構成 
 - 現状我々でマート作成は実施して いない
 - Goldは現在なし
 - カラム単位での制御のため Dynamic Viewでグループごとの 制御を実施
 
 ※Dynamic Viewはタイムトラベルを使 えないので一部silverを解放している


Slide 32

Slide 32 text

Raven AI/ML Ravenから様々な方式で連携 
 - Delta Sharingでテーブルを共有
 - ModelデータをS3経由で共有
 - DatabricksのAPIで共有
 - とかとか


Slide 33

Slide 33 text

Raven AI/ML Ravenから様々な方式で連携 
 - Delta Sharingでテーブルを共有
 - ModelデータをS3経由で共有
 - DatabricksのAPIで共有
 - とかとか
 
 ※統合予定


Slide 34

Slide 34 text

Raven Cluster management 閉塞環境下でもユーザが望む 
 環境を
 - 任意のDocker imageをPR経由で 利用可能
 - クラスタに関する権限もEntraIDの グループで管理


Slide 35

Slide 35 text

Raven 管理観点 - System tableが有用
 - 有効にするだけで勝手に収集
 - ディスクリプションも埋まってる
 
 


Slide 36

Slide 36 text

Raven 管理観点 - System tableが有用
 - 有効にするだけで勝手に収集
 - ディスクリプションも埋まってる
 
 Genieとの相性がいい! 
 


Slide 37

Slide 37 text

Raven ユーザ調査

Slide 38

Slide 38 text

Raven ユーザ調査

Slide 39

Slide 39 text

まとめ

Slide 40

Slide 40 text

統合のアプローチ フェーズに分けた統合作業 
 - 並列稼働によりリスク、ダウンタイムを軽減 
 権限管理の先進化 
 - 既存のEntraIDベースで権限構成を組み立て管理工数を節約 
 Infrastructure as Code (IaC)
 - 自動化によりミスが減り、効率が向上 
 


Slide 41

Slide 41 text

- Databricksのカタログ移行は一気に行わず平行稼働すべき - パーミッションなど変更範囲が広いため - Bigqueryのレイクハウスフェデレーションはとても便利だが、パフォーマン スには気をつけて - Genieをusageの調査に使うのは役に立った - System tablesとの組み合わせは再現性がある - エラーの自動解決は、BigQueryからのクエリを書き換える際にも役に立っ た。
 学び

Slide 42

Slide 42 text

We are hiring!