Slide 1

Slide 1 text

Rettyの分析基盤について Retty jp_taku2

Slide 2

Slide 2 text

自己紹介 Retty すずたく @jp_taku2 2014.4 オールアバウト 新卒入社 2016.8 Retty 入社 インフラを主にやっています。 料理担当:なし

Slide 3

Slide 3 text

agenda 1. Rettyの分析基盤の歴史 2. 現在の分析基盤 3. 機械学習基盤について 4. まとめ

Slide 4

Slide 4 text

Rettyの分析基盤の歴史

Slide 5

Slide 5 text

Retty分析基盤の流れ 1. Treasure Data 2. Treasure Data + BigQuery 3. 現在の分析基盤

Slide 6

Slide 6 text

Treasure Dataで発生した課題 ■ 利用する用途・頻度・人が増えてしまった →プランナーもクエリを投げて分析するため ■ データー量の爆増 →ユーザー数が増えたため発行されるログの量が増加した ■ クエリの実行時間がかかってしまう → クエリのレビューが徹底されていなかったために起きていた

Slide 7

Slide 7 text

Treasure Data + BigQueryの課題 ■ 統一した環境を構築しなかった →野良で立ち上がっていったため、統一されていない ■ データの粒度が違うもの個々人で使用していた →weekly/dayly/hourlyでは結果が異なる ■ 金額をハンドルする人がいなかった →カジュアルに作られていて管理下に置かれていなかったため

Slide 8

Slide 8 text

データ分析基盤の構築

Slide 9

Slide 9 text

要件 ■ 分析者がストレスなく分析することが可能な環境を構築する ■ 各チームで共通のデータを使用することができている状態を作る ■ サービスDBの必要なデータとログが一つのDBに格納されている ■ 短時間での復元が可能な状態を保持し続ける

Slide 10

Slide 10 text

現在のデータ分析基盤の構成

Slide 11

Slide 11 text

データを貯める 1. appサーバー等からaggregatorに送くり Treasure Dataにログデータを送る 2. Treasure Dataに貯められたログは1時間毎 にS3へ保存される 3. サービス用のDBからは必要なデータが、csv 形式でファイルに出力されS3へ保存される 4. サーバからGCSへのログ送信も行われる

Slide 12

Slide 12 text

DWHからDM 1. Athenaは各BIツールで必要な形に整形 S3へ保存 2. 出力されたファイルを元にDMは更新を行う 3. BIツール用のDMでは、datapi[lineを使用し て、RDSへ保存 4. AdHoc分析用のDMでは BigQueryへデーターの取り込む

Slide 13

Slide 13 text

結果

Slide 14

Slide 14 text

機械学習基盤について

Slide 15

Slide 15 text

Retty 機械学習マシンの紹介 (Docker 周りを中心に)

Slide 16

Slide 16 text

GPU付自作PCを全自動ネットインストールでセットアップ

Slide 17

Slide 17 text

使い方 (ssh してログインして使う)

Slide 18

Slide 18 text

どのマシンにログインしても同じデータがあります

Slide 19

Slide 19 text

nvidia-smi

Slide 20

Slide 20 text

アーキテクチャ全体像 Hardware - Akiba 1-x OS hdd Distributed storage Container Home Container Containers Network GPU CPU, devices Configuration Container Qemu KVM Kubernetes (docker) qemu on docker

Slide 21

Slide 21 text

根幹はRubuntu Server (Retty ubuntu) と Kubernetes (Docker) Hardware - Akiba 1-x OS hdd Home Container GPU CPU, devices Configuration Kubernetes (docker)

Slide 22

Slide 22 text

開発者は Docker コンテナを使う Hardware - Akiba 1-x OS hdd Home Container GPU CPU, devices Configuration Kubernetes (docker)

Slide 23

Slide 23 text

Quadro GP100とは ■ FP32用CUDA Core数:3584基 ■ FP64用CUDA Core数:1792基 ■ グラフィックスメモリ容量:16GB ■ マルチGPU対応:NVLink(※最大2-way) 世界初 NVLink対応 PCIe拡張カード

Slide 24

Slide 24 text

まとめ

Slide 25

Slide 25 text

まとめ 今回のデータ分析基盤のリプレイスにより、今まで課題となっていた問 題を解決できるはず。 また、先のことを考慮して、移行のし易い環境を構築できた。 今後の課題としては、appサーバーからのログの送信やデータの鮮度を 上げていくというようなことを考慮してアップデートをしていかなければい けないと考えております。

Slide 26

Slide 26 text

最後に Rettyはグルメなユーザさんがオススメする、信頼できる飲食店の情報を わかりやすく提供していきます 「人から探す」グルメサービスの開発に興味の ある方、ご応募お待ちしております

Slide 27

Slide 27 text

ご清聴ありがとうございました.