SlideShare una empresa de Scribd logo
1 de 42
区間をキーとして保持する分散 KVS の効率的な実現法 大阪市立大学大学院 創造都市研究科  岩崎章彦 安倍広多  石橋勇人 松浦敏雄  F-06
はじめに
分散 KVS(Key-Value Store) とは Google, Amazon, Facebook など 分散 KVS get( 156 ) -> A Key は 単一 の値 417 -> B 871 -> Y 156 -> A 324 -> R Key  ->  Value 膨大なデータを扱う 大規模分散システム
1 時 4 時 2 時 7 時 5 時 8 時 4 時  5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 ← C さん ← B さん ← A さん ← D さん
1 時 4 時 2 時 7 時 5 時 8 時 4 時  5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 分散KVSのキーは 単一の値 だから ... ← C さん ← B さん ← A さん ← D さん
1 時 2 時 5 時 4 時   5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 Key ← C さん ← B さん ← A さん ← D さん
1 時 2 時 5 時 4 時   5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん
1 時 2 時 5 時 4 時   5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 検索されない 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん
本研究の目的 区間をキーとして扱える 効率的な分散 KVS の構成法を提案すること
関連研究
Range Key Skip Graph + 区間をキーとして扱える 構造化オーバーレイネットワーク Range Key 包含キー L0 L1 L2 L3 Skip Graph  がベース
1 時 4 時 2 時 7 時 5 時 8 時 4 時  5 時 Range Key Skip Graph 包含キーをたどって検索 Range Key 3 時~ 6 時に ログインしていた人を検索したい 包含キー
Range Key Skip Graph (2)データの冗長性について考慮されていない (1)領域計算量や挿入・削除のコストが最悪 O(n)   n: Range Key の数  ※最悪の場合の例 問題点
提案手法
提案手法の流れ (アイディア)  ・区間を 2 次元平面上の 1 点で表現   区間に対する範囲検索を 2 次元平面上の範囲検索に置き換える  ・多数の区間 ( 点 ) を分散管理するために Znet  を用いる 研究の目的 「区間をキーとして扱える        効率的な分散 KVS の構成法を提案すること」
1 時 4 時 2 時 7 時 5 時 8 時 4 時  5 時 (1) 区間を 2 次元平面上の 1 点で表現 例:セッションログ管理 ← C さん ← B さん ← A さん ← D さん 例えば,Aさんの場合
(1) 区間を 2 次元平面上の 1 点で表現 y x 下限値をXとする 上限値をYとする A(4,  5 ) 4 5 A さんが ログインしていた区間 [4 , 5]
(1) 区間を 2 次元平面上の 1 点で表現 y x D(1,  4 ) 下限値をXとする 上限値をYとする ← A さん ← B さん ← C さん A(4,  5 ) C(2,  7 ) B(5,  8 ) ← D さん
(1) 区間を 2 次元平面上の 1 点で表現 y x D(1,  4 ) 下限値をXとする 上限値をYとする A(4,  5 ) C(2,  7 ) B(5,  8 ) y  ≧ x
1 時 4 時 2 時 7 時 5 時 8 時 4 時  5 時 ( 2 )  区間に対する範囲検索 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん
1 時 4 時 2 時 7 時 5 時 8 時 4 時  5 時 ( 2 )  区間に対する範囲検索 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索する場合
1 時 4 時 2 時 7 時 5 時 8 時 4 時  5 時 ( 2 )  区間に対する範囲検索 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん ② 指定した検索範囲と 重なりがある区間 ( 点 ) を検索する場合
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3 6
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3 6
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3 6 検索領域
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3 6 この 2 次元平面上を 検索すると ...
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3 6
① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3 6 区間に対する範囲検索 ↓ 2 次元平面上の 範囲検索に置き換え可能
② 指定した検索範囲に 重なりがある区間 ( 点 ) を検索 y x D(1,  4 ) A(4,  5 ) C(2,  7 ) B(5,  8 ) 3 時  ~  6 時 ← A さん ← B さん ← C さん ← D さん 3 6
提案手法の流れ (アイディア)  ・区間を 2 次元平面上の 1 点で表現   区間に対する範囲検索を 2 次元平面上の範囲検索に置き換える  ・多数の区間 ( 点 ) を分散管理するために Znet  を用いる ここまで説明終了 研究の目的 「区間をキーとして扱える        効率的な分散 KVS の構成法を提案すること」
・検索ホップ数: O(log m)          m:Znet に参加している物理ノード数 多数の区間 ( 点 ) の分散管理方法 ・複数のノードにデータを冗長配置 ・空間充填曲線( Z 曲線)      Skip Graph + Znet:  多次元データを効率よく分散管理するための 構造化オーバーレイネットワーク y x L0 L1 L2 L3
空間充填曲線( Z 曲線) 0  1  2  3  4  5  6  7  0 1 2 3 4 5 6 7 ・ ・ ・ ・ ・ ・ y x Z 曲線は 2 次元空間を埋め尽くす 2 次元情報を 1 次元上で管理する
[Znet]  負荷分散処理 y x ノード挿入時 高負荷なノードの 担当領域を分割,担当する 負荷の平準化 物理ノード A B C D E F G
Z 曲線  + Skip Graph y x
Z 曲線  + Skip Graph y x 検索範囲
Z 曲線  + Skip Graph y x L0 L1 L2 L3 検索範囲 Skip Graph
考察
提案手法と Range Key Skip Graph  との比較 ※ 登録するデータ数を  n ,  物理ノード数を  m  とする . 比較項目 RKSG 提案手法 挿入・削除の メッセージ数 最悪 O(n) O(log m) 1レコードあたりの 領域計算量 最悪 O(n) O(1) 冗長性 なし あり
おわりに
本研究では、 ・区間をキーとして扱える  効率的な分散 KVS の構成法を提案した . ・ 区間を 2 次元平面上の 1 点で表現した . 区間に対する範囲検索を   2 次元平面上の範囲検索に置き換えた . ・ 多数の区間 ( 点 ) を分散管理するために Znet  を用いた . ・今後の課題    ・提案手法の実装および定量的な評価    ・関連研究との性能比較を行う

Más contenido relacionado

La actualidad más candente

20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGIS20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGISMed_KU
 
20140625 google earthの最前線
20140625 google earthの最前線20140625 google earthの最前線
20140625 google earthの最前線Taichi Furuhashi
 
面積と積分~面積と積分がどう関連するか~
面積と積分~面積と積分がどう関連するか~面積と積分~面積と積分がどう関連するか~
面積と積分~面積と積分がどう関連するか~studyPresenter
 

La actualidad más candente (6)

20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGIS20131109 TokyoR#35 Rでネットワーク解析とGIS
20131109 TokyoR#35 Rでネットワーク解析とGIS
 
20140625 google earthの最前線
20140625 google earthの最前線20140625 google earthの最前線
20140625 google earthの最前線
 
面積と積分~面積と積分がどう関連するか~
面積と積分~面積と積分がどう関連するか~面積と積分~面積と積分がどう関連するか~
面積と積分~面積と積分がどう関連するか~
 
Deep Sketch Hashing
Deep Sketch HashingDeep Sketch Hashing
Deep Sketch Hashing
 
Tokyo r45 beginner_2
Tokyo r45 beginner_2Tokyo r45 beginner_2
Tokyo r45 beginner_2
 
文字列処理
文字列処理文字列処理
文字列処理
 

Similar a 区間をキーとして保持する分散KVSの効率的な実現法

テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析Shintaro Takemura
 
Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20Yasuo Tabei
 
Text detection data_sciencecafe_210309_slideshare
Text detection data_sciencecafe_210309_slideshareText detection data_sciencecafe_210309_slideshare
Text detection data_sciencecafe_210309_slideshareRyoKawanami
 
WordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービスWordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービスShintaro Takemura
 
単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展Naoaki Okazaki
 
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeRuby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeMasahiro Tanaka
 
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方Tsuneo Yoshioka
 
Rustで始める競技プログラミング
Rustで始める競技プログラミングRustで始める競技プログラミング
Rustで始める競技プログラミングNaoya Okanami
 

Similar a 区間をキーとして保持する分散KVSの効率的な実現法 (9)

テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
テキストマイニングで発掘!? 売上とユーザーレビューの相関分析
 
Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20
 
Text detection data_sciencecafe_210309_slideshare
Text detection data_sciencecafe_210309_slideshareText detection data_sciencecafe_210309_slideshare
Text detection data_sciencecafe_210309_slideshare
 
WordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービスWordNetで作ろう! 言語横断検索サービス
WordNetで作ろう! 言語横断検索サービス
 
単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展
 
Ruby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrakeRuby科学データ処理ツールの開発 NArrayとPwrake
Ruby科学データ処理ツールの開発 NArrayとPwrake
 
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方
 
Rustで始める競技プログラミング
Rustで始める競技プログラミングRustで始める競技プログラミング
Rustで始める競技プログラミング
 
実践QBVH
実践QBVH実践QBVH
実践QBVH
 

Más de Kota Abe

構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価Kota Abe
 
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案Kota Abe
 
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現Kota Abe
 
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現Kota Abe
 
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価Kota Abe
 
Constructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed LockingConstructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed LockingKota Abe
 
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現Kota Abe
 
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式Kota Abe
 
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価Kota Abe
 
高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良Kota Abe
 
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案Kota Abe
 
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用Kota Abe
 
Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法Kota Abe
 
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案Kota Abe
 
P2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabiP2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabiKota Abe
 
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLLKota Abe
 

Más de Kota Abe (16)

構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
 
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
 
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
 
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
 
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
 
Constructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed LockingConstructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed Locking
 
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
 
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
 
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
 
高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良
 
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
 
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
 
Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法
 
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
 
P2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabiP2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabi
 
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
 

Último

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Último (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

区間をキーとして保持する分散KVSの効率的な実現法

  • 1. 区間をキーとして保持する分散 KVS の効率的な実現法 大阪市立大学大学院 創造都市研究科  岩崎章彦 安倍広多  石橋勇人 松浦敏雄  F-06
  • 3. 分散 KVS(Key-Value Store) とは Google, Amazon, Facebook など 分散 KVS get( 156 ) -> A Key は 単一 の値 417 -> B 871 -> Y 156 -> A 324 -> R Key -> Value 膨大なデータを扱う 大規模分散システム
  • 4. 1 時 4 時 2 時 7 時 5 時 8 時 4 時 5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 ← C さん ← B さん ← A さん ← D さん
  • 5. 1 時 4 時 2 時 7 時 5 時 8 時 4 時 5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 分散KVSのキーは 単一の値 だから ... ← C さん ← B さん ← A さん ← D さん
  • 6. 1 時 2 時 5 時 4 時 5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 Key ← C さん ← B さん ← A さん ← D さん
  • 7. 1 時 2 時 5 時 4 時 5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん
  • 8. 1 時 2 時 5 時 4 時 5 時 区間を持ったデータを扱うことは難しい ! 分散 KVS 上で 例:セッションログ管理 検索されない 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん
  • 11. Range Key Skip Graph + 区間をキーとして扱える 構造化オーバーレイネットワーク Range Key 包含キー L0 L1 L2 L3 Skip Graph がベース
  • 12. 1 時 4 時 2 時 7 時 5 時 8 時 4 時 5 時 Range Key Skip Graph 包含キーをたどって検索 Range Key 3 時~ 6 時に ログインしていた人を検索したい 包含キー
  • 13. Range Key Skip Graph (2)データの冗長性について考慮されていない (1)領域計算量や挿入・削除のコストが最悪 O(n)   n: Range Key の数  ※最悪の場合の例 問題点
  • 15. 提案手法の流れ (アイディア)  ・区間を 2 次元平面上の 1 点で表現 区間に対する範囲検索を 2 次元平面上の範囲検索に置き換える  ・多数の区間 ( 点 ) を分散管理するために Znet を用いる 研究の目的 「区間をキーとして扱える        効率的な分散 KVS の構成法を提案すること」
  • 16. 1 時 4 時 2 時 7 時 5 時 8 時 4 時 5 時 (1) 区間を 2 次元平面上の 1 点で表現 例:セッションログ管理 ← C さん ← B さん ← A さん ← D さん 例えば,Aさんの場合
  • 17. (1) 区間を 2 次元平面上の 1 点で表現 y x 下限値をXとする 上限値をYとする A(4, 5 ) 4 5 A さんが ログインしていた区間 [4 , 5]
  • 18. (1) 区間を 2 次元平面上の 1 点で表現 y x D(1, 4 ) 下限値をXとする 上限値をYとする ← A さん ← B さん ← C さん A(4, 5 ) C(2, 7 ) B(5, 8 ) ← D さん
  • 19. (1) 区間を 2 次元平面上の 1 点で表現 y x D(1, 4 ) 下限値をXとする 上限値をYとする A(4, 5 ) C(2, 7 ) B(5, 8 ) y ≧ x
  • 20. 1 時 4 時 2 時 7 時 5 時 8 時 4 時 5 時 ( 2 ) 区間に対する範囲検索 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん
  • 21. 1 時 4 時 2 時 7 時 5 時 8 時 4 時 5 時 ( 2 ) 区間に対する範囲検索 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索する場合
  • 22. 1 時 4 時 2 時 7 時 5 時 8 時 4 時 5 時 ( 2 ) 区間に対する範囲検索 3 時~ 6 時に ログインしていた人を検索したい ← C さん ← B さん ← A さん ← D さん ② 指定した検索範囲と 重なりがある区間 ( 点 ) を検索する場合
  • 23. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん
  • 24. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3
  • 25. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3 6
  • 26. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3 6
  • 27. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3 6 検索領域
  • 28. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3 6 この 2 次元平面上を 検索すると ...
  • 29. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3 6
  • 30. ① 指定した検索範囲に 真に含まれる区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3 6 区間に対する範囲検索 ↓ 2 次元平面上の 範囲検索に置き換え可能
  • 31. ② 指定した検索範囲に 重なりがある区間 ( 点 ) を検索 y x D(1, 4 ) A(4, 5 ) C(2, 7 ) B(5, 8 ) 3 時 ~ 6 時 ← A さん ← B さん ← C さん ← D さん 3 6
  • 32. 提案手法の流れ (アイディア)  ・区間を 2 次元平面上の 1 点で表現 区間に対する範囲検索を 2 次元平面上の範囲検索に置き換える  ・多数の区間 ( 点 ) を分散管理するために Znet を用いる ここまで説明終了 研究の目的 「区間をキーとして扱える        効率的な分散 KVS の構成法を提案すること」
  • 33. ・検索ホップ数: O(log m)          m:Znet に参加している物理ノード数 多数の区間 ( 点 ) の分散管理方法 ・複数のノードにデータを冗長配置 ・空間充填曲線( Z 曲線)     Skip Graph + Znet: 多次元データを効率よく分散管理するための 構造化オーバーレイネットワーク y x L0 L1 L2 L3
  • 34. 空間充填曲線( Z 曲線) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 ・ ・ ・ ・ ・ ・ y x Z 曲線は 2 次元空間を埋め尽くす 2 次元情報を 1 次元上で管理する
  • 35. [Znet] 負荷分散処理 y x ノード挿入時 高負荷なノードの 担当領域を分割,担当する 負荷の平準化 物理ノード A B C D E F G
  • 36. Z 曲線 + Skip Graph y x
  • 37. Z 曲線 + Skip Graph y x 検索範囲
  • 38. Z 曲線 + Skip Graph y x L0 L1 L2 L3 検索範囲 Skip Graph
  • 40. 提案手法と Range Key Skip Graph との比較 ※ 登録するデータ数を n , 物理ノード数を m とする . 比較項目 RKSG 提案手法 挿入・削除の メッセージ数 最悪 O(n) O(log m) 1レコードあたりの 領域計算量 最悪 O(n) O(1) 冗長性 なし あり
  • 42. 本研究では、 ・区間をキーとして扱える  効率的な分散 KVS の構成法を提案した . ・ 区間を 2 次元平面上の 1 点で表現した . 区間に対する範囲検索を   2 次元平面上の範囲検索に置き換えた . ・ 多数の区間 ( 点 ) を分散管理するために Znet を用いた . ・今後の課題    ・提案手法の実装および定量的な評価    ・関連研究との性能比較を行う