SlideShare a Scribd company logo
1 of 63
Download to read offline
AmebaにおけるHBase活用事例 
株式会社サイバーエージェント 
技術本部 善明晃由、内藤遥
2 
本日の内容 
•Amebaについて 
•HBase活用事例 
•ログ解析基盤Patriot 
•投稿監視システムOrion 
•トレンド分析システム 
株式会社サイバーエージェント
Amebaについて
4 
Ameba事業 
•スマートフォン向けの「Ameba」を中心に事業展開 
•ブログだけではなく様々なコミュニティサービスやゲームを提供 
株式会社サイバーエージェント
5 
Ameba Technology Laboratoryについて 
•Amebaの大規模データを集約的に扱う組織 
•2011年4月に開設、現在約25名が所属 
株式会社サイバーエージェント 
推薦 
フィルタリング 
ログ解析 データマイニング 
検索 
大規模 分散処理 
(ログ解析基盤)
ログ解析基盤Patriotにおける HBase
7 
Amebaのログ解析基盤:Patriot 
•Amebaのサービス共通のログ解析基盤 
•Ameba Technology Laboratoryで開発・運用 
•サービスのユーザ行動の分析、アクセスログの集計など 
•レコメンド等の大規模データ活用による機能の提供 
•Hadoopクラスタ上に構築 
•HDFSにログデータを集約 
•Hive/MapReduceを用いた集計 
•HBaseを用いて処理結果を活用 
•Flumeを用いたデータ収集
8 
株式会社サイバーエージェント 
システム構成 
Ameba 
サービス 
ログ転送(SCP) 
MySQLレプリ 
【Logサーバ】 
ログの一時集約 
Hadoop 
クラスタ 
ログ整形 
Hiveインポート 
サマリView、 
アドホックHiveクエリ 
(自作WebUI) 
【Batchサーバ】 
ワークフロー 
スケジューラ 
HiveJobをキック 
ログのリアルタイム転送 
(Flume) 
各部門の 
レポーティングツール 
【外部連携サーバ】 
サマリーデータ取得 
Hiveクエリ実行 
ジョブステータス取得
9 
Amebaのログ解析基盤:Patriot 
昨年のCloudera World Tokyo で運用体制等について紹介 
Amebaにおけるログ解析基盤Patriotの活用事例 
http://www.slideshare.net/cyberagent/cloudera-world-tokyo-2013 
株式会社サイバーエージェント
10 
システム概要(HBase関連) 
株式会社サイバーエージェント 
ログ 
(Hive) 
集計結果 
(HBase) 
ログ 
ログ 
ログ 
ログ 
•Hiveの集計結果をHBaseに出力 
•HBaseのデータをレポーティングツールなどに出力 
•用途に応じて複数のテーブル(スキーマ)を利用 
•アクセス解析、行動ログ解析、など 
アクセス 解析 
行動ログ 
解析
11 
HBaseスキーマの例 
アクセスログ解析 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービス名>-<デバイス種別>- 
<パス>-<日付>-<指標名>-<集 計種別>-<集計対象> 
a 
<Hour>? 
<集計結果> 
•指標名;pv、レスポンスタイムなど 
•集計種別/集計区分:リファラ、検索ワードなど 
•Hour 
•日時集計では空文字、時間単位の集計のみ[0-24] 
•集計対象に任意の文字列が入りうるためColumnに分離
12 
HBaseを利用する上での課題 
•アプリケーションのデータとKeyValue間の変換が必要 
•スキーマの管理が分散 
•データをKeyValueにどのように配置するか 
•Hiveからの入力、レポーティングへの出力、管理ツール(CLI) 
•データの管理確認が面倒 
•CLIがイマイチ 
•手動でrowkeyの作成、Filterの設定 
•スキーマ毎に管理ツールをつくるのも手間 
•byte[]の連結と分割 
•大量のデータの入出力 
•細粒度での集計 
•データの修正 
株式会社サイバーエージェント
13 
HBaseを利用する上での課題(例) 
•誤って書き込まれたデータの削除 
•不正なログ、Hiveクエリのミス 
株式会社サイバーエージェント 
集計結果 (HBase) 
指標名 
値 
service1-pv 
12345 
service1-unknown1 
-999 
service1-unknown2 
-999 
service1-uu 
300 
変なデータ が見える 
> delete ‘anapat’, ‘service1-unknown1’,,,, 
> delete ‘anapat’, ‘service1-unknown2’,,,, 
… 
Deleteをそれぞれのデータに対して発行
14 
HBaseを利用する上での課題(例) 
• 指標名が統一されてない 
•複数人、複数部門がバッチ処理を追加 
•レポートの作成が複雑 
株式会社サイバーエージェント 
集計結果 (HBase) 
指標名 
値 
service1-uu 
1000 
service2-dau 
2000 
service3-uu 
3000 
service2のデー タがみえない 
指標名 
値 
service1-uu 
1000 
service3-uu 
3000 
修正対象データ 
(実際は大量、数年分) 
> import org.apache.hadoop.hbase.filter.RowFilter 
> import org.apache.hadoop.hbase.filter.RegexStringComparator 
> filter = RowFilter.new(RowFilter::CompareOp::EQUAL, RegexStringComparator.new('.*i1.*')) 
> scan 'anapat', {FILTER => filter} 
> put ‘anapat’ , ‘service-uu’,,,, ‘ 2000’ 
Scanした結果を書き換え
15 
Relation定義 
汎用HBaseラッパー(Blackhawk) 
•スキーマ定義を一元管理し、アプリケーションデータとKeyValueと の変換を実現 
•byte[]を意識せずにKeyValueデータをあつかうインタフェース 
•SQLライクなクエリ 
•CLI、JDBCドライバ 
•Hive Integration 
•HBaseの多様なスキーマに対してHiveで処理 
株式会社サイバーエージェント 
Blackhawk 
スキーマ リポジトリ 
SELECT * FROM patriot-kpi WHERE service = ‘ameba’ AND indicator = ‘uu’ 
Scan table: patriot-pac3 
{"startRow":"ameba-uu",” 
stopRow":"ameba-uv”, "families":{"data":["ALL"]}} 
Schema定義 
Schema定義
16 
スキーマの定義DDL 
•KeyValueの各要素中の属性の配置を記述 
•各属性に区切りを示す修飾子を設定(suffix(“-”)) 
株式会社サイバーエージェント 
define primary schema v1 for apdata { table "anapat", row suffix(“-”){service}:suffix(“-”){dev}:suffix(“- ”){path}:regexp("[0-9]{4}-[01][0-9]-[0-3][0-9]"){dt}:"-”:suffix(“- ”){indicator}:suffix("-"){target_type}:target_value, family "a", qualifier hour, value val };
17 
動作例 
KeyValue → アプリケーションデータ 
株式会社サイバーエージェント 
define primary schema v1 for apdata { … row suffix(“-”){service}: suffix(“-”){dev}: suffix(“-”){path}: regexp("[0-9]{4}-[01][0-9]-[0-3][0-9]"){dt}:"-”: suffix(“-”){indicator}: suffix("-"){target_type}: target_value, … }; 
service=ameba, dev= pc, path=/, dt=2014-11-06, indicator=pv, target_type=search, target_value=word 
ameba-pc- /-2014-11-06-pv-search-word 
RowKey
18 
利用例1 
誤って書き込まれたデータの削除 
株式会社サイバーエージェント 
集計結果 (HBase) 
指標名 
値 
service1-pv 
12345 
service1-unknown1 
-999 
service1-unknown2 
-999 
service1-uu 
300 
変なデータ が見える 
DELTE FROM apdata WHERE service = ‘serivce1’ AND indicator like ‘unknown%’ 
対象範囲をScanし、 
条件を満たすKeyValueに対してDeleteを発行
19 
利用例2 
• 指標名が統一されてない 
株式会社サイバーエージェント 
集計結果 
(HBase) 
指標名 
値 
service1-uu 
1000 
service2-dau 
2000 
service3-uu 
3000 
service2のデー タがみえない 
指標名 
値 
service1-uu 
1000 
service3-uu 
3000 
修正対象データ 
(実際は大量、数年分) 
hive –e “INESRT OVERWRITE TABLE patdata 
SELECT service, ‘uu’ AS indicator,,, 
FROM patdata WHERE indicator = ‘dau’ 
大量のKVをMapReduceで 
容易に修正
20 
株式会社サイバーエージェント 
利用例3 
• JDBCドライバにより開発を効率化 
• HBaseのAPIを知らなくても利用可能 
• 性能が必要な場合はある程度の知識は必要 
• KeyValueとの変換処理は実装不要 
Ameba 
サービス 
Hadoop 
クラスタ 
必要な機能の 
実装に集中 
【外部連携サーバ】 
サマリーデータ取得 
Hiveクエリ実行 
ジョブステータス取得
21 
現在の取り組み 
•スキーマ変換 
•設計に失敗したスキーマの処理 
•Wide-tableなど 
•用途に応じたスキーマを容易に追加可能な枠組み 
•サービス毎のレポート → 指標毎のレポート 
•Hive Integrationを用いたユーザ管理データとの連携 
•例) サービスのリストをHBaseで管理しオンラインで設定可能し、Hiveの集計 で利用 
•OSS化も検討中 
株式会社サイバーエージェント
Ameba投稿監視システムOrionにおける 
HBase
23 
Ameba投稿監視システム Orion 
•健全性の担保を目的に、Amebaでのユーザ投稿テキスト、投稿画 像を一元的に管理し、投稿内容の監視を支援するシステム 
•約2500万投稿/day 
•約150人のオペレータによる監視 
株式会社サイバーエージェント 
http://gihyo.jp/dev/serial/01/cyberagent/0053
24 
Ameba投稿監視システム Orion 
•機能要件 
•日ごとに投稿データを監視、時系列の古いものから処理していく 
•未処理の投稿データに関しては、オペレータが重複して 監視しないようにする (二重監視の防止) 
株式会社サイバーエージェント
25 
Ameba投稿監視システム Orion 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<監視カテゴリID>_<監視状態ID>_ 
<投稿時間>_<投稿ID> 
v 
<投稿情報 
(シリアライズ)>
26 
•スキーマ設計 
株式会社サイバーエージェント 
Ameba投稿監視システム Orion 
RowKey 
ColumnFamily 
Column 
Value 
<監視カテゴリID>_<監視状態ID>_ 
<投稿時間>_<投稿ID> 
v 
<投稿情報 (シリアライズ)> 
監視対象をグルーピングしたID このIDごとに投稿データが監視される
27 
Ameba投稿監視システム Orion 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<監視カテゴリID>_<監視状態ID>_ 
<投稿時間>_<投稿ID> 
v 
<投稿情報 (シリアライズ)> 
投稿データの監視状態 
0: 未処理 
1: 監視中 
2: 監視済
28 
Ameba投稿監視システム Orion 
•スキーマ設計 
株式会社サイバーエージェント 
UNIX時間 例)2014/11/01 00:00:00 ->1414767600000 
RowKey 
ColumnFamily 
Column 
Value 
<監視カテゴリID>_<監視状態ID>_ 
<投稿時間>_<投稿ID> 
v 
<投稿情報 
(シリアライズ)>
29 
Ameba投稿監視システム Orion 
•スキーマ設計 
株式会社サイバーエージェント 
投稿データを識別するID 
RowKey 
ColumnFamily 
Column 
Value 
<監視カテゴリID>_<監視状態ID>_ 
<投稿時間>_<投稿ID> 
v 
<投稿情報 (シリアライズ)>
30 
Ameba投稿監視システム Orion 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<監視カテゴリID>_<監視状態ID>_ 
<投稿時間>_<投稿ID> 
v 
<投稿情報 (シリアライズ)> 
ColumnFamily、Columnは 全てのValueに付随して保存されるため、 なるべく短くする(Columnは空)
31 
Ameba投稿監視システム Orion 
•スキーマ設計 
株式会社サイバーエージェント 
投稿データ、オペレータ対応情報など シリアライズして容量の節約 キーがソートされたキーバリューストア として利用可能 
RowKey 
ColumnFamily 
Column 
Value 
<監視カテゴリID>_<監視状態ID>_ 
<投稿時間>_<投稿ID> 
v 
<投稿情報 (シリアライズ)>
32 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
株式会社サイバーエージェント
33 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•データ取得(全体像) 
株式会社サイバーエージェント 
API 
HBase 
Step1: HTTPリクエスト 
Step2: ロック Step3: ロック取得 
Step4: Scan 
Step5: データ取得 
Step6: Put 
Step7: Delete 
Step9: データ取得 
Step8: ロック解除 
ZooKeeper
34 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•監視カテゴリのロック 
•ZooKeeperを使って監視カテゴリごとにロックを取得する 
株式会社サイバーエージェント 
API 
Step2: ロック 監視カテゴリID=1 
Step3: ロック取得 
成功するまで一定数リトライ 
Step1: HTTPリクエスト 
ZooKeeper
35 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•StartRow、StopRowを生成 
•StartRow: 1_0_1414767600000 
•StopRow : 1_0_1414854000000 
•RowKeyは昇順にソートされているため、時系列の古いデータから取得可能 
株式会社サイバーエージェント 
API 
HBase 
2014/11/01 00:00:00 
2014/11/02 00:00:00 
未処理 
Step4: Scan 
Step5: データ取得
36 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•HBaseからデータ取得 
株式会社サイバーエージェント 
API 
HBase 
Step4: Scan 
Step5: データ取得 
クエリ(Scan) 
StartRow: 1_0_1414767600000 
StopRow: 1_0_1414854000000 
ColumnFamily: v 
取得件数: 100件 
検索結果 
RowKey: 1_0_1414767612345_83B197E4 
Value: <投稿情報>
37 
API 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•RowKeyの更新 
•監視状態IDを0(未処理) -> 1(監視中)に変更 
•RowKeyが変わるため、Put、Deleteの処理を連続して行う 
株式会社サイバーエージェント 
HBase 
Step6: Put 
Step7: Delete 
クエリ(Put) 
RowKey: 1_1_1414767612345_83B197E4 
ColumnFamily: v 
Value: <投稿情報> 
クエリ(Delete) RowKey: 1_0_1414767612345_83B197E4 ColumnFamily: v
38 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•監視カテゴリのロック解除、データ取得 
株式会社サイバーエージェント 
API 
Step9: データ取得 
Step8: ロック解除 監視カテゴリID=1 
ZooKeeper
39 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•オペレータによる目視監視 
•投稿データに対応情報を付与 
株式会社サイバーエージェント 
RowKey: 1_1_1414767612345_83B197E4 
Value: <投稿情報(更新)>
40 
Ameba投稿監視システム Orion 
例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 
•HBaseにデータを格納 
•監視状態IDを1(監視中) -> 2(監視済)に変更 
株式会社サイバーエージェント 
API 
HBase 
Put 
Delete 
クエリ(Put) 
RowKey: 1_2_1414767612345_83B197E4 
ColumnFamily: v 
Value: <投稿情報(更新)> 
クエリ(Delete) RowKey: 1_1_1414767612345_83B197E4 ColumnFamily: v
トレンド分析システムにおける HBase
42 
•各サービスの検索ワードやハッシュタグ、投稿画像など、幅広いオブジェクトの トレンドを分析、検知するシステム 
•Daily、Hourlyなどの時系列ごとにオブジェクトに対するアクティビティ (検索した、いいねを押したなど)をカウント 
トレンド分析システム 
株式会社サイバーエージェント
43 
•機能要件 
•オブジェクトの急上昇ランキングの提供(バッチ処理) 
•オブジェクトの時系列のカウント情報の提供(オンライン処理) 
トレンド分析システム 
株式会社サイバーエージェント
44 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count> 
トレンド分析システム
45 
トレンド分析システム 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count> 
サービスを一意に 識別するID
46 
トレンド分析システム 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count> 
時系列の種類ごとに フォーマットされた日時 Daily -> yyyyMMdd Hourly -> yyyyMMddHH 10分ごと -> yyyyMMddHHm0
47 
トレンド分析システム 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count> 
『検索ワード』、『投稿画像』 など、カテゴリを識別するID
48 
トレンド分析システム 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count> 
『投稿画像』 の 『いいね』、 『コメント』など、カテゴリを 更に細分化するID (任意)
49 
トレンド分析システム 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count> 
『検索ワード』の『AKB』など、 分析対象となるオブジェクト
50 
トレンド分析システム 
•スキーマ設計 
株式会社サイバーエージェント 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count> 
時系列の種類によって ColumnFamilyを分ける Daily -> d Hourly -> h 10分ごと -> m
51 
トレンド分析システム 
•スキーマ設計 
株式会社サイバーエージェント 
オブジェクトに対する アクティビティのカウント HBaseのカウンタ機能を利用 
RowKey 
ColumnFamily 
Column 
Value 
<サービスID>_<日時フォーマット>_ 
<カテゴリID>_<サブカテゴリID>_ 
<オブジェクト> 
d 
<count> 
… 
h 
<count> 
… 
m 
<count>
52 
トレンド分析システム 
例1) アメブロの検索ワード急上昇ランキング 
•時系列の種類:Hourly 
•集計期間: 2014/11/01 0時 ~ 2014/11/02 0時 
株式会社サイバーエージェント
53 
トレンド分析システム 
例1) アメブロの検索ワード急上昇ランキング 
•StartRow、StopRowを生成 (0時 ~ 1時) 
•StartRow: 1_2014110100_1 
•StopRow : 1_2014110100_2 
株式会社サイバーエージェント 
アメブロの サービスID 
『検索ワード』の カテゴリID 
Hourlyの フォーマット
54 
トレンド分析システム 
例1) アメブロの検索ワード急上昇ランキング 
•データ取得 (0時 ~ 1時) 
株式会社サイバーエージェント 
Batch 
HBase 
Scan 
データ取得 
クエリ(Scan) 
StartRow: 1_2014110100_1 
StopRow: 1_2014110100_2 
ColumnFamily: h 
検索結果 RowKey: 1_2014110100_1_AKB Value: 100
55 
トレンド分析システム 
例1) アメブロの検索ワード急上昇ランキング 
•24時間分のデータを1時間ごとに取得 
•データ整形後、変化点検出のロジックを使ってオブジェクトごとに 急上昇の度合いを算出 -> ランキング生成 
株式会社サイバーエージェント
56 
トレンド分析システム 
例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 
•時系列の種類:Daily 
•集計期間: 2013/11/01 00:00 ~ 2014/11/01 00:00 
株式会社サイバーエージェント
57 
トレンド分析システム 
株式会社サイバーエージェント 
API 
HBase 
Get 
データ取得 
検索結果 
RowKey: 1_20131101_1_AKB 
Value: 1000 
クエリ(Get) 
RowKey: 1_20131101_1_AKB 
ColumnFamily: d 
例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 
•データ取得 
•Result[] get(List<Get> gets) のクライアントAPIを利用(Java) 
•集計期間内で日ごとのRowKey、Getインスタンスを生成 
•RowKey: 20131101_1_AKB ~ 20141031_1_AKB
58 
トレンド分析システム 
例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 
•管理ツールでグラフ化 
株式会社サイバーエージェント
59 
トレンド分析システム 
例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 
•管理ツールでグラフ化 
株式会社サイバーエージェント 
2014/02/25 AKB48グループ大組閣祭り (AKB48グループ内の 人事異動を発表するイベント) 
2014/05/25 AKB48握手会傷害事件 
2014/06/08 大島優子卒業コンサート
60 
まとめ 
•ログ解析基盤PatriotにおけるHBase 
•HBaseのデータ管理を効率化するツール 
•投稿監視システムOrionにおけるHBase 
•二重監視を防ぐ仕組み 
•トレンド分析システムにおけるHBase 
•オブジェクトのランキング、時系列情報提供のためのスキーマ設計 
株式会社サイバーエージェント
61 
「HBase徹底入門」鋭意執筆中です!2015年初旬発売予定! 
•本の内容(予定) 
第1部 HBaseの基礎 HBaseの基礎について解説します。チ ュートリアルでHBaseを動かします。 
第2部 HBaseを用いたアプリケーシ ョン開発 Java API、HBaseのスキーマ設計の考 え方、アプリケーション設計の流れを解説 します。 
第3部 HBaseクラスタの構築・運用 クラスタ設計についての考え方、構築 方法、運用方法について解説します。 
第4部 HBaseの高度なトピック パフォーマンス・チューニング、 HBaseのエコシステムなどについて解説し ます。 
※画像はイメージです 
株式会社サイバーエージェント
62 
最後に 
•Ameba Technology Laboratoryではエンジニアを募集して います! 
•akb-lab@cyberagent.co.jp 
•Hadoop / データマイニング / 機械学習/ 検索 などに 興味がある人はお声がけください。 
株式会社サイバーエージェント
ご清聴ありがとうございました。

More Related Content

What's hot

Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッションYuichi Hasegawa
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jpyoyamasaki
 
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介Kodai Terashima
 
Dbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortexDbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortexKoji Shinkubo
 
JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)Yoshinori Nakanishi
 
Impala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajpImpala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajpCloudera Japan
 
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...Funada Yasunobu
 
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13wIntroduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13wCloudera Japan
 
[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...
[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...
[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...Insight Technology, Inc.
 
Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Yukinori Suda
 
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Ashitaba YOSHIOKA
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Cloudera Japan
 
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingImpala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingSho Shimauchi
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama Insight Technology, Inc.
 
dimSTATから見るベンチマーク
dimSTATから見るベンチマークdimSTATから見るベンチマーク
dimSTATから見るベンチマークhiroi10
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltToshihiro Suzuki
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -yoyamasaki
 
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 FukuokaPostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 FukuokaShigeru Hanada
 
MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月yoyamasaki
 

What's hot (20)

Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
 
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
 
Dbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortexDbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortex
 
JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)
 
Impala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajpImpala 2.0 Update 日本語版 #impalajp
Impala 2.0 Update 日本語版 #impalajp
 
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
 
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13wIntroduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
 
[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...
[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...
[db tech showcase Tokyo 2016] A13: 最新版VerticaのAnalytics機能を駆使して実現する簡単ログ分析 by日本...
 
Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話Cloudera Impalaをサービスに組み込むときに苦労した話
Cloudera Impalaをサービスに組み込むときに苦労した話
 
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014
 
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingImpala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
 
dimSTATから見るベンチマーク
dimSTATから見るベンチマークdimSTATから見るベンチマーク
dimSTATから見るベンチマーク
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 FukuokaPostgreSQL 10 新機能 @OSC 2017 Fukuoka
PostgreSQL 10 新機能 @OSC 2017 Fukuoka
 
MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月MySQL最新情報  ※2016年12月
MySQL最新情報  ※2016年12月
 

Viewers also liked

Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)さくらインターネット株式会社
 
hbstudy 74 Site Reliability Engineering
hbstudy 74 Site Reliability Engineeringhbstudy 74 Site Reliability Engineering
hbstudy 74 Site Reliability EngineeringRyuji Tamagawa
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介OSSラボ株式会社
 
”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」についてYuya Ohara
 
Promcon2016
Promcon2016Promcon2016
Promcon2016wyukawa
 
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集matsu_chara
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 

Viewers also liked (9)

160724 jtf2016sre
160724 jtf2016sre160724 jtf2016sre
160724 jtf2016sre
 
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
 
hbstudy 74 Site Reliability Engineering
hbstudy 74 Site Reliability Engineeringhbstudy 74 Site Reliability Engineering
hbstudy 74 Site Reliability Engineering
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について”30分”ぐらいでわかる「Kubernetes」について
”30分”ぐらいでわかる「Kubernetes」について
 
Promcon2016
Promcon2016Promcon2016
Promcon2016
 
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 

Similar to 20141106_cwt-zenmyo-naito

Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011Ichiro Fukuda
 
ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報Kazuki Takai
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Kodai Terashima
 
第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)Hiroki Ishikawa
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA HadoopセミナーIchiro Fukuda
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングShin Matsumoto
 
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic BeanstalkAWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic BeanstalkAmazon Web Services Japan
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeSatoru Ishikawa
 
20100930 sig startups
20100930 sig startups20100930 sig startups
20100930 sig startupsIchiro Fukuda
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0Ryusuke Kajiyama
 
Reco choku tech night #09 -reinvent2018報告会-
Reco choku tech night #09 -reinvent2018報告会-Reco choku tech night #09 -reinvent2018報告会-
Reco choku tech night #09 -reinvent2018報告会-recotech
 
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視Takanori Suzuki
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリアシアル株式会社
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon AthenaAmazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 - AWS WAF
AWS Black Belt Tech シリーズ 2015 - AWS WAFAWS Black Belt Tech シリーズ 2015 - AWS WAF
AWS Black Belt Tech シリーズ 2015 - AWS WAFAmazon Web Services Japan
 
ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視Kodai Terashima
 
Zabbix 1.8の概要と新機能
Zabbix 1.8の概要と新機能Zabbix 1.8の概要と新機能
Zabbix 1.8の概要と新機能Kodai Terashima
 
オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介
オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介
オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介Kodai Terashima
 

Similar to 20141106_cwt-zenmyo-naito (20)

Hadoop conferencejapan2011
Hadoop conferencejapan2011Hadoop conferencejapan2011
Hadoop conferencejapan2011
 
ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
 
API Gateway / AWS CLI
API Gateway / AWS CLIAPI Gateway / AWS CLI
API Gateway / AWS CLI
 
第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)第9回 OpenStack 勉強会(Glance)
第9回 OpenStack 勉強会(Glance)
 
20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー20130313 OSCA Hadoopセミナー
20130313 OSCA Hadoopセミナー
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
 
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic BeanstalkAWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
 
20100930 sig startups
20100930 sig startups20100930 sig startups
20100930 sig startups
 
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
[OSC 2017 Tokyo/Fall] OSSコンソーシアム DB部会 MySQL 8.0
 
Reco choku tech night #09 -reinvent2018報告会-
Reco choku tech night #09 -reinvent2018報告会-Reco choku tech night #09 -reinvent2018報告会-
Reco choku tech night #09 -reinvent2018報告会-
 
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
ServerlessConf Tokyo2018 サーバーレスなシステムのがんばらない運用監視
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena
 
AWSCLI AutoScaling
AWSCLI AutoScalingAWSCLI AutoScaling
AWSCLI AutoScaling
 
AWS Black Belt Tech シリーズ 2015 - AWS WAF
AWS Black Belt Tech シリーズ 2015 - AWS WAFAWS Black Belt Tech シリーズ 2015 - AWS WAF
AWS Black Belt Tech シリーズ 2015 - AWS WAF
 
ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視
 
Zabbix 1.8の概要と新機能
Zabbix 1.8の概要と新機能Zabbix 1.8の概要と新機能
Zabbix 1.8の概要と新機能
 
オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介
オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介
オープンソースでシステム監視!統合監視ソフトウェアZABBIXの機能と利用事例のご紹介
 

More from cyberagent

WWW2019で見るモバイルコンピューティングの技術と動向 山本悠ニ
WWW2019で見るモバイルコンピューティングの技術と動向    山本悠ニWWW2019で見るモバイルコンピューティングの技術と動向    山本悠ニ
WWW2019で見るモバイルコンピューティングの技術と動向 山本悠ニcyberagent
 
Web フィルタリング最前線: 「「検閲回避」回避」 角田孝昭
Web フィルタリング最前線: 「「検閲回避」回避」    角田孝昭Web フィルタリング最前線: 「「検閲回避」回避」    角田孝昭
Web フィルタリング最前線: 「「検閲回避」回避」 角田孝昭cyberagent
 
WebにおけるHuman Dynamics 武内慎
WebにおけるHuman Dynamics    武内慎WebにおけるHuman Dynamics    武内慎
WebにおけるHuman Dynamics 武内慎cyberagent
 
Webと経済学 數見拓朗
Webと経済学    數見拓朗Webと経済学    數見拓朗
Webと経済学 數見拓朗cyberagent
 
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組みData Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組みcyberagent
 
継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話
継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話
継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話cyberagent
 
AbemaTVにおける推薦システム
AbemaTVにおける推薦システムAbemaTVにおける推薦システム
AbemaTVにおける推薦システムcyberagent
 
AbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポート
AbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポートAbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポート
AbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポートcyberagent
 
機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜
機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜
機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜cyberagent
 
インターネットテレビ局「AbemaTV」プロダクトの変遷
インターネットテレビ局「AbemaTV」プロダクトの変遷インターネットテレビ局「AbemaTV」プロダクトの変遷
インターネットテレビ局「AbemaTV」プロダクトの変遷cyberagent
 
番組宣伝に関するAbemaTV分析事例の紹介
番組宣伝に関するAbemaTV分析事例の紹介番組宣伝に関するAbemaTV分析事例の紹介
番組宣伝に関するAbemaTV分析事例の紹介cyberagent
 
WWW2018 論文読み会  Webと経済学
 WWW2018 論文読み会  Webと経済学 WWW2018 論文読み会  Webと経済学
WWW2018 論文読み会  Webと経済学cyberagent
 
WWW2018 論文読み会 WebにおけるHuman Dynamics
WWW2018 論文読み会 WebにおけるHuman DynamicsWWW2018 論文読み会 WebにおけるHuman Dynamics
WWW2018 論文読み会 WebにおけるHuman Dynamicscyberagent
 
WWW2018 論文読み会 Web Search and Mining
WWW2018 論文読み会 Web Search and MiningWWW2018 論文読み会 Web Search and Mining
WWW2018 論文読み会 Web Search and Miningcyberagent
 
サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018
サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018
サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018cyberagent
 
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてcyberagent
 
Orion an integrated multimedia content moderation system for web services
Orion  an integrated multimedia content moderation system for web servicesOrion  an integrated multimedia content moderation system for web services
Orion an integrated multimedia content moderation system for web servicescyberagent
 
Orion an integrated multimedia content moderation system for web services
Orion  an integrated multimedia content moderation system for web servicesOrion  an integrated multimedia content moderation system for web services
Orion an integrated multimedia content moderation system for web servicescyberagent
 
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018cyberagent
 
"マルチメディア機械学習" の取り組み
"マルチメディア機械学習"  の取り組み"マルチメディア機械学習"  の取り組み
"マルチメディア機械学習" の取り組みcyberagent
 

More from cyberagent (20)

WWW2019で見るモバイルコンピューティングの技術と動向 山本悠ニ
WWW2019で見るモバイルコンピューティングの技術と動向    山本悠ニWWW2019で見るモバイルコンピューティングの技術と動向    山本悠ニ
WWW2019で見るモバイルコンピューティングの技術と動向 山本悠ニ
 
Web フィルタリング最前線: 「「検閲回避」回避」 角田孝昭
Web フィルタリング最前線: 「「検閲回避」回避」    角田孝昭Web フィルタリング最前線: 「「検閲回避」回避」    角田孝昭
Web フィルタリング最前線: 「「検閲回避」回避」 角田孝昭
 
WebにおけるHuman Dynamics 武内慎
WebにおけるHuman Dynamics    武内慎WebにおけるHuman Dynamics    武内慎
WebにおけるHuman Dynamics 武内慎
 
Webと経済学 數見拓朗
Webと経済学    數見拓朗Webと経済学    數見拓朗
Webと経済学 數見拓朗
 
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組みData Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
Data Engineering Meetup #1 持続可能なデータ基盤のためのデータの多様性に対する取り組み
 
継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話
継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話
継続的な開発スタイル AbemaTVのiOSアプリを週1でリリースしている話
 
AbemaTVにおける推薦システム
AbemaTVにおける推薦システムAbemaTVにおける推薦システム
AbemaTVにおける推薦システム
 
AbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポート
AbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポートAbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポート
AbemaTV レコメンド開発エンジニアによる RecSys 2018 参加レポート
 
機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜
機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜
機械学習エンジニアを見せたAWSの再:発明とは? 〜re:Invent 2018 参加レポート〜
 
インターネットテレビ局「AbemaTV」プロダクトの変遷
インターネットテレビ局「AbemaTV」プロダクトの変遷インターネットテレビ局「AbemaTV」プロダクトの変遷
インターネットテレビ局「AbemaTV」プロダクトの変遷
 
番組宣伝に関するAbemaTV分析事例の紹介
番組宣伝に関するAbemaTV分析事例の紹介番組宣伝に関するAbemaTV分析事例の紹介
番組宣伝に関するAbemaTV分析事例の紹介
 
WWW2018 論文読み会  Webと経済学
 WWW2018 論文読み会  Webと経済学 WWW2018 論文読み会  Webと経済学
WWW2018 論文読み会  Webと経済学
 
WWW2018 論文読み会 WebにおけるHuman Dynamics
WWW2018 論文読み会 WebにおけるHuman DynamicsWWW2018 論文読み会 WebにおけるHuman Dynamics
WWW2018 論文読み会 WebにおけるHuman Dynamics
 
WWW2018 論文読み会 Web Search and Mining
WWW2018 論文読み会 Web Search and MiningWWW2018 論文読み会 Web Search and Mining
WWW2018 論文読み会 Web Search and Mining
 
サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018
サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018
サイバーエージェントの機械学習エンジニアが体験したGoogle I/O 2018
 
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについて
 
Orion an integrated multimedia content moderation system for web services
Orion  an integrated multimedia content moderation system for web servicesOrion  an integrated multimedia content moderation system for web services
Orion an integrated multimedia content moderation system for web services
 
Orion an integrated multimedia content moderation system for web services
Orion  an integrated multimedia content moderation system for web servicesOrion  an integrated multimedia content moderation system for web services
Orion an integrated multimedia content moderation system for web services
 
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
 
"マルチメディア機械学習" の取り組み
"マルチメディア機械学習"  の取り組み"マルチメディア機械学習"  の取り組み
"マルチメディア機械学習" の取り組み
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

20141106_cwt-zenmyo-naito

  • 2. 2 本日の内容 •Amebaについて •HBase活用事例 •ログ解析基盤Patriot •投稿監視システムOrion •トレンド分析システム 株式会社サイバーエージェント
  • 4. 4 Ameba事業 •スマートフォン向けの「Ameba」を中心に事業展開 •ブログだけではなく様々なコミュニティサービスやゲームを提供 株式会社サイバーエージェント
  • 5. 5 Ameba Technology Laboratoryについて •Amebaの大規模データを集約的に扱う組織 •2011年4月に開設、現在約25名が所属 株式会社サイバーエージェント 推薦 フィルタリング ログ解析 データマイニング 検索 大規模 分散処理 (ログ解析基盤)
  • 7. 7 Amebaのログ解析基盤:Patriot •Amebaのサービス共通のログ解析基盤 •Ameba Technology Laboratoryで開発・運用 •サービスのユーザ行動の分析、アクセスログの集計など •レコメンド等の大規模データ活用による機能の提供 •Hadoopクラスタ上に構築 •HDFSにログデータを集約 •Hive/MapReduceを用いた集計 •HBaseを用いて処理結果を活用 •Flumeを用いたデータ収集
  • 8. 8 株式会社サイバーエージェント システム構成 Ameba サービス ログ転送(SCP) MySQLレプリ 【Logサーバ】 ログの一時集約 Hadoop クラスタ ログ整形 Hiveインポート サマリView、 アドホックHiveクエリ (自作WebUI) 【Batchサーバ】 ワークフロー スケジューラ HiveJobをキック ログのリアルタイム転送 (Flume) 各部門の レポーティングツール 【外部連携サーバ】 サマリーデータ取得 Hiveクエリ実行 ジョブステータス取得
  • 9. 9 Amebaのログ解析基盤:Patriot 昨年のCloudera World Tokyo で運用体制等について紹介 Amebaにおけるログ解析基盤Patriotの活用事例 http://www.slideshare.net/cyberagent/cloudera-world-tokyo-2013 株式会社サイバーエージェント
  • 10. 10 システム概要(HBase関連) 株式会社サイバーエージェント ログ (Hive) 集計結果 (HBase) ログ ログ ログ ログ •Hiveの集計結果をHBaseに出力 •HBaseのデータをレポーティングツールなどに出力 •用途に応じて複数のテーブル(スキーマ)を利用 •アクセス解析、行動ログ解析、など アクセス 解析 行動ログ 解析
  • 11. 11 HBaseスキーマの例 アクセスログ解析 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービス名>-<デバイス種別>- <パス>-<日付>-<指標名>-<集 計種別>-<集計対象> a <Hour>? <集計結果> •指標名;pv、レスポンスタイムなど •集計種別/集計区分:リファラ、検索ワードなど •Hour •日時集計では空文字、時間単位の集計のみ[0-24] •集計対象に任意の文字列が入りうるためColumnに分離
  • 12. 12 HBaseを利用する上での課題 •アプリケーションのデータとKeyValue間の変換が必要 •スキーマの管理が分散 •データをKeyValueにどのように配置するか •Hiveからの入力、レポーティングへの出力、管理ツール(CLI) •データの管理確認が面倒 •CLIがイマイチ •手動でrowkeyの作成、Filterの設定 •スキーマ毎に管理ツールをつくるのも手間 •byte[]の連結と分割 •大量のデータの入出力 •細粒度での集計 •データの修正 株式会社サイバーエージェント
  • 13. 13 HBaseを利用する上での課題(例) •誤って書き込まれたデータの削除 •不正なログ、Hiveクエリのミス 株式会社サイバーエージェント 集計結果 (HBase) 指標名 値 service1-pv 12345 service1-unknown1 -999 service1-unknown2 -999 service1-uu 300 変なデータ が見える > delete ‘anapat’, ‘service1-unknown1’,,,, > delete ‘anapat’, ‘service1-unknown2’,,,, … Deleteをそれぞれのデータに対して発行
  • 14. 14 HBaseを利用する上での課題(例) • 指標名が統一されてない •複数人、複数部門がバッチ処理を追加 •レポートの作成が複雑 株式会社サイバーエージェント 集計結果 (HBase) 指標名 値 service1-uu 1000 service2-dau 2000 service3-uu 3000 service2のデー タがみえない 指標名 値 service1-uu 1000 service3-uu 3000 修正対象データ (実際は大量、数年分) > import org.apache.hadoop.hbase.filter.RowFilter > import org.apache.hadoop.hbase.filter.RegexStringComparator > filter = RowFilter.new(RowFilter::CompareOp::EQUAL, RegexStringComparator.new('.*i1.*')) > scan 'anapat', {FILTER => filter} > put ‘anapat’ , ‘service-uu’,,,, ‘ 2000’ Scanした結果を書き換え
  • 15. 15 Relation定義 汎用HBaseラッパー(Blackhawk) •スキーマ定義を一元管理し、アプリケーションデータとKeyValueと の変換を実現 •byte[]を意識せずにKeyValueデータをあつかうインタフェース •SQLライクなクエリ •CLI、JDBCドライバ •Hive Integration •HBaseの多様なスキーマに対してHiveで処理 株式会社サイバーエージェント Blackhawk スキーマ リポジトリ SELECT * FROM patriot-kpi WHERE service = ‘ameba’ AND indicator = ‘uu’ Scan table: patriot-pac3 {"startRow":"ameba-uu",” stopRow":"ameba-uv”, "families":{"data":["ALL"]}} Schema定義 Schema定義
  • 16. 16 スキーマの定義DDL •KeyValueの各要素中の属性の配置を記述 •各属性に区切りを示す修飾子を設定(suffix(“-”)) 株式会社サイバーエージェント define primary schema v1 for apdata { table "anapat", row suffix(“-”){service}:suffix(“-”){dev}:suffix(“- ”){path}:regexp("[0-9]{4}-[01][0-9]-[0-3][0-9]"){dt}:"-”:suffix(“- ”){indicator}:suffix("-"){target_type}:target_value, family "a", qualifier hour, value val };
  • 17. 17 動作例 KeyValue → アプリケーションデータ 株式会社サイバーエージェント define primary schema v1 for apdata { … row suffix(“-”){service}: suffix(“-”){dev}: suffix(“-”){path}: regexp("[0-9]{4}-[01][0-9]-[0-3][0-9]"){dt}:"-”: suffix(“-”){indicator}: suffix("-"){target_type}: target_value, … }; service=ameba, dev= pc, path=/, dt=2014-11-06, indicator=pv, target_type=search, target_value=word ameba-pc- /-2014-11-06-pv-search-word RowKey
  • 18. 18 利用例1 誤って書き込まれたデータの削除 株式会社サイバーエージェント 集計結果 (HBase) 指標名 値 service1-pv 12345 service1-unknown1 -999 service1-unknown2 -999 service1-uu 300 変なデータ が見える DELTE FROM apdata WHERE service = ‘serivce1’ AND indicator like ‘unknown%’ 対象範囲をScanし、 条件を満たすKeyValueに対してDeleteを発行
  • 19. 19 利用例2 • 指標名が統一されてない 株式会社サイバーエージェント 集計結果 (HBase) 指標名 値 service1-uu 1000 service2-dau 2000 service3-uu 3000 service2のデー タがみえない 指標名 値 service1-uu 1000 service3-uu 3000 修正対象データ (実際は大量、数年分) hive –e “INESRT OVERWRITE TABLE patdata SELECT service, ‘uu’ AS indicator,,, FROM patdata WHERE indicator = ‘dau’ 大量のKVをMapReduceで 容易に修正
  • 20. 20 株式会社サイバーエージェント 利用例3 • JDBCドライバにより開発を効率化 • HBaseのAPIを知らなくても利用可能 • 性能が必要な場合はある程度の知識は必要 • KeyValueとの変換処理は実装不要 Ameba サービス Hadoop クラスタ 必要な機能の 実装に集中 【外部連携サーバ】 サマリーデータ取得 Hiveクエリ実行 ジョブステータス取得
  • 21. 21 現在の取り組み •スキーマ変換 •設計に失敗したスキーマの処理 •Wide-tableなど •用途に応じたスキーマを容易に追加可能な枠組み •サービス毎のレポート → 指標毎のレポート •Hive Integrationを用いたユーザ管理データとの連携 •例) サービスのリストをHBaseで管理しオンラインで設定可能し、Hiveの集計 で利用 •OSS化も検討中 株式会社サイバーエージェント
  • 23. 23 Ameba投稿監視システム Orion •健全性の担保を目的に、Amebaでのユーザ投稿テキスト、投稿画 像を一元的に管理し、投稿内容の監視を支援するシステム •約2500万投稿/day •約150人のオペレータによる監視 株式会社サイバーエージェント http://gihyo.jp/dev/serial/01/cyberagent/0053
  • 24. 24 Ameba投稿監視システム Orion •機能要件 •日ごとに投稿データを監視、時系列の古いものから処理していく •未処理の投稿データに関しては、オペレータが重複して 監視しないようにする (二重監視の防止) 株式会社サイバーエージェント
  • 25. 25 Ameba投稿監視システム Orion •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <監視カテゴリID>_<監視状態ID>_ <投稿時間>_<投稿ID> v <投稿情報 (シリアライズ)>
  • 26. 26 •スキーマ設計 株式会社サイバーエージェント Ameba投稿監視システム Orion RowKey ColumnFamily Column Value <監視カテゴリID>_<監視状態ID>_ <投稿時間>_<投稿ID> v <投稿情報 (シリアライズ)> 監視対象をグルーピングしたID このIDごとに投稿データが監視される
  • 27. 27 Ameba投稿監視システム Orion •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <監視カテゴリID>_<監視状態ID>_ <投稿時間>_<投稿ID> v <投稿情報 (シリアライズ)> 投稿データの監視状態 0: 未処理 1: 監視中 2: 監視済
  • 28. 28 Ameba投稿監視システム Orion •スキーマ設計 株式会社サイバーエージェント UNIX時間 例)2014/11/01 00:00:00 ->1414767600000 RowKey ColumnFamily Column Value <監視カテゴリID>_<監視状態ID>_ <投稿時間>_<投稿ID> v <投稿情報 (シリアライズ)>
  • 29. 29 Ameba投稿監視システム Orion •スキーマ設計 株式会社サイバーエージェント 投稿データを識別するID RowKey ColumnFamily Column Value <監視カテゴリID>_<監視状態ID>_ <投稿時間>_<投稿ID> v <投稿情報 (シリアライズ)>
  • 30. 30 Ameba投稿監視システム Orion •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <監視カテゴリID>_<監視状態ID>_ <投稿時間>_<投稿ID> v <投稿情報 (シリアライズ)> ColumnFamily、Columnは 全てのValueに付随して保存されるため、 なるべく短くする(Columnは空)
  • 31. 31 Ameba投稿監視システム Orion •スキーマ設計 株式会社サイバーエージェント 投稿データ、オペレータ対応情報など シリアライズして容量の節約 キーがソートされたキーバリューストア として利用可能 RowKey ColumnFamily Column Value <監視カテゴリID>_<監視状態ID>_ <投稿時間>_<投稿ID> v <投稿情報 (シリアライズ)>
  • 32. 32 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 株式会社サイバーエージェント
  • 33. 33 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •データ取得(全体像) 株式会社サイバーエージェント API HBase Step1: HTTPリクエスト Step2: ロック Step3: ロック取得 Step4: Scan Step5: データ取得 Step6: Put Step7: Delete Step9: データ取得 Step8: ロック解除 ZooKeeper
  • 34. 34 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •監視カテゴリのロック •ZooKeeperを使って監視カテゴリごとにロックを取得する 株式会社サイバーエージェント API Step2: ロック 監視カテゴリID=1 Step3: ロック取得 成功するまで一定数リトライ Step1: HTTPリクエスト ZooKeeper
  • 35. 35 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •StartRow、StopRowを生成 •StartRow: 1_0_1414767600000 •StopRow : 1_0_1414854000000 •RowKeyは昇順にソートされているため、時系列の古いデータから取得可能 株式会社サイバーエージェント API HBase 2014/11/01 00:00:00 2014/11/02 00:00:00 未処理 Step4: Scan Step5: データ取得
  • 36. 36 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •HBaseからデータ取得 株式会社サイバーエージェント API HBase Step4: Scan Step5: データ取得 クエリ(Scan) StartRow: 1_0_1414767600000 StopRow: 1_0_1414854000000 ColumnFamily: v 取得件数: 100件 検索結果 RowKey: 1_0_1414767612345_83B197E4 Value: <投稿情報>
  • 37. 37 API Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •RowKeyの更新 •監視状態IDを0(未処理) -> 1(監視中)に変更 •RowKeyが変わるため、Put、Deleteの処理を連続して行う 株式会社サイバーエージェント HBase Step6: Put Step7: Delete クエリ(Put) RowKey: 1_1_1414767612345_83B197E4 ColumnFamily: v Value: <投稿情報> クエリ(Delete) RowKey: 1_0_1414767612345_83B197E4 ColumnFamily: v
  • 38. 38 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •監視カテゴリのロック解除、データ取得 株式会社サイバーエージェント API Step9: データ取得 Step8: ロック解除 監視カテゴリID=1 ZooKeeper
  • 39. 39 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •オペレータによる目視監視 •投稿データに対応情報を付与 株式会社サイバーエージェント RowKey: 1_1_1414767612345_83B197E4 Value: <投稿情報(更新)>
  • 40. 40 Ameba投稿監視システム Orion 例)監視カテゴリID:1 の 2014/11/01の未処理データを監視 •HBaseにデータを格納 •監視状態IDを1(監視中) -> 2(監視済)に変更 株式会社サイバーエージェント API HBase Put Delete クエリ(Put) RowKey: 1_2_1414767612345_83B197E4 ColumnFamily: v Value: <投稿情報(更新)> クエリ(Delete) RowKey: 1_1_1414767612345_83B197E4 ColumnFamily: v
  • 42. 42 •各サービスの検索ワードやハッシュタグ、投稿画像など、幅広いオブジェクトの トレンドを分析、検知するシステム •Daily、Hourlyなどの時系列ごとにオブジェクトに対するアクティビティ (検索した、いいねを押したなど)をカウント トレンド分析システム 株式会社サイバーエージェント
  • 43. 43 •機能要件 •オブジェクトの急上昇ランキングの提供(バッチ処理) •オブジェクトの時系列のカウント情報の提供(オンライン処理) トレンド分析システム 株式会社サイバーエージェント
  • 44. 44 •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count> トレンド分析システム
  • 45. 45 トレンド分析システム •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count> サービスを一意に 識別するID
  • 46. 46 トレンド分析システム •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count> 時系列の種類ごとに フォーマットされた日時 Daily -> yyyyMMdd Hourly -> yyyyMMddHH 10分ごと -> yyyyMMddHHm0
  • 47. 47 トレンド分析システム •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count> 『検索ワード』、『投稿画像』 など、カテゴリを識別するID
  • 48. 48 トレンド分析システム •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count> 『投稿画像』 の 『いいね』、 『コメント』など、カテゴリを 更に細分化するID (任意)
  • 49. 49 トレンド分析システム •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count> 『検索ワード』の『AKB』など、 分析対象となるオブジェクト
  • 50. 50 トレンド分析システム •スキーマ設計 株式会社サイバーエージェント RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count> 時系列の種類によって ColumnFamilyを分ける Daily -> d Hourly -> h 10分ごと -> m
  • 51. 51 トレンド分析システム •スキーマ設計 株式会社サイバーエージェント オブジェクトに対する アクティビティのカウント HBaseのカウンタ機能を利用 RowKey ColumnFamily Column Value <サービスID>_<日時フォーマット>_ <カテゴリID>_<サブカテゴリID>_ <オブジェクト> d <count> … h <count> … m <count>
  • 52. 52 トレンド分析システム 例1) アメブロの検索ワード急上昇ランキング •時系列の種類:Hourly •集計期間: 2014/11/01 0時 ~ 2014/11/02 0時 株式会社サイバーエージェント
  • 53. 53 トレンド分析システム 例1) アメブロの検索ワード急上昇ランキング •StartRow、StopRowを生成 (0時 ~ 1時) •StartRow: 1_2014110100_1 •StopRow : 1_2014110100_2 株式会社サイバーエージェント アメブロの サービスID 『検索ワード』の カテゴリID Hourlyの フォーマット
  • 54. 54 トレンド分析システム 例1) アメブロの検索ワード急上昇ランキング •データ取得 (0時 ~ 1時) 株式会社サイバーエージェント Batch HBase Scan データ取得 クエリ(Scan) StartRow: 1_2014110100_1 StopRow: 1_2014110100_2 ColumnFamily: h 検索結果 RowKey: 1_2014110100_1_AKB Value: 100
  • 55. 55 トレンド分析システム 例1) アメブロの検索ワード急上昇ランキング •24時間分のデータを1時間ごとに取得 •データ整形後、変化点検出のロジックを使ってオブジェクトごとに 急上昇の度合いを算出 -> ランキング生成 株式会社サイバーエージェント
  • 56. 56 トレンド分析システム 例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 •時系列の種類:Daily •集計期間: 2013/11/01 00:00 ~ 2014/11/01 00:00 株式会社サイバーエージェント
  • 57. 57 トレンド分析システム 株式会社サイバーエージェント API HBase Get データ取得 検索結果 RowKey: 1_20131101_1_AKB Value: 1000 クエリ(Get) RowKey: 1_20131101_1_AKB ColumnFamily: d 例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 •データ取得 •Result[] get(List<Get> gets) のクライアントAPIを利用(Java) •集計期間内で日ごとのRowKey、Getインスタンスを生成 •RowKey: 20131101_1_AKB ~ 20141031_1_AKB
  • 58. 58 トレンド分析システム 例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 •管理ツールでグラフ化 株式会社サイバーエージェント
  • 59. 59 トレンド分析システム 例2) アメブロの検索ワード 『AKB』 の時系列カウント情報取得 •管理ツールでグラフ化 株式会社サイバーエージェント 2014/02/25 AKB48グループ大組閣祭り (AKB48グループ内の 人事異動を発表するイベント) 2014/05/25 AKB48握手会傷害事件 2014/06/08 大島優子卒業コンサート
  • 60. 60 まとめ •ログ解析基盤PatriotにおけるHBase •HBaseのデータ管理を効率化するツール •投稿監視システムOrionにおけるHBase •二重監視を防ぐ仕組み •トレンド分析システムにおけるHBase •オブジェクトのランキング、時系列情報提供のためのスキーマ設計 株式会社サイバーエージェント
  • 61. 61 「HBase徹底入門」鋭意執筆中です!2015年初旬発売予定! •本の内容(予定) 第1部 HBaseの基礎 HBaseの基礎について解説します。チ ュートリアルでHBaseを動かします。 第2部 HBaseを用いたアプリケーシ ョン開発 Java API、HBaseのスキーマ設計の考 え方、アプリケーション設計の流れを解説 します。 第3部 HBaseクラスタの構築・運用 クラスタ設計についての考え方、構築 方法、運用方法について解説します。 第4部 HBaseの高度なトピック パフォーマンス・チューニング、 HBaseのエコシステムなどについて解説し ます。 ※画像はイメージです 株式会社サイバーエージェント
  • 62. 62 最後に •Ameba Technology Laboratoryではエンジニアを募集して います! •akb-lab@cyberagent.co.jp •Hadoop / データマイニング / 機械学習/ 検索 などに 興味がある人はお声がけください。 株式会社サイバーエージェント