ドリコムを支えるデータ分析基盤が TD + AWS に移行した話

はじめに

これはドリコムAdventCalendar2015で掲載した記事をもとにした転記です。

分析基盤をTreasure Dataに移行

オンプレ環境の Hadoop から Treasure Data に移行しました。

また、ジョブ管理ツールやBIツールといったサーバーも Amazon EC2 に移行が完了しており、 オンプレ環境からクラウド環境になりました。

背景

オンプレ環境で Hadoop を運用して3年も経つと考えなければならないのが HW の寿命です。

さてどうしようかとなった時に、ほぼ迷いなく外部サービスに移行するという選択を取りました。

Treasure Data、BigQuery、Amazon Redshift のようなサービスがある中で HW の交換作業をしてまでこのままオンプレで運用し続けるメリットはあまり感じられなかったためです。

サービス選定

候補として上で挙げた Treasure Data、BigQuery、Amazon Redshift の3サービスを実際に触ってみて最終的に Treasure Data を使うことに決めました。

Redshift はちょっと触っただけなのですが、実際に触ってみた所感の比較です。 ※ 2015.1 時点

Treasuredata BigQuery Amazon Redshift
リソースのスケール フルマネージ フルマネージ ユーザがノード変更
同時実行 4〜 20 5〜
課金 固定額。お高め データサイズ+クエリ数+クエリスキャンサイズ+etc 。全体的にお安い。 固定額+etc
パフォーマンス 速い (件数依存、対象が数十億ならHiveにする) 件数に関係なく速い 速い (件数に依存)
テーブル(分散) 設計 不要 不要 必要
スキーマレス 固定 (json構造ならレス) 固定 (json構造ならレス)
データ投入 実質入れ放題 制約有り (回避方法あり) S3経由 (大量データのインポートが遅い)
サポート
総評 バランスが良い。
専任で人をつけなくても安定した価格、性能で運用できそう
パフォーマンスを保つため、制約が多いので注意が必要
(制約条件が突然変わったら爆死する可能性)。
節約したい時、件数が多くてどうしようもなくなった時に使えるかも
安価で始められるDWH。
大規模になるほどチューニングが必要になってくる。
スモールスタート。
データマート向き。
変更に弱い。

他にも比較する部分が色々あるのですが、あんまり細かくなってもしょうがないので、ざっくりとした所感で書きました。

また、弊社の分析基盤としては職人をできるだけ作らないような体制を目指しているので一番運用が楽で安定しそうな Tresure Data を使うことになりました。

新データ分析基盤全体図

大きなところは Hadoop が Treasure Data に変わり、AWS のサーバーを徐々に使い始めているというところで、それ以外のところは2014年の ドリコムを支えるデータ分析基盤 とほぼ変わっていません。

DBのスナップショットはS3へ

Hadoop の時は、アプリのログも DB から取ってきたスナップショット(tsv) も HDFS に置いていたのですが、Treasure Data にはデータ件数の制限があるので、無闇に全部 TD に置くということはせずに TD 上で集計が必要なもの以外は S3 に置くことにしています。

また、ログも TD 上には直近x日まで保存して、古いものは S3 に逃がすということもログ件数調整の一環としてやっています。

まとめ