Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ペアーズにおけるData Catalog導入の取り組み
Search
Hikaru Sasamoto
April 03, 2025
Technology
490
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ペアーズにおけるData Catalog導入の取り組み
Hikaru Sasamoto
April 03, 2025
More Decks by Hikaru Sasamoto
See All by Hikaru Sasamoto
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
2.8k
クラウドネイティブなバッチ基盤の品質を再定義し、治安を取り戻した話
hisamouna
1
700
数百以上の様々なバッチが動いているバッチ基盤をECS on FargateからEKS on EC2へ移行した話
hisamouna
3
1.5k
Other Decks in Technology
See All in Technology
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
220
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
210
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
610
【試作】IoT x AIエージェント
happysamurai294
0
110
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
1
860
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
170
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
180
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
290
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
180
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
300
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
1
840
Webとヘルスデータ
yukukotani
0
130
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Building Adaptive Systems
keathley
44
3.2k
Skip the Path - Find Your Career Trail
mkilby
1
210
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Code Review Best Practice
trishagee
74
20k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Transcript
2025年4⽉3⽇ 春のSREまつり 〜 ⼤規模サービス "あるある" との戦い事例 〜 ペアーズにおける DataCatalog 導⼊の取り組み
About Me Hikaru Sasamoto(@hisamouna34) • 株式会社エウレカ ◦ 2022年に⼊社 ▪ SRE
& Data Platform Team ◦ ⿇雀、スポーツ(バスケ‧アメフト‧サッカー)が好き
今⽇のお話しする範囲について • ペアーズで最近導⼊した DataCatalog 環境について • DataCatalog を活⽤した取り組みについて • 話さないこと
◦ DataCatalog ツールの詳細
Agenda 1. DataCatalog とは 2. なぜ DataCatalog を導⼊するに⾄ったか 3. ペアーズにおける
DataCatalog 構成 4. DataCatalog 活⽤の取り組みを紹介 5. まとめ
DataCatalog とは • DataCatalog はデータ利⽤者が必要なデータを探し出せるサービス • DataCatalog のエンドユーザ (参考⽂献 [1])
◦ Data analytics end users ▪ インサイトが得られるデータソースを発⾒するために DataCatalog を 使う⼈たち ◦ Governance end users ▪ 保護すべき confidential データや sensitive データを発⾒するために DataCatalog を使う⼈たち ◦ Everyday end users ▪ 上記に該当しないがデータに関して知りたくて DataCatalog を使う⼈ たち
DataCatalog を導⼊する前に直⾯していた問題 • データガバナンス観点 ◦ ペアーズが保有するデータ資産の全体像を把握することは、開発の効率化やデータガバナ ンス強化の観点から⾮常に重要 ◦ データに関する知識や理解が⻑年在籍している社員の暗黙知として蓄積されているケース が散⾒された
◦ ペアーズでは DLP (Data Lifecycle Policy / データライフサイクルポリシー) を定めてお り、データの分類 (例:UGC、本⼈確認書類、個⼈識別情報) に応じて適切な取り扱いを ⾏なっている ▪ そのため、データ分類の管理がとても重要 ▪ 以前はスプレッドシートで管理されていたが、属⼈性が⾼く、更新漏れや重複管理 のリスクがあった
DataCatalog を導⼊する前に直⾯していた問題 • 開発‧分析観点 ◦ 新機能の開発に使えそうなテーブルを⾒つけたが、各カラムの定義が不明 で使⽤を躊躇する ◦ 特定のビジネスデータを分析したいが、どのテーブルに格納されているの か探すのに時間がかかる
◦ あるデータの変更が他のシステムにどのような影響を与えるか把握でき ず、変更に慎重にならざるを得ない ▪ データの関係性(データリネージ)を明確にしたい
DataCatalog を導⼊を決断 • こうした背景から、データに関する情報を⼀元管理し、誰もが必要な時に必要な情報を知れる 「データを管理する機構」として Data Catalog の導⼊することにした • まずは、データの管理場所の⽤意と最低限のデータ分類ができるようにすることを⽬指す
◦ データリネージやメタデータの充実は次のステップとすることにした
DataCatalog ツールとして、Atlan を採⽤ • Atlan のメリット ◦ SaaS ツールのため、⾃社でのインフラ整備‧管理不要 ◦
各種⾔語のSDKの提供 ◦ 豊富なデータソースコネクションの提供 ▪ MySQL, BigQuery, Tableau… ◦ データソースへのキーレス認証が可能 ▪ e.g. IAM Role ベースでの DynamoDB, S3 アクセスが可能 ◦ RDBMS への直接アクセスすることなしに、テーブル定義などの取得が可能 ▪ 外部サービス (Atlan)からのアクセスのためのネックワークの整備が 不要
ペアーズのデータソース(⼀部)を DataCatalog で管理できるように • アプリケーション⽤途 ◦ MySQL ◦ DynamoDB •
分析⽤途 ◦ BigQuery ◦ dbt (SQL ベースのデータモデリングツール) • 未対応だが、いつか DataCatalog で管理したい ◦ S3 ◦ Tableau ◦ その他、スプレッドシートで管理しているデータ
ペアーズ DataCatalog システム構成図 詳細は次スライドで
Atlan で確認できるカタログデータ データソース カタログデータ類 MySQL • スキーマ名 • テーブル ◦
名前、Description • カラム ◦ 名前、Description、データタイプ • テーブルサイズ、レコード数 DynamoDB • テーブル ◦ 名前 • アトリビュート ◦ 名前、データタイプ • テーブルサイズ、アイテム数 • LSI, GSI BigQuery / dbt • データセット名 • テーブル ◦ 名前、Description • カラム ◦ 名前、Description、データタイプ • (BigQuery) テーブルサイズ、行数
• MySQL ◦ EKS 上で実⾏した Job が Amazon Aurora MySQL
にアクセスし、 カタログデータを取得 ◦ カタログデータを S3 にアップロード ◦ Atlan は S3 にアクセスする Atlan へのカタログデータ Ingestionフロー
Atlan へのカタログデータ Ingestionフロー • DynamoDB ◦ Atlan が DynamoDB にアクセス
▪ DescribeTable で取得できる情報がカタログデータ ◦ 上記だけだと、全アトリビュートをカタログ化することができない ▪ DynamoDB は Key-Value 型のスキーマレスなデータベースのため、アイテムが持 つアトリビュートは事前のスキーマ定義からは分からない ▪ そのため、アプリケーションコード( Go )を静的解析して、dbt モデルとして出⼒ ▪ dbt のカタログデータとして管理
DynamoDB - アプリケーションコード(Go)を静的解析し、モデル化 • 構造体の dynamodbav タグからアトリビュートを取得 • 構造体名からテーブル名を定義している const
を取得 • 取得したテーブル名‧アトリビュートを dbt モデル化 type DDBSample struct { ID int64 `dynamodbav:"id"` Status int64 `dynamodbav:"status"` CreatedAt string `dynamodbav:"created_at"` } const SampleTableName = "ddb_sample" version: "2" models: - name: catalog_dynamodb_ddb_sample config: alias: ddb_sample materialized: table columns: - name: id type: string tags: - ddb_data_type::number - name: status type: string tags: - ddb_data_type::number dbt モデル化
Atlan へのカタログデータ Ingestionフロー • BigQuery ◦ Atlan が BigQuery にアクセスしカタログデータを取得
• dbt ◦ Github Actions でカタログデータを⽣成 ▪ 前述の DynamoDB カタログデータも含む ◦ S3 にアップロード ◦ Atlan は S3 にアクセス
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
活⽤事例
(再掲) DataCatalog を導⼊する前に直⾯していた問題 • データガバナンス観点 ◦ ペアーズが保有するデータ資産の全体像を把握することは、開発の効率化やデータガバナ ンス強化の観点から⾮常に重要 ◦ データに関する知識や理解が⻑年在籍している社員の暗黙知として蓄積されているケース
が散⾒された ◦ ペアーズでは DLP (Data Lifecycle Policy / データライフサイクルポリシー) を定めてお り、データの分類 (例:UGC、本⼈確認書類、個⼈識別情報) に応じて適切な取り扱いを ⾏なっている ▪ そのため、データ分類の管理がとても重要 ▪ 以前はスプレッドシートで管理されていたが、属⼈性が⾼く、更新漏れや重複管理 のリスクがあった
データ分類の管理に DataCatalog を活⽤ • DLP データを DataCatalog での管理に変更 • 対象データに
DLP ⽤メタデータを付与 • 承認ベースでのメタデータ付与が可能なので、意図しない DLP データの⼊⼒を避けることが できる • 今後は、Atlan API を使って、分類に応じた適切な実装をしているかの確認に活⽤できそう
(再掲) DataCatalog を導⼊する前に直⾯していた問題 • 開発‧分析観点 ◦ 新機能の開発に使えそうなテーブルを⾒つけたが、各カラムの定義が不明 で使⽤を躊躇する ◦ 特定のビジネスデータを分析したいが、どのテーブルに格納されているの
か探すのに時間がかかる ◦ あるデータの変更が他のシステムにどのような影響を与えるか把握でき ず、変更に慎重にならざるを得ない ▪ データの関係性(データリネージ)を明確にしたい
から抜粋 (参考資料[2])。 DataCatalog 構築により、LLM アプリケーションが活⽤できるデータソースが充実 LLM for Developer として、 社内ユーザ向けのツールを提供
LLM for Developer への取り組み
⾃然⾔語でのデータ関連質問への回答をしてくれる Slack Bot 提供 • Atlan に保存されたカタログデータのダンプを S3 にアップロードし、Amazon Bedrock
Knowledge Bases に同期 • ⾃然⾔語での問い合わせが可能になり、⾮エンジニアでも使いやすく • Amazon Bedrock Knowledge Bases MCP を実装し、開発にカタログデータを利⽤できるように 参考資料 [3]
⾃然⾔語でのデータ関連質問への回答をしてくれる Slack Bot 提供
CONFIDENTIAL INFORMATION: Not for Public Distribution - Do Not Copy
今後の展望
今後の展望 • MySQL の Performance Schema のデータや インデックス情報も DataCatalog で管理
できるようにしたい ◦ MCP で Amazon Bedrock Knowledge Bases の情報を取ってくるようにできれ ば、開発時にデータソースに関する情報(テーブルサイズ、インデックスの有無) に応じて、適切なコード⽣成をサポート ◦ MySQL へのクエリレビューで活⽤できそう • データの依存関係を明らかにする ◦ BigQuery と BI ツールの関係性がわかれば、不要なテーブル洗い出しに使える • メタデータをデータオーナが簡単に付与できる仕組みづくり
DataCatalog を活⽤して、データガバナンスの好循環を⽣み出す
参考⽂献‧資料 • [1] Ole Olesen-Bagneux . The Enterprise Data Catalog
. O'Reilly Media, Inc, February 2023 • [2] Takumi Ogawa . SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの 取り組み~ https://speakerdeck.com/takumiogawa/sregatou-zi-suruaiops-peazuniokerullm-fo r-developerhenoqu-rizu-mi • [3] Takashi Narikawa . ペアーズにおけるAmazonBedrockを⽤いた障害対応⽀援⽣成 AIツールの導⼊事例 https://pages.awscloud.com/rs/112-TZM-766/images/20241115-AWS-AIML-2-Eurek a.pdf
We’re hiring! ペアーズではエンジニアを積極採⽤中! カジュアル⾯談もお待ちしております! (X: @hisamoua34)
None