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
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
610
振り返りこそエンジニアの本領
negima
0
140
AIエージェントを雇う前に決める5つのこと
knishioka
1
140
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
170
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
170
Master Dataグループ紹介資料
sansan33
PRO
1
4.9k
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
3
1.3k
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.6k
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
190
DINO-EdgeQuery:Edge-First Polygon Decoding for Building Footprint Extraction from Satellite Imagery
lehupa
0
130
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
290
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
1
360
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
KATA
mclloyd
PRO
35
15k
GraphQLとの向き合い方2022年版
quramy
50
15k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
We Have a Design System, Now What?
morganepeng
55
8.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
680
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
180
Paper Plane (Part 1)
katiecoart
PRO
1
10k
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