Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マルチデータプロダクト開発・運用に耐えるためのデータ組織・アーキテクチャの遷移

k.muguruma
February 04, 2025

 マルチデータプロダクト開発・運用に耐えるためのデータ組織・アーキテクチャの遷移

DataOps Night #6
https://finatext.connpass.com/event/341105/

ナウキャストのデータ組織・アーキテクチャについて振り返り、今後の展望を語ります

k.muguruma

February 04, 2025
Tweet

More Decks by k.muguruma

Other Decks in Technology

Transcript

  1. © 2024 Finatext Holdings Ltd. • むぐるまです • 株式会社ナウキャスト所属 ◦

    データエンジニア/データプラットフォームエンジニア ◦ 社内のデータ基盤のエンハンス・顧客向けデータ基盤構築支援など ◦ webエンジニア出身 • 北海道・札幌在住 ◦ 山とスキーが好き • X: @mt_musyu 1 自己紹介 六車 光貴
  2. © 2024 Finatext Holdings Ltd. 2 アジェンダ • ナウキャストの現状 •

    データ組織・アーキテクチャの今まで • データ組織・アーキテクチャのこれから
  3. © 2024 Finatext Holdings Ltd. 3 会社紹介 データの保有側・利用側の双方に価値を提供するオルタナティブデータのTwo-Sided Platformを展開し ます

    データのマネタイズから一気通貫でサービスを展 開することで、データホルダーとデータユーザー それぞれの商流を阻む障害点を解決することが できます。
  4. © 2024 Finatext Holdings Ltd. 4 ナウキャストの事業構造 Data Service Business

    ビッグデータを用いたプロダクトを提供する事業。 Data & AI Solution Business データとAIで顧客のDXを支援する事業。 Data Service Platform Unit 事業横断でデータ基盤の高度化、R&Dなどを行うチーム。 Investment Research Unit 機関投資家向けに ビッグデータ分析 SaaSを提供。 Real Estate Unit 商圏分析や売上予測 モデルによる店舗物 件の診断サービスを 不動産会社に提供。 Data Holder Unit 提供元からデータを受領し、データパイプラインの構築を行うチーム。 Engineering Team データエンジニアリングと生成AI活用に精通した エンジニアリングチーム。 Consultant Team データとAIを用いたDXに特化したコンサルティ ングチーム。 Economic Research Unit ビッグデータから計 算したマクロ指数を 金融機関・官公庁等 に提供。 データプロダクトの提供と顧客支援の二つのビジネスを推進している
  5. © 2024 Finatext Holdings Ltd. 5 データ事業 オルタナティブデータの商社としての機能を持つ データウェアハウス ライセンスデータ

    データホルダー 解析 POSデータ 日本経済新聞 1,500店舗の スーパーマーケッ ト True Data 4,000店舗の スーパー、 ドラックストア 2,600店舗の 家電小売 クレジットカードデータ JCB JCBカードの 所有者・加盟店 クレディセゾン セゾンカードの 所有者 求人データ 人流データ TV広告データ KDDI 携帯搭載の 地理データ フロッグ 130超の日本の web求人広告 サイト エムデータ 日本の全無料 チャンネンルの TV広告データ 官公庁・シンクタンク・投資家 エンドユーザー 投資家 不動産事業者
  6. © 2024 Finatext Holdings Ltd. 6 データ&AIソリューション事業 データ活用から生成AI活用までをフルサポート • ナウキャストはデータ基盤構築、データ分析、生成

    AIのPoC、業務システムの開発を一気通貫で提供することが可能です。 • 業務要件から逆算してデータ分析基盤を整備し、データ分析を行うことで、 最短ルートでデータと AIを用いた業務効率化を実現します 。 Step 1 要件定義 Step 2 データ基盤構築/運用 Step 3 データ分析支援 ・金融とデータ活用に知見のあるメ ンバーが、ビッグデータの利活用に 関する計画策定をご支援。 ・財務、顧客情報、市場データ、取引 情報、リスク管理、オルタナティブ データなど様々なデータを対象に データ基盤を構築。 ・構築後のインフラ管理やバッチ処 理のメンテナンスまでご支援。 ・データの目検チェックなどオペレー ション業務も外注可能。 ・リサーチ業務、リスク管理、営業な ど、様々な業務におけるデータ分析 のユースケースをご提案。 ・生成AIを活用した業務効率化/高 度化に向けたPoCの実施。 Step 4 業務への展開 ・分析を実際の業務へ展開するため に必要な業務アプリケーション開発 を実施 ・データ活用から逆算した業務アプリ 設計、実装を実現。
  7. © 2024 Finatext Holdings Ltd. 7 ナウキャストの現状 • ナウキャストは事業の拡張期に入っている •

    取り扱うデータが増えてきたし、これからも増えていく ◦ 一つの事業では取り扱えないような新規データの獲得・クレンジング・マスタリン グ、データ分析切り口の開発をより加速していく 創業・事業検証 主軸事業の磨き込み 既存事業の顧客・機能の拡張 / 新規事業創出 2015.2 Nowcast創業 2016.1 日経CPINowの 販売開始 2016.8 Finatextと経営統 合 2013.5 東大日次物価指数の 発表 2018.1 CCCとの共同事 業を発表 2018.11 JCB消費NOW 有償版の開始 2019.3 日経新聞と共催で 「オルタナティブデータ カンファレンス」を初開 催 2019.10 レポートサービス の開始 2020.4 家電POSデータを 開始 2020.6 内閣府V-RESASで 日経CPINow・ JCB消費NOWの 提供を開始 2017.5 JCB消費NOW のリリース 2017.12 株式会社 TrueDataと共 同事業をスタート 2016.11 機関投資家向け 事業を開始 2021.9 投資分析サービス 「AlternaData」 の提供開始 2021.10 ピッチイベント 「UPGRADE with TOKYO 第15回」で 優勝 2022.8 クレディセゾンと 商業施設のテナン ト選定支援サービ スを提供開始 2023.1 東京都と協働し、「都内 中小企業の景況指標 ダッシュボード」を開発 2024.4 データ基盤構築 や、生成AI導入支 援を行う「データ &AIソリューショ ン事業」が誕生
  8. © 2024 Finatext Holdings Ltd. 9 ~2022年 データチームの境界を考える - Speaker

    Deck ナウキャストのチームの特徴 • 典型的にはデータソース毎に1つのチーム ◦ 1チームだいたい3~6人ほど • 各チーム内で価値提供に必要な工程が完結 • Terraformによるインフラの構築 • Airflow+PythonによるETLの開発/保守 • Jupyter NotebookによるEDA Stream Alignedなデータエンジニアチーム Stream Alignedであることのメリット • システムのオーナーシップが向上する • 各システムが疎結合に保たれる (Conway's law) • データのドメイン知識が一貫して行き渡る データ組織・アーキテクチャの今まで
  9. © 2024 Finatext Holdings Ltd. 10 2022年度からのデータ組織 データチームの境界を考える - Speaker

    Deck • 中央集権型はサイロ化やスケーラビリティの低 下に繋がるため望ましくない[2][3][4] • PlatformチームはData Hubへのリリースを支 援するツールの開発が責務 ◦ チームAPIの定義 ◦ ビルド/テスト/デプロイ用のスクリプト ◦ CI/CD用のツール ◦ 監視システム • 各Sourcesの開発/保守は各Stream Aligned Teamの責務 データ組織・アーキテクチャの今まで
  10. © 2024 Finatext Holdings Ltd. 11 Snowflake x dbt x

    Terraform の基盤の全体像 • DWHはSnowflake • Snowflake のリソース管理 ◦ table / view → dbt ◦ udf / proc / SiS→ Snowflake CLI ◦ それ以外 → Terraform • Airflow から ECS task を呼び dbt build を定期実行 • dbt モデルはモノレポで管理 ◦ boilerplate の用意 ◦ GitHub Flow なブランチ管理 ◦ projects/環境ごとにdirを分け、それぞれCI/CD • [WIP] OpenMetadata でメタデータ管理 ◦ Snowflake からメタデータ取得 ◦ dbt artifact を連携する仕組み データ組織・アーキテクチャの今まで
  11. © 2024 Finatext Holdings Ltd. 14 データ組織・アーキテクチャの今まで この構成はある程度ワークしてきた • 各データソースの開発・保守は各Stream

    Aligned Teamの責務 ◦ 中央集権にならず、ボトルネックは解消 • Platform TeamがCI/CD、Terraformのテンプレートなど、セルフサービスプラッ トフォームを整備し、各チームのデータパイプライン・データプロダクトの品質を 担保
  12. © 2024 Finatext Holdings Ltd. 15 データ組織・アーキテクチャの今まで ただ、新たな問題も発生した • 増え続けるデータソース、かつ、増え続けるデータプロダクト

    ◦ 各Stream Aligned Team間のドメイン知識の共有がより困難になる ◦ 複数データソースを組み合わせてデータプロダクトを作る場合、各Stream Aligned Teamにヒアリングしないといけない • ロジックのサイロ化 ◦ 名寄せロジック・マスターデータのサイロ化 ◦ 各チームが独立のロジックでデータクレンジング・マスタリングが実施される • エンジニアだけでなく、ビジネスメンバー・アナリストがデータにアクセスする機 会が増えた ◦ dbtが書ける・読めるメンバー以外がデータを理解する必要性が高くなった • データウェアハウスのコストの高騰🤑
  13. © 2024 Finatext Holdings Ltd. 16 データ組織・アーキテクチャの今まで よりself-service data platformを充実させる必要がある

    • これらの問題を解消するためにもデータプラットフォームの充実が必要不可欠と考 えた プラットフォームを 充実させる
  14. © 2024 Finatext Holdings Ltd. 17 データ組織・アーキテクチャの今まで コスト管理 • コストの可視化のためSELECTを導入

    • ボトルネックとなるクエリ、jobを特定 ◦ その後、各チームに声掛け、パフォーマ ンスチューニングを伴走支援 • 詳しい事例は以下の記事を参照ください ◦ Snowflakeのコスト最適化のためにSELECTを導入
  15. © 2024 Finatext Holdings Ltd. 18 データ組織・アーキテクチャの今まで [WIP]OpenMetadataの導入 • OpenMetadataを導入中

    • データが発見しやすいように仕組み化 https://docs.open-metadata.org/v1.4.x/how-to-guides/data-discovery/details#lineage-tab
  16. © 2024 Finatext Holdings Ltd. 19 データ組織・アーキテクチャの今まで https://docs.open-metadata.org/v1.4.x/how-to-guides/guide-for-data-users/request-description#conversations-around-the-data-asset-description • Descriptionの右にある会話アイコンをクリックします。

    • @メンションでUserまたはTeamを指定できます • #メンションでデータアセットを指定できます • メッセージを送信すると会話が作成されます [WIP]OpenMetadataの導入 • データオーナーとユーザーがインタラクティブにコミュニケーションを取ることが できる場所を提供
  17. © 2024 Finatext Holdings Ltd. 20 データ組織・アーキテクチャの今まで [WIP]OpenMetadataの導入 • ただOpenMetadataを導入したら解決ではない

    • メタデータを入力し続けられるような文化作り、仕組み作りが重要 ◦ メタデータがメンテナンスされてないとデータカタログは意味をなさない • dbtをSSoTとしてdbtのschema.ymlでカラムのdescriptionが書かれないとmerge できない、といったCICDを構築中・・・
  18. © 2024 Finatext Holdings Ltd. 22 データ組織・アーキテクチャのこれから チームAPIとしてdbtからDataContractへ • 今までチームAPIとしてdbtがインターフェースとなっていた

    ◦ データエンジニア内でコミュニケーションするケースだと十分だった • 社内外の様々なデータソースに対応するためにはdbtでは不十分なケースが出てき ている ◦ アプリケーションチーム、SaaSなど • ここでData Contractを導入してデータプロダクトの開発をスムーズに行うこと を模索中
  19. © 2024 Finatext Holdings Ltd. 23 データ組織・アーキテクチャのこれから チームAPIとしてdbtからDataContractへ • Data

    Contractでは、データの送り手(データオーナー)と受け手(データ分析基 盤チーム)の間で連携するデータのスキーマ情報を明示的に定義し、その定義を遵 守することで連携するソースデータに関する契約を結ぶ概念 ◦ 身近な類似している例としては、APIのschemaを共有する際に使用するOpenAPI Specification(Swagger)が近い https://datacontract.com/
  20. © 2024 Finatext Holdings Ltd. 24 データ組織・アーキテクチャのこれから チームAPIとしてdbtからDataContractへ • DataContractを導入することでデータオーナーとデータコンシューマーとの責務

    を明確に分けることができる。 ◦ これにより効率的なデータプロダクトの開発が可能に • DataContractの運用には自動化が重要と考えており、CICDパイプラインを構築中 詳細はData Contract CLIでデータテストを行い、dbtの schemaを生成する CI/CD を参照ください
  21. © 2024 Finatext Holdings Ltd. 25 データ組織・アーキテクチャのこれから マスターデータの共通化 • 複数データソースを組み合わせた分析・プロダクト開発の需要の高まり

    ◦ ただ、複数データソースを組み合わせるロジックが各プロジェクトで散らばってい る状況 • 共通のマスターデータを作成することで、複数のデータソースを組み合わせたプロ ダクト作成が可能にする ◦ 法人番号をコアとした法人DBを構築中
  22. © 2024 Finatext Holdings Ltd. 26 データ組織・アーキテクチャのこれから platform team +

    stream aligned team体制は引き続き維持する • ドメインに近いところにいてビジネスニーズを敏感に検知し、スピード感を持って 開発する体制は維持したい ◦ プロダクト(プロジェクト)チームごとにビジネスの近いところにいてフルサイクル に開発する体制 • メンバーとプロダクトが増える中、体制を維持するためにPlatform Teamがサポー トする ◦ Self-service data platformを充実させる
  23. © 2024 Finatext Holdings Ltd. 27 まとめ • platform team

    + stream aligned teamの構成は(ナウキャストでは)うまくワーク した ◦ この構成は今後も(しばらくは)続けていく • ただし、増え続けるデータソース・ユースケースに対応するために課題も発生した ◦ Self-service Data Platformの充実で対応 • 今後もより価値のあるデータプロダクトを生み出し続けるためにデータ組織・基盤 アーキテクチャは進化し続ける
  24. © 2024 Finatext Holdings Ltd. 28 We’re hiring! ナウキャストではデータ系職種・エンジニアを絶賛採用募集中です データエンジニア・データサイエンティスト・アナリティクスエンジニア・データプ

    ラットフォームエンジニア, サーバーサイドエンジニア, etc カジュアル面談応募フォームよりお申込みください。 https://forms.gle/r69LwG3cLAjiGvY66 ナウキャストについて詳しく知りたい方は Nowcast Career