SlideShare a Scribd company logo
1 of 48
Download to read offline
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
はじめての
Droonga  
Droongaの簡単な紹介と
Groongaからの移行手順
結城洋志 株式会社クリアコード
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
要旨
「自作のアプリケーションを
GroongaからDroongaへ
今すぐ移行できるのか?」
にお答えします
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
気になる点、疑問点
気になる事があったら:
メモして後から質問
その場で質問してもOK
どこが気になったかを
教えてください!
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
アジェンダ
Droongaとは?
Droongaの何が嬉しい?
Droongaの何が嬉しくない?
デモ
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groongaの困った所
分散が流行ってる
Groongaは分散処理に
対応していない
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Droongaとは
Distributed
Groonga
=分散Groonga
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
サーバ構成の違い
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groonga互換
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groonga互換
今までと同じ感覚で使える
Groongaベースの
既存のアプリケーションを
最小の工数で分散対応できる
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
データベースを分散
レプリケーション
現在の開発はここに注力
パーティショニング
現在は部分的に対応(これから改善)
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション?
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
パーティショニング?
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groonga→Droonga
今現在得られるメリット
レプリケーションできる
ようになる
ノードを簡単に追加・削除できる
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション無しだと(1)
単一のGroongaサーバに
サービスが依存
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション無しだと(1)
Groongaが死ぬと……
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション無しだと(1)
サービスも道連れになる
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション無しだと(2)
負荷が増大すると……
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション無しだと(2)
サービスレベルが落ちる
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション有りだと(1)
データが自動的に複製される
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション有りだと(1)
耐障害性が高くなる
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション有りだと(1)
単一のサーバに依存しなくなる
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション有りだと(1)
障害があってもサービスを
提供し続けられる
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション有りだと(2)
負荷が分散される
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
レプリケーション有りだと(2)
負荷の増大に対応しやすい
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
クラスタ構成の変更
付属のコマンドラインユーティリティ
を使用
droonga-engine-join
droonga-engine-unjoin
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
ノードの追加
% droonga-engine-join --host=cccc --replica-source-host=bbbb
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
ノードの切り離し
% droonga-engine-unjoin --host=cccc
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
デモ
Groongaベースの
アプリケーションを作成
Droongaクラスタを構築
バックエンドをDroongaに移行
(Groongaユーザ向けの、はじめて
のDroonga
 と同内容です)
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
デモ:用意する物
サーバ2つ
192.168.100.50
192.168.100.51
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groonga→Droonga
今現在あるデメリット
レイテンシーが低下する
処理のオーバーヘッドがある
Groonga非互換の部分が
まだある
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groongaとの性能比較
検索対象
Wikipedia日本語版のページ
30万件/150万件
(データベースサイズ 1.1GiB/4.3GiB)
検索クエリ
ページのタイトル200件
(キャッシュヒット率50%)
ベンチマーク取得手順
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groongaとの性能比較
スループット(30万件)
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groongaとの性能比較
スループット(150万件)
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groongaとの性能比較
レイテンシー(30万件)
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Groongaとの性能比較
レイテンシー(150万件)
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
それぞれの傾向
Groonga
サーバ1台の処理能力では有利✓
負荷が増えるとスループットが
頭打ちになる
✓
Droonga
サーバ1台の処理能力では不利✓
ノード追加でスループットの
上限が増える
✓
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
傾向の分析
検索処理そのものが軽い時
オーバーヘッドの影響が相対的に大✓
Groongaの方が有利✓
検索処理そのものが重い時
オーバーヘッドの影響が相対的に小✓
Droongaの方が有利✓
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
Droongaの方が有利な場面
データベースが大きい
重いクエリが多い
…
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
今分かっている遅くなる理由
ドリルダウンがあると遅くなる
レスポンスのサイズが大きくなる
と遅くなる
クラスタ構成に合わせた処理の
最適化が不十分
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
現時点での互換性(概要)
スキーマ変更系
load, delete
select
それ以外は未対応(今後の課題)
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
現時点での互換性(詳細)
table操作系
table_create
table_remove
table_list
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
現時点での互換性(詳細)
column操作系
column_create
column_remove
column_rename
column_list
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
現時点での互換性(詳細)
データ更新系
load
ただし、以下は未対応
--ifexists, --input_type
delete
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
現時点での互換性(詳細)
検索系
select
ただし、以下は未対応
--scorer, --cache,
--match_escalation_threshold,
--query_expansion,
--query_flags, --query_expander,
--adjuster
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
とはいえ
Groongaの利用状況次第では
今すぐにでもDroongaに移行できる!
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
改善にご協力を!
様々な条件でのベンチマーク結果
できればGroongaでの
ベンチマーク結果も添えて
開発チームで認識できていない
ボトルネックを明らかにしたい
ベンチマーク取得手順公開中
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
改善にご協力を!
実際のWebアプリケーションからの
使い勝手レポート
互換性向上の作業の
優先順位付けの参考にしたい
はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2
改善にご協力を!
フィードバックは
droonga-engineのissue
tracker
もしくは
groonga-dev ML
までお寄せ下さい

More Related Content

Viewers also liked

Presentacion graficas the under band
Presentacion graficas the under bandPresentacion graficas the under band
Presentacion graficas the under bandNicolas Vazquez
 
Droonga as-groonga-with-replication-droonga-as-groonga-with-replication
Droonga as-groonga-with-replication-droonga-as-groonga-with-replicationDroonga as-groonga-with-replication-droonga-as-groonga-with-replication
Droonga as-groonga-with-replication-droonga-as-groonga-with-replicationHiroshi Yuki
 
Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Hiroshi Yuki
 
Les PME, les régions, la bourse
Les PME, les régions, la bourse Les PME, les régions, la bourse
Les PME, les régions, la bourse altavalue
 
2013.02.22 OSCでの自己紹介発表資料
2013.02.22 OSCでの自己紹介発表資料2013.02.22 OSCでの自己紹介発表資料
2013.02.22 OSCでの自己紹介発表資料Hiroshi Yuki
 
Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-
Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-
Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-Hiroshi Yuki
 
Présentation city zen entreprises +50-4
Présentation city zen entreprises +50-4Présentation city zen entreprises +50-4
Présentation city zen entreprises +50-4Léa Champeil
 
Altavalue t115 etude
Altavalue t115 etudeAltavalue t115 etude
Altavalue t115 etudealtavalue
 
Temps Que De Pardonner De Mel Gibsonh
Temps Que De Pardonner De Mel GibsonhTemps Que De Pardonner De Mel Gibsonh
Temps Que De Pardonner De Mel Gibsonhoceanicmasquera26
 
Play framework productivity formula
Play framework   productivity formula Play framework   productivity formula
Play framework productivity formula Sorin Chiprian
 
ものすごく今更なXPCOMとXPConnectのおはなし
ものすごく今更なXPCOMとXPConnectのおはなしものすごく今更なXPCOMとXPConnectのおはなし
ものすごく今更なXPCOMとXPConnectのおはなしHiroshi Yuki
 

Viewers also liked (18)

Contexto detalle
Contexto   detalleContexto   detalle
Contexto detalle
 
Bartol MagProbe
Bartol MagProbeBartol MagProbe
Bartol MagProbe
 
The under band
The under bandThe under band
The under band
 
Presentacion graficas the under band
Presentacion graficas the under bandPresentacion graficas the under band
Presentacion graficas the under band
 
Galeria
GaleriaGaleria
Galeria
 
Graficas
GraficasGraficas
Graficas
 
Droonga as-groonga-with-replication-droonga-as-groonga-with-replication
Droonga as-groonga-with-replication-droonga-as-groonga-with-replicationDroonga as-groonga-with-replication-droonga-as-groonga-with-replication
Droonga as-groonga-with-replication-droonga-as-groonga-with-replication
 
Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活
 
Les PME, les régions, la bourse
Les PME, les régions, la bourse Les PME, les régions, la bourse
Les PME, les régions, la bourse
 
2013.02.22 OSCでの自己紹介発表資料
2013.02.22 OSCでの自己紹介発表資料2013.02.22 OSCでの自己紹介発表資料
2013.02.22 OSCでの自己紹介発表資料
 
Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-
Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-
Fast fulltext search in Ruby, without Java -Groonga, Rroonga and Droonga-
 
Présentation city zen entreprises +50-4
Présentation city zen entreprises +50-4Présentation city zen entreprises +50-4
Présentation city zen entreprises +50-4
 
Altavalue t115 etude
Altavalue t115 etudeAltavalue t115 etude
Altavalue t115 etude
 
Temps Que De Pardonner De Mel Gibsonh
Temps Que De Pardonner De Mel GibsonhTemps Que De Pardonner De Mel Gibsonh
Temps Que De Pardonner De Mel Gibsonh
 
Limerick
LimerickLimerick
Limerick
 
Play framework productivity formula
Play framework   productivity formula Play framework   productivity formula
Play framework productivity formula
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
ものすごく今更なXPCOMとXPConnectのおはなし
ものすごく今更なXPCOMとXPConnectのおはなしものすごく今更なXPCOMとXPConnectのおはなし
ものすごく今更なXPCOMとXPConnectのおはなし
 

Similar to はじめてのDroonga

Groongaを支える取り組み
Groongaを支える取り組みGroongaを支える取り組み
Groongaを支える取り組みkenhys
 
Droongaのはじめかた
DroongaのはじめかたDroongaのはじめかた
DroongaのはじめかたKouhei Sutou
 
第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込み
第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込み第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込み
第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込みKouhei Sutou
 
Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法Kouhei Sutou
 
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みDjangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みShinya Okano
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムGo Sueyoshi (a.k.a sue445)
 
Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験yoku0825
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 

Similar to はじめてのDroonga (12)

Groonga族2016
Groonga族2016Groonga族2016
Groonga族2016
 
Groongaを支える取り組み
Groongaを支える取り組みGroongaを支える取り組み
Groongaを支える取り組み
 
Droongaのはじめかた
DroongaのはじめかたDroongaのはじめかた
Droongaのはじめかた
 
Groonga族2013
Groonga族2013Groonga族2013
Groonga族2013
 
第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込み
第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込み第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込み
第7回フクオカRuby大賞本審査資料:全文検索エンジンGroongaへのmrubyの組み込み
 
Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法
 
HerokuでGroonga
HerokuでGroongaHerokuでGroonga
HerokuでGroonga
 
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みDjangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組み
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
 
Groonga族2014
Groonga族2014Groonga族2014
Groonga族2014
 
Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 

はじめてのDroonga

  • 1. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 はじめての Droonga   Droongaの簡単な紹介と Groongaからの移行手順 結城洋志 株式会社クリアコード
  • 2. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 要旨 「自作のアプリケーションを GroongaからDroongaへ 今すぐ移行できるのか?」 にお答えします
  • 3. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 気になる点、疑問点 気になる事があったら: メモして後から質問 その場で質問してもOK どこが気になったかを 教えてください!
  • 4. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 アジェンダ Droongaとは? Droongaの何が嬉しい? Droongaの何が嬉しくない? デモ
  • 5. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groongaの困った所 分散が流行ってる Groongaは分散処理に 対応していない
  • 6. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Droongaとは Distributed Groonga =分散Groonga
  • 7. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 サーバ構成の違い
  • 8. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groonga互換
  • 9. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groonga互換 今までと同じ感覚で使える Groongaベースの 既存のアプリケーションを 最小の工数で分散対応できる
  • 10. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 データベースを分散 レプリケーション 現在の開発はここに注力 パーティショニング 現在は部分的に対応(これから改善)
  • 11. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション?
  • 12. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 パーティショニング?
  • 13. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groonga→Droonga 今現在得られるメリット レプリケーションできる ようになる ノードを簡単に追加・削除できる
  • 14. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション無しだと(1) 単一のGroongaサーバに サービスが依存
  • 15. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション無しだと(1) Groongaが死ぬと……
  • 16. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション無しだと(1) サービスも道連れになる
  • 17. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション無しだと(2) 負荷が増大すると……
  • 18. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション無しだと(2) サービスレベルが落ちる
  • 19. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション有りだと(1) データが自動的に複製される
  • 20. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション有りだと(1) 耐障害性が高くなる
  • 21. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション有りだと(1) 単一のサーバに依存しなくなる
  • 22. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション有りだと(1) 障害があってもサービスを 提供し続けられる
  • 23. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション有りだと(2) 負荷が分散される
  • 24. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 レプリケーション有りだと(2) 負荷の増大に対応しやすい
  • 25. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 クラスタ構成の変更 付属のコマンドラインユーティリティ を使用 droonga-engine-join droonga-engine-unjoin
  • 26. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 ノードの追加 % droonga-engine-join --host=cccc --replica-source-host=bbbb
  • 27. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 ノードの切り離し % droonga-engine-unjoin --host=cccc
  • 28. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 デモ Groongaベースの アプリケーションを作成 Droongaクラスタを構築 バックエンドをDroongaに移行 (Groongaユーザ向けの、はじめて のDroonga  と同内容です)
  • 29. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 デモ:用意する物 サーバ2つ 192.168.100.50 192.168.100.51
  • 30. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groonga→Droonga 今現在あるデメリット レイテンシーが低下する 処理のオーバーヘッドがある Groonga非互換の部分が まだある
  • 31. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groongaとの性能比較 検索対象 Wikipedia日本語版のページ 30万件/150万件 (データベースサイズ 1.1GiB/4.3GiB) 検索クエリ ページのタイトル200件 (キャッシュヒット率50%) ベンチマーク取得手順
  • 32. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groongaとの性能比較 スループット(30万件)
  • 33. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groongaとの性能比較 スループット(150万件)
  • 34. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groongaとの性能比較 レイテンシー(30万件)
  • 35. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Groongaとの性能比較 レイテンシー(150万件)
  • 36. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 それぞれの傾向 Groonga サーバ1台の処理能力では有利✓ 負荷が増えるとスループットが 頭打ちになる ✓ Droonga サーバ1台の処理能力では不利✓ ノード追加でスループットの 上限が増える ✓
  • 37. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 傾向の分析 検索処理そのものが軽い時 オーバーヘッドの影響が相対的に大✓ Groongaの方が有利✓ 検索処理そのものが重い時 オーバーヘッドの影響が相対的に小✓ Droongaの方が有利✓
  • 38. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 Droongaの方が有利な場面 データベースが大きい 重いクエリが多い …
  • 39. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 今分かっている遅くなる理由 ドリルダウンがあると遅くなる レスポンスのサイズが大きくなる と遅くなる クラスタ構成に合わせた処理の 最適化が不十分
  • 40. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 現時点での互換性(概要) スキーマ変更系 load, delete select それ以外は未対応(今後の課題)
  • 41. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 現時点での互換性(詳細) table操作系 table_create table_remove table_list
  • 42. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 現時点での互換性(詳細) column操作系 column_create column_remove column_rename column_list
  • 43. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 現時点での互換性(詳細) データ更新系 load ただし、以下は未対応 --ifexists, --input_type delete
  • 44. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 現時点での互換性(詳細) 検索系 select ただし、以下は未対応 --scorer, --cache, --match_escalation_threshold, --query_expansion, --query_flags, --query_expander, --adjuster
  • 45. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 とはいえ Groongaの利用状況次第では 今すぐにでもDroongaに移行できる!
  • 46. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 改善にご協力を! 様々な条件でのベンチマーク結果 できればGroongaでの ベンチマーク結果も添えて 開発チームで認識できていない ボトルネックを明らかにしたい ベンチマーク取得手順公開中
  • 47. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 改善にご協力を! 実際のWebアプリケーションからの 使い勝手レポート 互換性向上の作業の 優先順位付けの参考にしたい
  • 48. はじめてのDroonga -    Droongaの簡単な紹介と Groongaからの移行手順 Powered by Rabbit 2.1.2 改善にご協力を! フィードバックは droonga-engineのissue tracker もしくは groonga-dev ML までお寄せ下さい