狠狠撸

狠狠撸Share a Scribd company logo
(C) Recruit Technologies Co.,Ltd. All rights reserved.
ビッグデータ処理技術の全体像と
リクルートでの使い分け
2017/3/29
第7回ビッグデータ基盤研究会
株式会社リクルートテクノロジーズ
ビッグデータ部
渡部徹太郎
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department自己紹介
? ID: fetaro
? 名前: 渡部 徹太郎
? 所属: リクルートテクノロジーズ ビッグデータ部
? 略歴:
? 学生: 東京工業大学 大学院
「キーワード非含有ファイルを検索可能とする
ファイル間関連度を用いた検索手法の評価」
? SIer 前半: 大手証券会社のオンライントレードシステム基盤
? SIer 後半: オープンソース技術部隊 NoSQL, MongoDB
? 現職:
? 全社横断分析基盤: Oracle Exadata, Hortonworks
? 個社向け分析基盤: AWS EMR
? 趣味: 自宅サーバ、麻雀
? エディタ: emacs派
1
AWS
ビッグデータ
ユーザ会
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentリクルートグループの会社構成
2
基盤 プロジェクト管理
UI/SEOビッグデータ部
R&D
IT Promotion
リクルート
ホールディングス
リクルートキャリア
リクルート住まいカンパニー
リクルートライフスタイル
リクルートジョブズ
リクルートスタッフィング
リクルートマーケティングパートナーズ
スタッフ
リクルート テクノロジーズ
リクルートアドミニストレーション
リクルートコミュニケーションズ
事業会社
機能会社
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentリクルートテクノロジーズ ビッグデータ部
? リクルートのサービス
? ビジネスモデル
? 「リボンモデル」
3
カスタマ
(ユーザ)
クライアント
(企業)
? 主業務
? 分析:KPIの測定/競合分析
? 施策:マッチング/ユーザ属性推
定/ターゲッティング
? ミッション
? いろんなユースケースに併せて
適材適所の基盤を用意
? ビッグデータ処理を駆使して
売上向上?コスト削減
???100以上のサービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
ビッグデータ処理技術の全体像
4
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースを分類する軸:重視する性能
5
? レスポンスを重視 →主にオペレーション用途
? スループットを重視 →主に分析用途
アプリケーションサーバ
オペレーション
用途
データベース
登録画面
リクエスト 参照
更新
挿入
参照画面
編集画面
即時応答
マスタ
データベー
ス
BIツール
集計
バッチ
ロード
分析用途
データベース
レポート生成
ジョブ
抽出
CSV
バッチ
ロード
レポート
20分で全件集計
10秒で全件取得
1 1982年生
2 1967年生
3 2000年生
4 2000年生
男
女
女
男
ID 年齢性別
1 1982年生
2 1967年生
3 2000年生
4 2000年生
男
女
女
男
ID 年齢性別
行志向アクセス
列志向アクセス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースを分類する軸:性能拡張方式
6
スケールアップ
集約
スケールアウト
分散
app app app app app appapp app app
一般的なハードウェア
を複数並べて並列処理
単一HWハードウェアを強化
性能限界
CPU↑
ディスク↑
NW↑
? データベースの性能拡張方式
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースの分類
7
レスポンス重視
(オペレーション用途)
スループット重視
(分析用途)
スケールアップ
RDB(OLTP)
NoSQL
Hadoop
RDB(DWH)
スケールアウト
クエリサービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
BigQuery
Spanner
データベースの分類
8
レスポンス重視
(オペレーション用途)
スループット重視
(分析用途)
スケールアップ
DynamoDB
Redshift
EMR
Exadata
Athena
Aurora/RDS
RDB(OLTP)
NoSQL
Hadoop
RDB(DWH)
スケールアウト
クエリサービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
BigQuery
Spanner
データベースの分類
9
レスポンス重視
(オペレーション用途)
スループット重視
(分析用途)
スケールアップ
DynamoDB
Redshift
EMR
Exadata
Athena
Aurora/RDS
RDB(OLTP)
NoSQL
Hadoop
RDB(DWH)
スケールアウト
クエリサービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
オンプレ クラウド
アプライアンス ソフトウェア
RDB(DWH)
? ひとことで言うと
? データの抽出?集計に特化したRDB
? アーキテクチャの特徴
? データをパーティショニングして複数ディスクから同時に読む
(製品によっては)ハードウェアを最適化して、アプライアンスとして提供
? 列志向で圧縮してデータ格納
10
Redshift
Exadata
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA DepartmentRDB(DWH)
? 処理イメージ
? レスポンス:数秒、数分
? データサイズ:直近13ヶ月(1T?数10T)
? 計算:SQLベース
? INSET,UPDATE,DELETEやトランザクションはできるが非常に遅い
? ユースケース
? 自由検索
? レポート
? BIツールのデータソース
11
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
ストレージノード ストレージノード ストレージノード
RDB(DWH)
? データをパーティショニングして複数ディスクから同時に読む
(製品によっては)ハードウェアを最適化して、アプライアンス
12
データベースノード
HDD
SSD
絞込み処理
HDD
HDD HDD
HDD
SSD
絞込み処理
HDD
HDD HDD
HDD
SSD
絞込み処理
HDD
HDD HDD
データベースノード
CPU
読み込むブロックを最小化
ディスクIOを削減
キャッシュして
ディスクIOを削減
CPUを多数搭載し、CPUボト
ルネックを軽減
40Gbpsのラック内SANによりネッ
トワークボトルネックを軽減
CPU CPUCPU CPU CPU
40G bps
Oracle Exadataの例
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA DepartmentHadoop
? ひとことで言うと
? 分散したファイルに、様々
な分散処理をできるソフト
ウェア群
? アーキテクチャの特徴
? データはファイル
? ストレージと処理が分離
? 途中でノードがダウンして
も処理を継続
1313
分散ファイルシステム
分散処理エンジン
ABC
A B C
クライアント
計算
ノード
計算
ノード
計算
ノード
コーディネータ
①データの配布
②提出
③計算
計算
結果
プログラム
プログラム
クライアント
プログラムプログラム
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA DepartmentHadoop
14
プロダクト 分散ファイル
システム
分散処理エンジ
ン
オン
プレ
OSSベースでい
ろいろ使える
MapR-FS
クラ
ウド
EMR S3
Impala
Cloud
Dataproc
GCS
? Hadoop上の分散集計を
SQLで表現できる
? 基本はSELECTとLOAD
のみであり, INSERT,
UPDATE,DETELEは出
来ない
? トランザクションもない
SQL on Hadoop
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
core core core
HDFS
Hadoop
? クラウド上のHadoop
? 計算と、ストレージの分離
? 計算ノードは使った分だけ払えば良い
15
S3
Master
データ データ
コンテナ
計算
データ データ
コンテナ
計算
データ データデータ データ
core
コンテナ
計算
Master
コンテナ
計算
core
コンテナ
計算
core
コンテナ
計算
オンプレのHadoop クラウドのHadoop
(EMRの例)
NEW
使い捨てで
きる
容量あたり
のコストが
安い
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA DepartmentHadoop
? 処理のイメージ
? レスポンス:数十分?数時間
? データサイズ:全データ(10T?数P)
? 計算:分散できる計算なら何でも
? ユースケース
? 長期的なビジネストレンド分析
? RDB(DWH)に入れる前のデータ加工
? 機械学習による予測、クラスタリング
? 自然言語処理
16
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentクエリサービス
? ひとことで言うと
? 使った分だけ料金を払えばいいSQLサービス
? アーキテクチャの特徴
? クエリに応じて動的にリソースを確保
? 基本的にはデータをロードし、それに対するSELECTがメイン
? INSERT,DELETE, UPDATEは苦手(場合によってはできない)
? トランザクションはない
? JOINはRDBほど最適化されていない
? カスタマイズはできない
17
Google独自 Hadoopベース(だと思う)
BigQuery Athena
(C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートテクノロジーズにおける使い分け
18
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
BigQuery
Spanner
データベースの分類
19
レスポンス重視
(オペレーション用途)
スループット重視
(分析用途)
スケールアップ
DynamoDB
Redshift
EMR
Exadata
Athena
Aurora/RDS
RDB(OLTP)
NoSQL
Hadoop
RDB(DWH)
スケールアウト
クエリサービス
(C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
パターン ビッグデータ処理技術 コスト 機能/非機能
モノ 人
(運用)
拡張性 OLTPと
の接続
JOIN性能
部分更新
計算の
豊富さ
オンプレ
RDB
(DWH)
?
高い
? ?
増や
せな
い
? ◎
最適化
が強い
△
SQLの
み
オンプレ
Hadoop
◎ ?
つらす
ぎる
△
物理
制約
? △ ◎
クラウド
RDB
(DWH)
△ ? ? △ ◎
RDBが
強い
△
SQLの
み
クラウド
Hadoop
? △ ◎ △ △ ◎
クエリ
サービス
? ◎
運用
フリー
◎ △ △ △
SQLの
み
BigQuery
ケースに併せて使い分け
20
Exadata
EMR S3
Redshift
Athena

More Related Content

ヒ?ックテ?ータ処理技术の全体像とリクルートて?の使い分け

  • 1. (C) Recruit Technologies Co.,Ltd. All rights reserved. ビッグデータ処理技術の全体像と リクルートでの使い分け 2017/3/29 第7回ビッグデータ基盤研究会 株式会社リクルートテクノロジーズ ビッグデータ部 渡部徹太郎
  • 2. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department自己紹介 ? ID: fetaro ? 名前: 渡部 徹太郎 ? 所属: リクルートテクノロジーズ ビッグデータ部 ? 略歴: ? 学生: 東京工業大学 大学院 「キーワード非含有ファイルを検索可能とする ファイル間関連度を用いた検索手法の評価」 ? SIer 前半: 大手証券会社のオンライントレードシステム基盤 ? SIer 後半: オープンソース技術部隊 NoSQL, MongoDB ? 現職: ? 全社横断分析基盤: Oracle Exadata, Hortonworks ? 個社向け分析基盤: AWS EMR ? 趣味: 自宅サーバ、麻雀 ? エディタ: emacs派 1 AWS ビッグデータ ユーザ会
  • 3. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Departmentリクルートグループの会社構成 2 基盤 プロジェクト管理 UI/SEOビッグデータ部 R&D IT Promotion リクルート ホールディングス リクルートキャリア リクルート住まいカンパニー リクルートライフスタイル リクルートジョブズ リクルートスタッフィング リクルートマーケティングパートナーズ スタッフ リクルート テクノロジーズ リクルートアドミニストレーション リクルートコミュニケーションズ 事業会社 機能会社
  • 4. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Departmentリクルートテクノロジーズ ビッグデータ部 ? リクルートのサービス ? ビジネスモデル ? 「リボンモデル」 3 カスタマ (ユーザ) クライアント (企業) ? 主業務 ? 分析:KPIの測定/競合分析 ? 施策:マッチング/ユーザ属性推 定/ターゲッティング ? ミッション ? いろんなユースケースに併せて 適材適所の基盤を用意 ? ビッグデータ処理を駆使して 売上向上?コスト削減 ???100以上のサービス
  • 5. (C) Recruit Technologies Co.,Ltd. All rights reserved. ビッグデータ処理技術の全体像 4
  • 6. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Departmentデータベースを分類する軸:重視する性能 5 ? レスポンスを重視 →主にオペレーション用途 ? スループットを重視 →主に分析用途 アプリケーションサーバ オペレーション 用途 データベース 登録画面 リクエスト 参照 更新 挿入 参照画面 編集画面 即時応答 マスタ データベー ス BIツール 集計 バッチ ロード 分析用途 データベース レポート生成 ジョブ 抽出 CSV バッチ ロード レポート 20分で全件集計 10秒で全件取得 1 1982年生 2 1967年生 3 2000年生 4 2000年生 男 女 女 男 ID 年齢性別 1 1982年生 2 1967年生 3 2000年生 4 2000年生 男 女 女 男 ID 年齢性別 行志向アクセス 列志向アクセス
  • 7. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Departmentデータベースを分類する軸:性能拡張方式 6 スケールアップ 集約 スケールアウト 分散 app app app app app appapp app app 一般的なハードウェア を複数並べて並列処理 単一HWハードウェアを強化 性能限界 CPU↑ ディスク↑ NW↑ ? データベースの性能拡張方式
  • 8. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Departmentデータベースの分類 7 レスポンス重視 (オペレーション用途) スループット重視 (分析用途) スケールアップ RDB(OLTP) NoSQL Hadoop RDB(DWH) スケールアウト クエリサービス
  • 9. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department BigQuery Spanner データベースの分類 8 レスポンス重視 (オペレーション用途) スループット重視 (分析用途) スケールアップ DynamoDB Redshift EMR Exadata Athena Aurora/RDS RDB(OLTP) NoSQL Hadoop RDB(DWH) スケールアウト クエリサービス
  • 10. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department BigQuery Spanner データベースの分類 9 レスポンス重視 (オペレーション用途) スループット重視 (分析用途) スケールアップ DynamoDB Redshift EMR Exadata Athena Aurora/RDS RDB(OLTP) NoSQL Hadoop RDB(DWH) スケールアウト クエリサービス
  • 11. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department オンプレ クラウド アプライアンス ソフトウェア RDB(DWH) ? ひとことで言うと ? データの抽出?集計に特化したRDB ? アーキテクチャの特徴 ? データをパーティショニングして複数ディスクから同時に読む (製品によっては)ハードウェアを最適化して、アプライアンスとして提供 ? 列志向で圧縮してデータ格納 10 Redshift Exadata
  • 12. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA DepartmentRDB(DWH) ? 処理イメージ ? レスポンス:数秒、数分 ? データサイズ:直近13ヶ月(1T?数10T) ? 計算:SQLベース ? INSET,UPDATE,DELETEやトランザクションはできるが非常に遅い ? ユースケース ? 自由検索 ? レポート ? BIツールのデータソース 11
  • 13. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department ストレージノード ストレージノード ストレージノード RDB(DWH) ? データをパーティショニングして複数ディスクから同時に読む (製品によっては)ハードウェアを最適化して、アプライアンス 12 データベースノード HDD SSD 絞込み処理 HDD HDD HDD HDD SSD 絞込み処理 HDD HDD HDD HDD SSD 絞込み処理 HDD HDD HDD データベースノード CPU 読み込むブロックを最小化 ディスクIOを削減 キャッシュして ディスクIOを削減 CPUを多数搭載し、CPUボト ルネックを軽減 40Gbpsのラック内SANによりネッ トワークボトルネックを軽減 CPU CPUCPU CPU CPU 40G bps Oracle Exadataの例
  • 14. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA DepartmentHadoop ? ひとことで言うと ? 分散したファイルに、様々 な分散処理をできるソフト ウェア群 ? アーキテクチャの特徴 ? データはファイル ? ストレージと処理が分離 ? 途中でノードがダウンして も処理を継続 1313 分散ファイルシステム 分散処理エンジン ABC A B C クライアント 計算 ノード 計算 ノード 計算 ノード コーディネータ ①データの配布 ②提出 ③計算 計算 結果 プログラム プログラム クライアント プログラムプログラム
  • 15. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA DepartmentHadoop 14 プロダクト 分散ファイル システム 分散処理エンジ ン オン プレ OSSベースでい ろいろ使える MapR-FS クラ ウド EMR S3 Impala Cloud Dataproc GCS ? Hadoop上の分散集計を SQLで表現できる ? 基本はSELECTとLOAD のみであり, INSERT, UPDATE,DETELEは出 来ない ? トランザクションもない SQL on Hadoop
  • 16. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department core core core HDFS Hadoop ? クラウド上のHadoop ? 計算と、ストレージの分離 ? 計算ノードは使った分だけ払えば良い 15 S3 Master データ データ コンテナ 計算 データ データ コンテナ 計算 データ データデータ データ core コンテナ 計算 Master コンテナ 計算 core コンテナ 計算 core コンテナ 計算 オンプレのHadoop クラウドのHadoop (EMRの例) NEW 使い捨てで きる 容量あたり のコストが 安い
  • 17. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA DepartmentHadoop ? 処理のイメージ ? レスポンス:数十分?数時間 ? データサイズ:全データ(10T?数P) ? 計算:分散できる計算なら何でも ? ユースケース ? 長期的なビジネストレンド分析 ? RDB(DWH)に入れる前のデータ加工 ? 機械学習による予測、クラスタリング ? 自然言語処理 16
  • 18. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Departmentクエリサービス ? ひとことで言うと ? 使った分だけ料金を払えばいいSQLサービス ? アーキテクチャの特徴 ? クエリに応じて動的にリソースを確保 ? 基本的にはデータをロードし、それに対するSELECTがメイン ? INSERT,DELETE, UPDATEは苦手(場合によってはできない) ? トランザクションはない ? JOINはRDBほど最適化されていない ? カスタマイズはできない 17 Google独自 Hadoopベース(だと思う) BigQuery Athena
  • 19. (C) Recruit Technologies Co.,Ltd. All rights reserved. リクルートテクノロジーズにおける使い分け 18
  • 20. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department BigQuery Spanner データベースの分類 19 レスポンス重視 (オペレーション用途) スループット重視 (分析用途) スケールアップ DynamoDB Redshift EMR Exadata Athena Aurora/RDS RDB(OLTP) NoSQL Hadoop RDB(DWH) スケールアウト クエリサービス
  • 21. (C) Recruit Technologies Co.,Ltd. All rights reserved. BIG DATA Department パターン ビッグデータ処理技術 コスト 機能/非機能 モノ 人 (運用) 拡張性 OLTPと の接続 JOIN性能 部分更新 計算の 豊富さ オンプレ RDB (DWH) ? 高い ? ? 増や せな い ? ◎ 最適化 が強い △ SQLの み オンプレ Hadoop ◎ ? つらす ぎる △ 物理 制約 ? △ ◎ クラウド RDB (DWH) △ ? ? △ ◎ RDBが 強い △ SQLの み クラウド Hadoop ? △ ◎ △ △ ◎ クエリ サービス ? ◎ 運用 フリー ◎ △ △ △ SQLの み BigQuery ケースに併せて使い分け 20 Exadata EMR S3 Redshift Athena