❄️

[Snowflake Summit2025 参加記] Morgan Stanleyに学ぶ超大規模ファイルシステムの最適化

に公開

はじめに

こんにちは。ナウキャストでデータエンジニアをしているTakumiです。
2025年6月2日〜6月5日まで、Snowflake Summit 2025が開催されています。
本記事では、Morgan Stanleyが推進する「WFIVEプロジェクト(大規模ファイルシステムの最適化)」に関する講演内容をまとめます。

講演の基本情報

講演タイトル

Modernizing Massive File System Infrastructure at Morgan Stanley

スピーカー

Boris Serebrinskiy(ボリス・セレブリンスキー)
Morgan Stanley / Distinguished Engineer, Data Architect

講演日時

2025年6月2日 15:00–15:40

プロジェクトの背景と目的

Morgan Stanleyでは、ソフトウェア開発と運用基盤として、長年AFS(Application File System)を利用してきました。
しかし近年、以下のような課題が顕在化していました。

  • 取引量増加によるアクセス数の急増
  • HTTP APIへの対応
  • リリース後に使われなくなるコードの蓄積

この結果、ストレージコストコンピューティングコストが肥大化しました。
それに対処すべく、「AFSの廃止と後継設計」「使用されていないコードの可視化と整理」という2つの目標のもと、WFIVEプロジェクトが立ち上げられました。

巨大システムでの課題洗い出しと設計戦略

問題定義(Problem Statement)

Morgan Stanleyは、「何を最適化し、何を捨てるべきか」を明らかにするために、5Wのアプローチを採用しました。

  • Who accessed(誰がアクセスしたか)
  • What files/releases(どのファイル/どのリリースか)
  • When was it accessed(いつアクセスされたか)
  • Where did the call originate(どこから呼ばれているか)
  • Which AFS servers host it(どのサーバが保持しているか)

これらの質問を用いることで、

  • 35ペタバイトに及ぶ高度に複製されたコード(何百台ものサーバーがコードの同じバージョンを保持している状態)
  • 4000億以上のファイルバージョン
  • 100万を超える人間ユーザーおよびシステムユーザー

のような、想像もつかないような巨大システムの問題定義を行いました。

設計戦略

1. Snowflakeを活用したログ可視化基盤

AFSのアクセスログ(1兆件超)や、日次数百万件の監査ログをSnowflakeに集約し、以下のようなETLパイプラインを構築しました。

  • 収集:オンプレサーバからメタデータ・ログを収集
  • 事前整形:一部はオンプレでプレ処理を実施(後述)
  • ETL処理:Snowflakeでロードおよび変換を実施
  • 分析:使用頻度に基づき、不要なリリースを自動検出

2. JOIN削減と非正規化

日次で数百万レコードが発生する環境では、1回のJOINのコストが非常に高くつきます。
Morgan Stanleyでは、以下のような工夫がなされていました。

  • ログから頻出JOINパターンを可視化し、非正規化によって最適化
  • 整合性よりも追跡可能性を優先(多少の重複は許容)
  • JOIN削減によって、Snowflakeのクレジット消費を抑制

この背景で紹介された言葉が印象的でした。

"Do not throw money at a problem."

技術の発展によってマシンパワーで解決できてしまうことが多い中、設計にはこだわるべきというエンジニアとしての矜持を感じました。

実務で応用できそうな点

この事例は、兆行単位のデータを管理する超大規模システムです。
特殊事例であるものの、データモデルを設計する上で以下のような点は参考になると感じました。

JOIN削減のベストプラクティス

  • 頻繁にJOINされるテーブルは、あらかじめマージしておく
  • ユースケース単位で、非正規化テーブルを用意する
  • 一部の重複は「コスト対パフォーマンス」で割り切る

→ これは、ECサイトの検索最適化に近い考え方なのかなと感じています。
参考:What Is Denormalized Data?

一部処理をオンプレへ回帰

  • 前処理(整形・重複除去)をオンプレで実行し、ETLの一部を"戻す"

これにより、Snowflakeのコンピューティングコスト最適化を実現していました。

ビジネスレイヤーとテクノロジーレイヤーでデータを分離

  • ビジネスデータとは別に、「技術運用上のデータ(Technology Data)」を分離
  • 論理的・物理的にもレイヤーを分けることで、疎結合かつ効率的な設計が可能に

ただし、この設計はMorgan Stanleyのように巨大スケールだからこそ成立する面もあります。
通常規模の企業では、重複によるストレージ増加よりも、保守コストの増大が課題になる可能性もあります。

まとめ

Morgan StanleyのWFIVEプロジェクトは、Snowflakeを活用した現実的かつ本質的なモダナイゼーションの好例でした。

  • 設計思想は、「現場が使い続けられるシステム」を第一に据えている。
  • コスト最適化と可観測性を両立する工夫が随所にある。
  • "正しさ"ではなく、"現場で動くこと"を重視する姿勢が貫かれていた。

Snowflakeを用いたデータ基盤構築において、非常に学びの多い内容でした。

Finatext Tech Blog

Discussion