Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

ZOZOTOWNは、いかにしてRedshiftからBigQueryへの移行を成功させたか?【デブサミ2019】

【14-A-7】ZOZOTOWNのDWHをRedshiftからBigQueryにお引越しした話

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/03/05 11:00

 株式会社ZOZOテクノロジーズが開発・運用する、日本最大級のファッション通販サイトZOZOTOWN。同社は昨年、このサービスで使われるデータウェアハウスをAmazon Redshift(以下、Redshift)からGoogle BigQuery(以下、BigQuery)に移行した。本セッションでは開発部 SREチームの塩崎健弘氏が、BigQueryを採用した理由や移行にあたり工夫した点について語った。

目次

運用負荷軽減のため、よりマネージドなBigQueryへ移行

株式会社ZOZOテクノロジーズ 開発部 SREチーム 塩崎健弘氏
株式会社ZOZOテクノロジーズ 開発部 SREチーム 塩崎健弘氏

 かつてZOZOTOWNのインフラでは、データウェアハウスとしてRedshiftが用いられていた。当時のデータフローは下図の通りだ。オンプレミスで動いているZOZOTOWNの各種サービスとAWSのクラウド環境をAWS Direct Connectで結び、ETLツールのTalendによってAmazon S3(以下、S3)にCSVファイルをコピーしていた。

Redshift時代のデータフロー
Redshift時代のデータフロー

 配置されたCSVファイルは、Amazon Data Pipelineを経由してRedshiftにコピーされる。その後、Redshift上で集計用のクエリが実行されるという流れになっていた。

 S3には、ZOZOTOWNやWEAR(ZOZOテクノロジーズが開発・運用する、日本最大級のファッションコーディネートアプリ)のマスタデータ、Google Analytics 360から取得したWeb・ネイティブアプリのアクセスログ、メールやプッシュ通知の配信ログなどが格納されている。総テーブル数は100を超え、データサイズは1TBを超えるという。

 「RedshiftからBigQueryへの移行を決めた主な理由は、運用負荷を軽減するためです。社内にRedshiftの知見を持つメンバーがそれほど多くなかったため、データ量が今後も増え続けた場合、自分たちでデータベースを運用していく自信がありませんでした。BigQueryの方がよりマネージドなサービスであるため、運用の負担を減らせると考えたのです」

 BigQueryにはインデックスという概念がなく、マシンパワーを使って強引にフルスキャンを走らせる仕組みになっている。瞬間的には100台以上のノードで計算されることもあるという。ストレージの量は実質無制限で、いくらでも使うことができる。データの保存のための価格はS3と同程度か少し安いくらいだ。

 Amazon Athenaも候補にあがったが、使用技術を検討していた当時はまだ登場したばかりだったことや、クエリの実行速度はBigQueryの方が高速であることから、BigQueryを採用することとなった。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2019】セッションレポート

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5