1. (C) Recruit Technologies Co.,Ltd. All rights reserved.
ビッグデータ処理データベースの
全体像と使い分け
2016/7/15
株式会社リクルートテクノロジーズ
ビッグデータ部
渡部徹太郎
2. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department自己紹介
{"ID" :"fetaro",
"名前":"渡部 徹太郎",
"所属":"リクルートテクノロジーズ ビッグデータ部"
"研究":"東京工業大学で情報検索の研究(日本データベース学会)"
"仕事":{前職:["証券会社のWeb基盤",
"オープンソース全般,主にMongoDB,NoSQL"],
現職:["リクルート横断のデータ分析基盤,
"ExadataとHadoopの両刀使い"]}
"エディタ":"emacs派"
"趣味" :"自宅サーバ"
"属性" : ["ギーク","スーツ"]}
1
3. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department発表をしようと思った背景
ビッグデータ処理技術がありすぎる
2
DynamoDB
Kinesis
EMR
Redshift
BigQuery
Oracle
Exadata
Impala
4. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department発表をしようと思った背景
リクルートのサービスはたくさんある
日々次々と新しいサービスが生まれる
ケースドリブンで最適なもの最速で提供する必要がある
→いろいろな技術を知る必要がある!
3
・・・100以上のサービス
5. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department本発表の目的
ビッグデータのデータベースのニュースを見た時に、
「どの辺」のデータベースか分かるようにする
ベンダの誇大広告を見抜けるようにする
4
6. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentアジェンダ
ビッグデータ処理データベースの分類
各分類と代表製品の説明
その他のビッグデータキーワードの説明
Spark/Elastic Search/マイクロバッチ/インメモリデータグリッド/グ
ラフDB/
ブロックチェーン/分散OLTP 急遽追加!
リクルートテクノロジーズ ビッグデータ部における
データベース使い分け
まとめ
5
8. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースを分類する軸:重視する性能
7
レスポンスを重視 →主にオペレーション用途
スループットを重視 →主に分析用途
アプリケーションサーバ
オペレーション
用途
データベース
登録画面
参照画面
編集画面
マスタ
データベース
BIツール
分析用途
データベース
レポート生成ジョブCSV レポート
9. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースを分類する軸:性能拡張方式
データベースの代表的なボトルネックを解消
ディスクIO
CPU
ネットワーク帯域
共有リソースの開放待ち
ネットワークラウンドトリップ
8
スケールアップ
集約
スケールアウト
分散
app app app app app appapp app app
一般的なハードウェアを複
数並べて並列処理
単一HWハードウェアを強化
性能限界
CPU↑
ディスク↑
NW↑
データベースの性能拡張方式
←主にこの辺のボトルネックを解消
10. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースの分類
9
DB
( ) )
Hadoop
RDB(OLTP)
KVS
/
/
RDB(DWH)
NoSQLと
呼ばれている
11. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
DB
データベースの分類
10
( ) )
RDB(OLTP)
KVS
RDB(DWH)
DynamoDB
BigQuery
Exadata Redshift
EMR
Hadoop
Exadata
39. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA DepartmentSpark
データサイエンティストのために作られた分析ライブラリ群
Hadoopが無くても動く
データベースではない
データ蓄積はHadoopのHDFSでもよいし、そうでなくても良い
以下の様なものが含まれる
Spark 本体 :メモリベースで集計などをする
Spark MLLib:機械学習
Spark SQL:SQLライクなインターフェース
Spark Stream:マイクロバッチ
38
40. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentマイクロバッチ
続々と流れてくるデータに対して、短い期間で集計を行う処理
データベースではない。データを永続化しない。
使いドコロ
初回来訪者の属性推定
デバイス異常値検出
39
Kinesis
Analytics
Kinesis
Streams
マイクロバッチ
マイクロバッチ
PUB
(出版)
SUB
(購読)
分散キュークライアント
クライアント
クライアント
クライアント
41. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department
ディスク
ディスク
インメモリデータグリッド
KVSに似ているが、アプリケーションのローカルに置かれるキャッシュ
メモリ上での処理を前提として、永続化はオプション
ユースケース
金融の取引処理
ミリ秒以下の応答時間
40
Javaアプリ インメモリDB
Javaアプリ インメモリDB
メモリ
同期
42. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA DepartmentElasticsearch
検索エンジン
ドキュメントデータベースに非常に近い
JSONが入る
レプリケーションできる
シャーディング出来る
ドキュメントデータベースとの違い
Kibanaと連携できる
全文検索が強力
かなり集計できる
41
Elasticsearch Service
Kibana
43. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA DepartmentグラフDB
グラフ演算に特化したDB
RDB以上にスケールアウトできない
ユースケース
最短経路探索
金融取引の詐欺検出
ソーシャルネットワークにおける人物間の計算
RDBだとJOINの多重入れ子になるような計算
42
44. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department【急遽追加!】ブロックチェーン
分散KVS
台帳をP2Pで共有
トランザクション提供
コミットは、因数分解を最初に説いた人がみんなのトランザクションをまと
めてコミット
→つまり非常に遅い
43
45. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department【急遽追加!】分散OLTP
今朝の神林さんの発表を聞いて急遽追加
10万TPS
前提とするHW:1000コア、10TBメモリ、高速バス
既存のRDB(OLTP)とはアーキテクチャが異なる
44
46. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースの分類 追記版
45
DB
(
)
)
RDB(OLTP)
KVS
ElasticSearch
Hadoop
RDB(DWH)
OLTP
47. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentデータベースの分類
46
DB
( ) )
RDB(OLTP)
KVS
RDB(DWH)
DynamoDB
BigQuery
Exadata
EMR
Hadoop
Kinesis
ブランド
Redshift
OLTP
Exadata
48. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Department伝えたいこと
IoTのデバイスログ収集はKVSが最適ではない
書き込みは多いが、オペレーショナルではないため
やりたいことは分析
IoTはデバイスログ収集は
マイクロバッチ + Hadoop or RDB(DWH) が最適
47
49. (C) Recruit Technologies Co.,Ltd. All rights reserved.
リクルートテクノロジーズ ビッグデータ部における使い分け
48
目標到達時間 13:45
50. (C) Recruit Technologies Co.,Ltd. All rights reserved.
BIG DATA Departmentリクルートテクノロジーズ ビッグデータ部での活用
49
DB
( ) )
RDB(OLTP)
KVS
RDB(DWH)
DynamoDB
BigQuery
Exadata
EMR
Hadoop
DB
Kinesis
ブランド
Redshift
OLTP