1	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
HBaseの最新事例	
  
Cloudera	
  株式会社 嶋内 翔	
  
2	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
今日話すこと	
  
•  HBaseの活用事例2つ紹介	
  
• HBase徹底入門で紹介されてる例とは違うものをピックアップ	
  
•  あまり技術的に深い話はしません	
  
•  HBaseを詳しくない人向けに、実際にどうやって活用しているのかを紹介します	
  
3	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
⾃自⼰己紹介
•  セールスエンジニア	
  
•  2011年年4⽉月にClouderaの最初の⽇日本⼈人社員として⼊入社
•  お客様がCloudera製品を活⽤用できるように⼀一緒に議論論するのがメインの仕
事	
  
• 実際は技術に関係する業務は全部⾏行行っている	
  
•  email:	
  sho@cloudera.com	
  
•  twiBer:	
  @shiumachi	
  
4	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
HBaseに格納するデータの種類	
  
•  「エンティティ」か「イベント」のどちらか	
  
•  エンティティ:	
  現在の状態についての情報	
  
• 顧客情報、ユーザ情報、位置情報、クリック数などのメトリクスなど	
  
• リアルタイムの読み書きが発生する	
  
•  イベント:	
  連続的な時系列のデータ	
  
• センサーデータ、メトリクスの履歴、株のティッカーデータなど	
  
• 書き込みはリアルタイムだが、読み込みはリアルタイムとバッチ両方が考えら
れる	
  
•  エンティティと時間の範囲、どちらについて先にクエリしたいか?これによってど
のようにデータを保存すればいいかが決まる	
  
5	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
事例1:	
  医療系ITシステム	
  
6	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
A社:	
  医療系ITソリューション企業	
  
•  医療系のITソリューションを提供する米国の企業	
  
•  医療データの蓄積と活用にHBaseを利用	
  
•  今日紹介する内容は実際のシステムとはやや異なります	
  
•  データ活用の動機	
  
• インフォームドデシジョンのための情報の改善	
  
• 医療に関するリコメンド	
  
•  課題	
  
• 医療データは断片化されている	
  
• ある個人のデータが様々なシステムに散在している	
  
7	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
データ蓄積部分のアーキテクチャ	
  
•  データソース(他システム)からhBpsでデータを収集し、KaKaに流す	
  
•  StormがKaKaからデータを取り出し、HBase	
  /	
  HDFS	
  に書きこむ	
  
データソース	
  
データソース	
  
データソース	
  
独自のデータ	
  
収集システム	
  
KaKa	
   Storm	
  
HDFS	
  
HBase	
  
8	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Apache	
  KaKa	
  とは?	
  
•  分散	
  pub-­‐sub	
  システム	
  
•  高可用	
  
•  スケーラブル	
  
•  高速	
  
•  高信頼	
  
9	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
KaKa	
  導入前	
  
Table.noTfy	
   Table	
  
データソース	
  
リスナー	
  
1.	
  データの更新が必要になったら	
  
	
  	
  	
  	
  noTfyテーブルに通知	
  
2.	
  リスナーはテーブルを	
  
	
  	
  	
  	
  scanし続けて監視	
  
3.	
  通知を確認したら実際に	
  
	
  	
  	
  	
  データを取得	
  
4.	
  実テーブルに書き込み	
  
5.	
  通知セルを削除	
  
10	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
KaKa導入後	
  
Table	
  
リスナー	
  
KaKaトピック	
  
記録しているオフセットより新しいメッセージがトピックに届いたら更新するだけ	
  
scanによる監視負荷もなし	
  
11	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
データ活用部分のアーキテクチャ	
  
•  データ処理にはStorm	
  と MapReduce	
  を併用	
  
• インクリメンタル処理は複雑でエラーも多い	
  
• MapReduceに後追いで処理させてフェイルセーフとしている	
  
•  HBaseのデータを元にSolrのシャードを作成	
  
HBase	
  
Storm	
  
MapReduce	
  
HBase	
  
Solr	
  
フロントエンド	
  
アプリケーション	
  
12	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
フロントエンドアプリケーション	
  
•  画像検索	
  
• 検索キーワード(病名、症状など)を元に、その患者に関連する画像を検索	
  
•  アラートシステム	
  
• 入力されたデータから、健康上のリスクを検知	
  
• アラートを臨床医に通知	
  
• 新しい知見が得られたら即座にデータを更新	
  
•  医療記録閲覧システム	
  
• 患者の医療記録を迅速に閲覧する	
  
•  医療計画のパーソナライズ	
  
13	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
行キーをどうとるか?	
  
•  クエリの対象:	
  患者(=人)	
  
• 行キーに人(ユーザIDなど)をとり、列に属性情報(住所、電話番号から医療記
録まで)を格納する	
  
•  クエリの対象:	
  ドキュメント	
  
• 文書検索システムの場合はドキュメントIDなどが行キーとなる	
  
14	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
事例2:	
  Cloudera	
  CSI	
  
15	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Cloudera	
  CSI:	
  Clouderaのサポートシステム	
  
•  Cloudera	
  Manager	
  の診断データを、COEが迅速に閲覧するためのシステム	
  
•  主要機能	
  
• クラスタの設定やアラートの閲覧	
  
• 送信されたログの検索	
  
•  Impalaを使用	
  
• 過去のサポートケース、診断データ、ソースコード、JIRA、コミュニティメーリン
グリストの横断検索	
  
•  Cloudera	
  Search	
  を使用	
  
•  データは HBase	
  /	
  HDFS	
  に格納	
  
16	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Cloudera	
  CSIのアーキテクチャ	
  
HDFS	
  
HBase	
  
お客様	
  
クラスタ	
  
診断データ	
  
Impala	
  
Search	
  
Cloudera	
  CSI	
  
17	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Cloudera	
  CSIのアーキテクチャ	
  
HDFS	
  
HBase	
  
お客様	
  
クラスタ	
  
診断データ	
  
Impala	
  
Search	
  
Cloudera	
  CSI	
  
診断データはHDFSに格納される。	
  
圧縮状態で数百MB、場合によっては数GBにも達する。	
  
設定情報などはHBaseに、ログファイルはHDFSに分けて
格納される。	
  
18	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Cloudera	
  CSIのアーキテクチャ	
  
HDFS	
  
HBase	
  
お客様	
  
クラスタ	
  
診断データ	
  
Impala	
  
Search	
  
Cloudera	
  CSI	
  
Solrインデックスを更新する。	
  
HBaseに投入されたデータはLily	
  HBase	
  Indexerによってニ
アリアルタイムで更新される。	
  
19	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Cloudera	
  CSIのアーキテクチャ	
  
HDFS	
  
HBase	
  
お客様	
  
クラスタ	
  
診断データ	
  
Impala	
  
Search	
  
Cloudera	
  CSI	
  
Impalaを使ってログ検索を行う	
  
Searchを使って全文検索	
  
クラスタの基本情報はHBaseから取り出す	
  
20	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
CSI
全文検索
システム
スタックトレース
検索システム
Cloudera CSI
•  Cloudera エンジニアの強力な武器
21	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
CSI
全文検索
システム
スタックトレース
検索システム
Cloudera CSI ログ検索 (Impala)
•  時間指定、検索キーワード、フィルタなどの機能を持つ
22	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
CSI
全文検索
システム
スタックトレース
検索システム
Monocle: 全文検索システム
•  Lily	
  HBase	
  Indexer	
  を使って	
  HBase	
  上のデータのインデックスをSolrに登録	
  
23	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
CSI
全文検索
システム
スタックトレース
検索システム
Monocle: 全文検索システム
•  スタックトレースなども検索可能
24	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
まとめ	
  
•  HBaseの活用事例2つ	
  
• どちらもエンティティベースの事例	
  
•  HBaseそのものよりも、HBaseと周辺コンポーネントをどう組み合わせるかという
話	
  
•  他のNoSQLと比較しても圧倒的にHadoopエコシステムと親和性が高いので、こ
の強みを活かしていくのがキーポイント	
  
•  HBase徹底入門はちゃんと読みましょう	
  
25	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
最後に
26	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Cloudera	
  Hadoop関連トレーニング	
  
•  HBase/Hadoop/Sparkなど、Hadoop関連トレーニングを日本語で実施	
  
•  HBase関連トレーニング	
  
• Cloudera	
  Apache	
  HBaseトレーニング (4日間)	
  
• Cloudera	
  Apache	
  HBase	
  認定スペシャリスト (CCSHB)	
  
•  詳細はこちら -­‐>	
  hBp://www.cloudera.co.jp/university/	
  
27	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
HBase	
  PMCからのお祝いメッセージ
28	
  ©	
  Cloudera,	
  Inc.	
  All	
  rights	
  reserved.	
  
Thank	
  you	
  
sho@cloudera.com	
  

HBase活用事例 #hbase_ca

  • 1.
    1  ©  Cloudera,  Inc.  All  rights  reserved.   HBaseの最新事例   Cloudera  株式会社 嶋内 翔  
  • 2.
    2  ©  Cloudera,  Inc.  All  rights  reserved.   今日話すこと   •  HBaseの活用事例2つ紹介   • HBase徹底入門で紹介されてる例とは違うものをピックアップ   •  あまり技術的に深い話はしません   •  HBaseを詳しくない人向けに、実際にどうやって活用しているのかを紹介します  
  • 3.
    3  ©  Cloudera,  Inc.  All  rights  reserved.   ⾃自⼰己紹介 •  セールスエンジニア   •  2011年年4⽉月にClouderaの最初の⽇日本⼈人社員として⼊入社 •  お客様がCloudera製品を活⽤用できるように⼀一緒に議論論するのがメインの仕 事   • 実際は技術に関係する業務は全部⾏行行っている   •  email:  sho@cloudera.com   •  twiBer:  @shiumachi  
  • 4.
    4  ©  Cloudera,  Inc.  All  rights  reserved.   HBaseに格納するデータの種類   •  「エンティティ」か「イベント」のどちらか   •  エンティティ:  現在の状態についての情報   • 顧客情報、ユーザ情報、位置情報、クリック数などのメトリクスなど   • リアルタイムの読み書きが発生する   •  イベント:  連続的な時系列のデータ   • センサーデータ、メトリクスの履歴、株のティッカーデータなど   • 書き込みはリアルタイムだが、読み込みはリアルタイムとバッチ両方が考えら れる   •  エンティティと時間の範囲、どちらについて先にクエリしたいか?これによってど のようにデータを保存すればいいかが決まる  
  • 5.
    5  ©  Cloudera,  Inc.  All  rights  reserved.   事例1:  医療系ITシステム  
  • 6.
    6  ©  Cloudera,  Inc.  All  rights  reserved.   A社:  医療系ITソリューション企業   •  医療系のITソリューションを提供する米国の企業   •  医療データの蓄積と活用にHBaseを利用   •  今日紹介する内容は実際のシステムとはやや異なります   •  データ活用の動機   • インフォームドデシジョンのための情報の改善   • 医療に関するリコメンド   •  課題   • 医療データは断片化されている   • ある個人のデータが様々なシステムに散在している  
  • 7.
    7  ©  Cloudera,  Inc.  All  rights  reserved.   データ蓄積部分のアーキテクチャ   •  データソース(他システム)からhBpsでデータを収集し、KaKaに流す   •  StormがKaKaからデータを取り出し、HBase  /  HDFS  に書きこむ   データソース   データソース   データソース   独自のデータ   収集システム   KaKa   Storm   HDFS   HBase  
  • 8.
    8  ©  Cloudera,  Inc.  All  rights  reserved.   Apache  KaKa  とは?   •  分散  pub-­‐sub  システム   •  高可用   •  スケーラブル   •  高速   •  高信頼  
  • 9.
    9  ©  Cloudera,  Inc.  All  rights  reserved.   KaKa  導入前   Table.noTfy   Table   データソース   リスナー   1.  データの更新が必要になったら          noTfyテーブルに通知   2.  リスナーはテーブルを          scanし続けて監視   3.  通知を確認したら実際に          データを取得   4.  実テーブルに書き込み   5.  通知セルを削除  
  • 10.
    10  ©  Cloudera,  Inc.  All  rights  reserved.   KaKa導入後   Table   リスナー   KaKaトピック   記録しているオフセットより新しいメッセージがトピックに届いたら更新するだけ   scanによる監視負荷もなし  
  • 11.
    11  ©  Cloudera,  Inc.  All  rights  reserved.   データ活用部分のアーキテクチャ   •  データ処理にはStorm  と MapReduce  を併用   • インクリメンタル処理は複雑でエラーも多い   • MapReduceに後追いで処理させてフェイルセーフとしている   •  HBaseのデータを元にSolrのシャードを作成   HBase   Storm   MapReduce   HBase   Solr   フロントエンド   アプリケーション  
  • 12.
    12  ©  Cloudera,  Inc.  All  rights  reserved.   フロントエンドアプリケーション   •  画像検索   • 検索キーワード(病名、症状など)を元に、その患者に関連する画像を検索   •  アラートシステム   • 入力されたデータから、健康上のリスクを検知   • アラートを臨床医に通知   • 新しい知見が得られたら即座にデータを更新   •  医療記録閲覧システム   • 患者の医療記録を迅速に閲覧する   •  医療計画のパーソナライズ  
  • 13.
    13  ©  Cloudera,  Inc.  All  rights  reserved.   行キーをどうとるか?   •  クエリの対象:  患者(=人)   • 行キーに人(ユーザIDなど)をとり、列に属性情報(住所、電話番号から医療記 録まで)を格納する   •  クエリの対象:  ドキュメント   • 文書検索システムの場合はドキュメントIDなどが行キーとなる  
  • 14.
    14  ©  Cloudera,  Inc.  All  rights  reserved.   事例2:  Cloudera  CSI  
  • 15.
    15  ©  Cloudera,  Inc.  All  rights  reserved.   Cloudera  CSI:  Clouderaのサポートシステム   •  Cloudera  Manager  の診断データを、COEが迅速に閲覧するためのシステム   •  主要機能   • クラスタの設定やアラートの閲覧   • 送信されたログの検索   •  Impalaを使用   • 過去のサポートケース、診断データ、ソースコード、JIRA、コミュニティメーリン グリストの横断検索   •  Cloudera  Search  を使用   •  データは HBase  /  HDFS  に格納  
  • 16.
    16  ©  Cloudera,  Inc.  All  rights  reserved.   Cloudera  CSIのアーキテクチャ   HDFS   HBase   お客様   クラスタ   診断データ   Impala   Search   Cloudera  CSI  
  • 17.
    17  ©  Cloudera,  Inc.  All  rights  reserved.   Cloudera  CSIのアーキテクチャ   HDFS   HBase   お客様   クラスタ   診断データ   Impala   Search   Cloudera  CSI   診断データはHDFSに格納される。   圧縮状態で数百MB、場合によっては数GBにも達する。   設定情報などはHBaseに、ログファイルはHDFSに分けて 格納される。  
  • 18.
    18  ©  Cloudera,  Inc.  All  rights  reserved.   Cloudera  CSIのアーキテクチャ   HDFS   HBase   お客様   クラスタ   診断データ   Impala   Search   Cloudera  CSI   Solrインデックスを更新する。   HBaseに投入されたデータはLily  HBase  Indexerによってニ アリアルタイムで更新される。  
  • 19.
    19  ©  Cloudera,  Inc.  All  rights  reserved.   Cloudera  CSIのアーキテクチャ   HDFS   HBase   お客様   クラスタ   診断データ   Impala   Search   Cloudera  CSI   Impalaを使ってログ検索を行う   Searchを使って全文検索   クラスタの基本情報はHBaseから取り出す  
  • 20.
    20  ©  Cloudera,  Inc.  All  rights  reserved.   CSI 全文検索 システム スタックトレース 検索システム Cloudera CSI •  Cloudera エンジニアの強力な武器
  • 21.
    21  ©  Cloudera,  Inc.  All  rights  reserved.   CSI 全文検索 システム スタックトレース 検索システム Cloudera CSI ログ検索 (Impala) •  時間指定、検索キーワード、フィルタなどの機能を持つ
  • 22.
    22  ©  Cloudera,  Inc.  All  rights  reserved.   CSI 全文検索 システム スタックトレース 検索システム Monocle: 全文検索システム •  Lily  HBase  Indexer  を使って  HBase  上のデータのインデックスをSolrに登録  
  • 23.
    23  ©  Cloudera,  Inc.  All  rights  reserved.   CSI 全文検索 システム スタックトレース 検索システム Monocle: 全文検索システム •  スタックトレースなども検索可能
  • 24.
    24  ©  Cloudera,  Inc.  All  rights  reserved.   まとめ   •  HBaseの活用事例2つ   • どちらもエンティティベースの事例   •  HBaseそのものよりも、HBaseと周辺コンポーネントをどう組み合わせるかという 話   •  他のNoSQLと比較しても圧倒的にHadoopエコシステムと親和性が高いので、こ の強みを活かしていくのがキーポイント   •  HBase徹底入門はちゃんと読みましょう  
  • 25.
    25  ©  Cloudera,  Inc.  All  rights  reserved.   最後に
  • 26.
    26  ©  Cloudera,  Inc.  All  rights  reserved.   Cloudera  Hadoop関連トレーニング   •  HBase/Hadoop/Sparkなど、Hadoop関連トレーニングを日本語で実施   •  HBase関連トレーニング   • Cloudera  Apache  HBaseトレーニング (4日間)   • Cloudera  Apache  HBase  認定スペシャリスト (CCSHB)   •  詳細はこちら -­‐>  hBp://www.cloudera.co.jp/university/  
  • 27.
    27  ©  Cloudera,  Inc.  All  rights  reserved.   HBase  PMCからのお祝いメッセージ
  • 28.
    28  ©  Cloudera,  Inc.  All  rights  reserved.   Thank  you   sho@cloudera.com