SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
HBase
                     (        )



Ameba Technology Laboratory
•                 (                  )

•   27

•
                             Ameba Technology Laboratory
    (             4      )

•
•       Twitter       @brfrn169
•   HBase
•
•
    -       MySQL

        ➡           (   )

        ➡
•
    -           MySQL

        ➡               (   )

        ➡

            HBase
Goals

•
•        (      )

•

•
    -
    -
Non-Goals
•   (      )
•
                          follow
                                    date             2011/1/3


                  1                                                                2
                                                                            name       Yasuda Masahiro

name   Suzuki Toshihiro                                                     age                26

age          27
                           friends
                                              date              2011/4/12




                          friends
                             date          2011/4/12

                                                                                   3
                                                                            name   Fukuda Ichiro

                                                                            age           28
•   HBase + Gateway(Java)

                      Client
                               RPC


        Gateway      Gateway   Gateway


                      HBase
                      HDFS
Row Key
•   Row Key : [srcNodeId + type + direction]

•   Column Family : “g”

•   Column : destNodeId

•   Value : Properties
Row Key

              2
1




          3
Row Key

       FOLLOW              2
1       date   2011/1/12




               3
Row Key
Row Key      Column Key   Value
Row Key
      Row Key         Column Key        Value
“1,FOLLOW,OUTGOING”       g:2      date=2011/1/12
“2,FOLLOW,INCOMING”       g:1      date=2011/1/12
Row Key

       FOLLOW              2
1       date   2011/1/12




               3
Row Key

       FOLLOW                       2
1       date   2011/1/12




                           FOLLOW
                             date   2011/2/9




               3
Row Key
      Row Key         Column Key        Value
“1,FOLLOW,OUTGOING”       g:2      date=2011/1/12
“2,FOLLOW,INCOMING”       g:1      date=2011/1/12
Row Key
      Row Key         Column Key        Value
“1,FOLLOW,OUTGOING”       g:2      date=2011/1/12
“2,FOLLOW,INCOMING”       g:1      date=2011/1/12
“2,FOLLOW,OUTGOING”       g:3      date=2011/2/9
“3,FOLLOW,INCOMING”       g:2      date=2011/2/9
Row Key

       FOLLOW                       2
1       date   2011/1/12




                           FOLLOW
                             date   2011/2/9




               3
Row Key

       FOLLOW                          2
1        date     2011/1/12




     FOLLOW
       date     2011/4/20     FOLLOW
                                date   2011/2/9




                3
Row Key
      Row Key         Column Key        Value
“1,FOLLOW,OUTGOING”       g:2      date=2011/1/12
“2,FOLLOW,INCOMING”       g:1      date=2011/1/12
“2,FOLLOW,OUTGOING”       g:3      date=2011/2/9
“3,FOLLOW,INCOMING”       g:2      date=2011/2/9
Row Key
      Row Key         Column Key        Value
“1,FOLLOW,OUTGOING”       g:2      date=2011/1/12
                          g:3      date=2011/4/20
“2,FOLLOW,INCOMING”       g:1      date=2011/1/12
“2,FOLLOW,OUTGOING”       g:3      date=2011/2/9
“3,FOLLOW,INCOMING”       g:1      date=2011/4/20
                          g:2      date=2011/2/9
Row Key
      Row Key         Column Key        Value
“1,FOLLOW,OUTGOING”       g:2      date=2011/1/12
                          g:3      date=2011/4/20
“2,FOLLOW,INCOMING”       g:1      date=2011/1/12
“2,FOLLOW,OUTGOING”       g:3      date=2011/2/9
“3,FOLLOW,INCOMING”       g:1      date=2011/4/20
                          g:2      date=2011/2/9
Row Key
•   Define Graph

    -
    -               Row Key
•        DB HBase



•   FB   FB
•

Weitere ähnliche Inhalte

Andere mochten auch

災害コミュニケーションと視覚情報の共有
災害コミュニケーションと視覚情報の共有災害コミュニケーションと視覚情報の共有
災害コミュニケーションと視覚情報の共有Naoto MATSUMOTO
 
研究所コンテンツは海外へどう拡散しているか?
研究所コンテンツは海外へどう拡散しているか?研究所コンテンツは海外へどう拡散しているか?
研究所コンテンツは海外へどう拡散しているか?Naoto MATSUMOTO
 
How to make good Xeon Phi
How to make good Xeon PhiHow to make good Xeon Phi
How to make good Xeon PhiNaoto MATSUMOTO
 
USiZEにおけるVyatta活用事例
USiZEにおけるVyatta活用事例USiZEにおけるVyatta活用事例
USiZEにおけるVyatta活用事例Naoto MATSUMOTO
 
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...milk hanakara
 
Elasticsearch in hatena bookmark
Elasticsearch in hatena bookmarkElasticsearch in hatena bookmark
Elasticsearch in hatena bookmarkShunsuke Kozawa
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltToshihiro Suzuki
 
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015Cloudera Japan
 
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi UmedaInsight Technology, Inc.
 
[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎
[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎
[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎Insight Technology, Inc.
 
特徴ベクトル変換器を作った話 #dogenzakalt
特徴ベクトル変換器を作った話 #dogenzakalt特徴ベクトル変換器を作った話 #dogenzakalt
特徴ベクトル変換器を作った話 #dogenzakaltTokoroten Nakayama
 
#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計Cloudera Japan
 
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCTプロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCTTokoroten Nakayama
 
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化Nagato Kasaki
 
失敗から学ぶ データ分析グループの チームマネジメント変遷
失敗から学ぶデータ分析グループのチームマネジメント変遷失敗から学ぶデータ分析グループのチームマネジメント変遷
失敗から学ぶ データ分析グループの チームマネジメント変遷Tokoroten Nakayama
 
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-Makoto SHIMURA
 
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business Tokoroten Nakayama
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門Akihiro Kuwano
 

Andere mochten auch (20)

災害コミュニケーションと視覚情報の共有
災害コミュニケーションと視覚情報の共有災害コミュニケーションと視覚情報の共有
災害コミュニケーションと視覚情報の共有
 
研究所コンテンツは海外へどう拡散しているか?
研究所コンテンツは海外へどう拡散しているか?研究所コンテンツは海外へどう拡散しているか?
研究所コンテンツは海外へどう拡散しているか?
 
How to make good Xeon Phi
How to make good Xeon PhiHow to make good Xeon Phi
How to make good Xeon Phi
 
USiZEにおけるVyatta活用事例
USiZEにおけるVyatta活用事例USiZEにおけるVyatta活用事例
USiZEにおけるVyatta活用事例
 
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
 
Elasticsearch in hatena bookmark
Elasticsearch in hatena bookmarkElasticsearch in hatena bookmark
Elasticsearch in hatena bookmark
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
 
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
 
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
 
GoでKVSを書けるのか
GoでKVSを書けるのかGoでKVSを書けるのか
GoでKVSを書けるのか
 
[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎
[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎
[data analytics showcase] B12: サーバー1,000台を監視するということ by 株式会社インサイトテクノロジー 小幡 一郎
 
特徴ベクトル変換器を作った話 #dogenzakalt
特徴ベクトル変換器を作った話 #dogenzakalt特徴ベクトル変換器を作った話 #dogenzakalt
特徴ベクトル変換器を作った話 #dogenzakalt
 
PHP7を魔改造した話
PHP7を魔改造した話PHP7を魔改造した話
PHP7を魔改造した話
 
#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計#cwt2016 Apache Kudu 構成とテーブル設計
#cwt2016 Apache Kudu 構成とテーブル設計
 
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCTプロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
プロダクション環境でオンラインで機械学習を動かすにあたってツライ話 #MLCT
 
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
 
失敗から学ぶ データ分析グループの チームマネジメント変遷
失敗から学ぶデータ分析グループのチームマネジメント変遷失敗から学ぶデータ分析グループのチームマネジメント変遷
失敗から学ぶ データ分析グループの チームマネジメント変遷
 
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
 
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 

Mehr von Toshihiro Suzuki

Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかApache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかToshihiro Suzuki
 
第25回 Hadoopソースコードリーディング 「HBase 最新情報」
第25回 Hadoopソースコードリーディング 「HBase 最新情報」第25回 Hadoopソースコードリーディング 「HBase 最新情報」
第25回 Hadoopソースコードリーディング 「HBase 最新情報」Toshihiro Suzuki
 
HDP ハンズオンセミナー
HDP ハンズオンセミナーHDP ハンズオンセミナー
HDP ハンズオンセミナーToshihiro Suzuki
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用Toshihiro Suzuki
 
Amebaサービスのログ解析基盤
Amebaサービスのログ解析基盤Amebaサービスのログ解析基盤
Amebaサービスのログ解析基盤Toshihiro Suzuki
 
MySQLによってタフになる会12章
MySQLによってタフになる会12章MySQLによってタフになる会12章
MySQLによってタフになる会12章Toshihiro Suzuki
 
第2回 Hadoop 輪読会
第2回 Hadoop 輪読会第2回 Hadoop 輪読会
第2回 Hadoop 輪読会Toshihiro Suzuki
 

Mehr von Toshihiro Suzuki (7)

Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのかApache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
Apache HBaseの現在 - 火山と呼ばれたHBaseは今どうなっているのか
 
第25回 Hadoopソースコードリーディング 「HBase 最新情報」
第25回 Hadoopソースコードリーディング 「HBase 最新情報」第25回 Hadoopソースコードリーディング 「HBase 最新情報」
第25回 Hadoopソースコードリーディング 「HBase 最新情報」
 
HDP ハンズオンセミナー
HDP ハンズオンセミナーHDP ハンズオンセミナー
HDP ハンズオンセミナー
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用
 
Amebaサービスのログ解析基盤
Amebaサービスのログ解析基盤Amebaサービスのログ解析基盤
Amebaサービスのログ解析基盤
 
MySQLによってタフになる会12章
MySQLによってタフになる会12章MySQLによってタフになる会12章
MySQLによってタフになる会12章
 
第2回 Hadoop 輪読会
第2回 Hadoop 輪読会第2回 Hadoop 輪読会
第2回 Hadoop 輪読会
 

HBaseでグラフ構造を扱う(開発中)

  • 1. HBase ( ) Ameba Technology Laboratory
  • 2. ( ) • 27 • Ameba Technology Laboratory ( 4 ) • • Twitter @brfrn169
  • 3. HBase
  • 4.
  • 5. - MySQL ➡ ( ) ➡
  • 6. - MySQL ➡ ( ) ➡ HBase
  • 7. Goals • • ( ) • • - -
  • 9. follow date 2011/1/3 1 2 name Yasuda Masahiro name Suzuki Toshihiro age 26 age 27 friends date 2011/4/12 friends date 2011/4/12 3 name Fukuda Ichiro age 28
  • 10. HBase + Gateway(Java) Client RPC Gateway Gateway Gateway HBase HDFS
  • 11. Row Key • Row Key : [srcNodeId + type + direction] • Column Family : “g” • Column : destNodeId • Value : Properties
  • 12. Row Key 2 1 3
  • 13. Row Key FOLLOW 2 1 date 2011/1/12 3
  • 14. Row Key Row Key Column Key Value
  • 15. Row Key Row Key Column Key Value “1,FOLLOW,OUTGOING” g:2 date=2011/1/12 “2,FOLLOW,INCOMING” g:1 date=2011/1/12
  • 16. Row Key FOLLOW 2 1 date 2011/1/12 3
  • 17. Row Key FOLLOW 2 1 date 2011/1/12 FOLLOW date 2011/2/9 3
  • 18. Row Key Row Key Column Key Value “1,FOLLOW,OUTGOING” g:2 date=2011/1/12 “2,FOLLOW,INCOMING” g:1 date=2011/1/12
  • 19. Row Key Row Key Column Key Value “1,FOLLOW,OUTGOING” g:2 date=2011/1/12 “2,FOLLOW,INCOMING” g:1 date=2011/1/12 “2,FOLLOW,OUTGOING” g:3 date=2011/2/9 “3,FOLLOW,INCOMING” g:2 date=2011/2/9
  • 20. Row Key FOLLOW 2 1 date 2011/1/12 FOLLOW date 2011/2/9 3
  • 21. Row Key FOLLOW 2 1 date 2011/1/12 FOLLOW date 2011/4/20 FOLLOW date 2011/2/9 3
  • 22. Row Key Row Key Column Key Value “1,FOLLOW,OUTGOING” g:2 date=2011/1/12 “2,FOLLOW,INCOMING” g:1 date=2011/1/12 “2,FOLLOW,OUTGOING” g:3 date=2011/2/9 “3,FOLLOW,INCOMING” g:2 date=2011/2/9
  • 23. Row Key Row Key Column Key Value “1,FOLLOW,OUTGOING” g:2 date=2011/1/12 g:3 date=2011/4/20 “2,FOLLOW,INCOMING” g:1 date=2011/1/12 “2,FOLLOW,OUTGOING” g:3 date=2011/2/9 “3,FOLLOW,INCOMING” g:1 date=2011/4/20 g:2 date=2011/2/9
  • 24. Row Key Row Key Column Key Value “1,FOLLOW,OUTGOING” g:2 date=2011/1/12 g:3 date=2011/4/20 “2,FOLLOW,INCOMING” g:1 date=2011/1/12 “2,FOLLOW,OUTGOING” g:3 date=2011/2/9 “3,FOLLOW,INCOMING” g:1 date=2011/4/20 g:2 date=2011/2/9
  • 25. Row Key • Define Graph - - Row Key
  • 26. DB HBase • FB FB
  • 27.