ファインディでデータエンジニアとして働いている ひらき(hiracky16)です。 今回はデータ基盤チームで「エンドユーザーのためのデータ品質向上への取り組みと展望」という題目で合同勉強会を開催したので、そのレポートをお届けします。
データエンジニアは自社内の課題解決に集中するあまり、一般的なアプローチを学ぶ機会が不足しやすい傾向にあります。 私たちのチームでは特に「データ品質」について、場当たり的な対応が多く、十分な知見を持ち合わせていませんでした。 合同勉強会は、他社での実践的な取り組みや異なる視点を学ぶ絶好の機会になります。 特にクローズドな勉強会では、課題や悩みを気兼ねなく共有し、解決策を議論できるのが大きな魅力です。 今回の勉強会で得られた学びや成果を共有し、その魅力をお伝えできればと思います。
きっかけ
ファインディでは、データの利活用を加速させるためにデータ基盤の構築を進めています。 先日公開したテックブログでは、Findy Toolsというローンチから1年ほどのプロダクトにおいて、事業上重要なデータを蓄積する仕組みを整えた話を紹介しました。 チーム発足から1年余りで、データ基盤のインフラが整いつつあります。
構築してきたデータ基盤の運用フェーズになると、データ基盤に連携されるデータや、業務で使用するテーブルの品質が課題となりました。 また、データだけでなくSQLの品質基準についても、データエンジニアとデータ利用者の間で認識の違いがあり、記述方法や設計で議論になることが多々ありました。 これらの課題が業務に影響を与え始めており、データエンジニアとして早めに対処する必要がありました。 ただし、当時は品質向上に関する知見が不足しており、これもチームの課題として挙げられていました。
そんな中、「合同勉強会を開催しませんか?」とタイミーさんからお誘いいただきました。 タイミーさんはFindy Toolsにも寄稿いただいた実績があり、その内容を参考にさせていただいていたので、非常に助かるお話でした。
2~3回の打ち合わせを重ねて、勉強会の方向性やスケジュールを決定しました。 事前にデータに関する悩みや取り組みを共有し合うことで、当日話す内容をすり合わせることができました。 これにより、お互いの期待値を理解し、先方が聞きたい内容をLTに反映できたと思います。
打ち合わせを進める中で、「今回はよりクローズドな話もできれば」との意見が出たため、弊社のイベントスペースを使用しオフラインで開催することにしました。 「エンドユーザーのためのデータ品質向上への取り組みと展望」と題し、双方でLT登壇者を募り、資料を準備して当日を迎えました。
勉強会の様子
当日のアジェンダです。
各社のLTがあったあとに懇親会も兼ねてディスカッションの時間を設けることにしました。

ここからはファインディの発表内容を中心に勉強会を振り返っていきます。
「マルチプロダクトのデータ基盤にデータメッシュを採用した話」ひらき
以前、弊社のデータ基盤は事業部問わず1つの基盤にデータを蓄積する中央集権型を採用していました。 しかし、利用用途が多岐にわたるにつれ、依存関係や権限管理が複雑化し、データの利活用におけるアジリティが低下するという課題が発生しました。
そこで、事業をドメインと捉えたデータメッシュを採用し、事業部ごとにデータ品質を高められる設計へとリアーキテクチャしました。
以下は、データメッシュの4つの基本原則をどのように実装したかを解説しました。

とはいえ、データメッシュにも課題があります。 その1つは、複数事業のデータ基盤を運用するコストが高いことです。 データエンジニアだけの頑張りではリソースが足りず、持続可能性にも限界があります。 そのため、領域の近いデータ利用者やデータ生成者を巻き込む体制を構築し、データメッシュを実現しました。
弊社のデータ基盤のアーキテクチャ図については、Findy Tools にも詳しく記載しています。 findy-tools.io
「PII保護のためのDLP運用」たがしら
ファインディでは、多くのユーザー情報を扱うため、データ基盤におけるPII(個人識別情報)保護が重要な課題となります。
基本的な権限管理やマスク処理は、IAMやBigQueryのポリシータグを活用しています。
ただし、データメッシュの採用によりドメイン間で担当が分かれた結果、データインフラの実装が異なるようになりました。
これを解決するため、HCP TerraformのPrivate Registryを使い、インフラコードを共通化し、機能差分が生じないようにしました。

また、文字列中に含まれる個人データに関しては、DLP APIとBigQueryのリモート関数を用いてマスク処理を行っています。
エッジケースに対応するため、独自の辞書を管理し、日々更新しながらマスク処理を自動化しています。

タイミーさんのLTについては、テックブログで公開されていますので、ぜひご覧ください。 tech.timee.co.jp
グループディスカッション
両社のLT終了後、終了時間までディスカッションの時間を設けました。 事前にいくつかテーマを準備していましたが、各々が近しい領域で自然に会話の輪を広げていたため、用意は不要でした。
LTの内容に限らず、日々の業務での悩みや使用している技術について、密度の濃い議論が交わされました。
議論は大いに盛り上がり、終了時間ギリギリまで話が尽きることはありませんでした。

まとめ
合同勉強会を開催するのは初めてだったため、準備を含めて大変でしたが、総じて成功だったと感じています。 メンバーからは「タイミーさんの取り組みが参考になった」「懇親会で同業者と話せて良かった」などのフィードバックを得られ、開催した甲斐がありました。
事前のすり合わせも功を奏し、タイミーさんのLTは弊社の課題に通ずる内容が多く、大変勉強になりました。 懇親会でもLTの話題について深く議論でき、理解をさらに深めることができました。 深いディスカッションができたのも、オフライン開催ならではの良さだと改めて感じています。
合同勉強会をお誘いいただき、弊社までご足労いただいたタイミーの皆さん、本当にありがとうございました!
今後もこういった合同勉強会の機会があれば開催していきたいと思います。 弊社の取り組みについては、引き続きテックブログで発信していく予定です。 興味がありましたら、ぜひひらき(hiracky16)までご連絡ください!