NTTドコモは巨大データ分析基盤をSnowflakeに一本化
Snowflake World Tour Tokyoではトヨタや住友ゴム、三菱UFJ信託銀行など多くの国内企業がブレイクアウトセッションでそれぞれのSnowflake導入事例を語っていたが、ここではNTTドコモ R&Dイノベーション本部 サービスイノベーション部 松原侑哉氏による同社のペタバイト級データ分析基盤「IDAP」のSnowflake移行事例を簡単に紹介したい。
2014年から本格運用を開始したIDAPは、オンプレミスに加え、Amazon RedshiftやBigQueryなど複数のパブリッククラウドのサービスを組み合わせて構築されていた。保有データ量はRedshiftとBigQueryで7ペタバイトずつ、1日あたりの処理データ量(圧縮済み)は200テラバイト、社内の登録ユーザー数は3,000名超という文字通りのビッグデータ分析基盤である。なお、松原氏によればIDAPの開発・保守運用・分析サポートを担当するメンバーは社員や常駐スタッフを含めて20名ほどで、移行作業もこの少ないメンバーによって行われたという。
IDAPでのデータ活用が社内で当たり前の日常になると、当然ながらいくつかの課題が生じてきた。松原氏はそれらを以下の4つに分類している。
- 費用の分離・分析:施策ごとにかかる費用の算出が困難(施策の費用対効果の算出、費用の予測)
- 最適な処理リソース:オンデマンド処理の増減に対応することが困難(リカバリ処理、処理データの急増、アドホック/オンデマンドな分析)
- 処理の相互影響:すべての処理に共通のリソースを利用することにより、同じ処理にかかる時間が実行タイイングによって大きく変動し、予測が困難(良くないツールや良くないクエリが見逃されてしまう、非効率な処理が実行できてしまい、それをユーザーが気にしない)
- 耐障害性:単一クラスタのノード障害による影響を低減することが困難(ノード障害による全体のパフォーマンスの低下)
松原氏は「コストを気にしてデータ活用にブレーキをかけたいわけではないが、施策の費用対効果を算出しにくく、データ処理コストが含められていない。またユーザー自身が実行する処理にかかるコストを認識しておらず、無邪気に巨大なデータを対象にスキャンしてしまう」と課題を総括。これを解決するために「データのROI(Data ROI)」を高める必要があったと語っている。
そしてこれらの課題解決のために選ばれたソリューションが、リソースを独立して利用でき、多様なデータ利用促進ツールをもつSnowflakeだった。移行にあたってはIDAPで採用していた分析用のデータウェアハウス(6,000スロットのBigQuery、64ノードのRedshift、10ノードのRedshift)をすべて廃止し、Snowflakeへの一本化に踏み切っている。Snowflakeの検証を開始したのは2023年6月、商用導入は同年12月に開始したが、Redshift/BigQueryの契約満了が2024年6月に迫っていたという。必然的に6月末でに移行を完了させなければならないという「非常にタイトなスケジュール下での作業となった」と松原氏は振り返っている。
IDAPのSnowflake移行後における主な効果は以下の通り。
- データウェアハウスの保守/運用にかかる時間が月間で約100時間減、特に障害対応にかかる時間が大幅削減
- Redshiftなどに比べて最大1/5という高いデータ圧縮率
- 毎時最大30分(平均10分)の処理時間のブレが2分程度になり、データ提供時間が安定化
- Snowflakeのデータシェアリング機能により社内の別の基盤との連携が容易になり、利用可能なデータが3,700種類以上に
今後はデータの民主化とデータメッシュ化(データ流通の強化)をさらに進め、さらにデータ処理コストの最適化を図るために「利用頻度は高くないが利用時は速度が求められるデータ」をIceberg形式で保存し、Snowflakeで読み取ることも検討しているという。ただ単にデータ処理コストを下げるのではなく、ユーザーに“Data ROI”、費用対効果の高い分析を強く意識させるうえでもSnowflakeは大きな効果があったようだ。