SlideShare a Scribd company logo
1 of 18
Download to read offline
Groongaの 特徴 Powered by Rabbit 2.1.3
Groongaの
特徴
須藤功平 クリアコード
CROSS 2015
2015-01-29
Groongaの 特徴 Powered by Rabbit 2.1.3
他のエンジンとの違い
既存システムとの連携
毎月肉の日リリース
Java free
Groongaの 特徴 Powered by Rabbit 2.1.3
連携例:Mroonga
Mroonga(むるんが) =
MySQL + Groonga(ぐるんが)
Groongaの 特徴 Powered by Rabbit 2.1.3
MySQLと連携するメリット
SQLを使える
クライアントライブラリーが充実
既存の知識を使える
運用ノウハウを使える
レプリケーションの仕方
メトリックスの取り方
Groongaの 特徴 Powered by Rabbit 2.1.3
Mroongaで索引作成
-- ストレージエンジンを変更
ALTER TABLE table ENGINE=Mroonga;
-- 全文検索用索引を作成
ALTER TABLE table
ADD FULLTEXT INDEX (column);
Groongaの 特徴 Powered by Rabbit 2.1.3
Mroongaで全文検索
SELECT * FROM table
WHERE MATCH (column)
AGAINST ("+単語1 +単語2"
IN BOOLEAN MODE);
Groongaの 特徴 Powered by Rabbit 2.1.3
Mroongaの事例
livedoor Blog
http://www.slideshare.net/kazeburo/mroonga-in-
ablogservice
Yahoo! Japanさんの社内
「全文検索エンジンGroongaを囲む夕べ5」で紹介
GMOメディアさんの
各種サービス
http://tech.gmo-media.jp/post/95690476544/data-
migration-from-tritonn-to-mroonga
Groongaの 特徴 Powered by Rabbit 2.1.3
MariaDBにバンドル
MariaDB
MySQLのfork
ケースによってはMySQLより高速
10.0.15からMroongaをバンドル
MariaDBをインストール→
Mroongaはインストール済み!
より簡単に使える!
Groongaの 特徴 Powered by Rabbit 2.1.3
連携例:groonga-httpd
Groonga用HTTPサーバー =
nginx + Groonga
nginxのモジュールとして実装
Groongaの 特徴 Powered by Rabbit 2.1.3
nginxと連携するメリット
nginx提供のHTTP機能を使える
gzip圧縮・HTTPS・認証・…
運用ノウハウを使える
設定方法
チューニング方法(例:ワーカー数の設定)
無停止アップグレード
Groongaの 特徴 Powered by Rabbit 2.1.3
groonga-httpdの設定
http {
server {
location /d/ {
groonga on;
}
}
}
Groongaの 特徴 Powered by Rabbit 2.1.3
連携例:Rroonga
Rroonga(るるんが) =
Ruby + Groonga
SQLite3のような手軽さで全文検索
(サーバーではなく、ライブラリーとして利用)
Groongaの 特徴 Powered by Rabbit 2.1.3
Rubyと連携するメリット
Rubyとその周辺の機能を使える
書きやすい
ライブラリーを使ってデータ加工
サーバーがいらない
小規模なシステムを手早く構築可能
Groongaの 特徴 Powered by Rabbit 2.1.3
Rroongaでデータ登録
table = Groonga["table"]
table.add("key",
:value1 => "value1",
:value2 => "value2")
Groongaの 特徴 Powered by Rabbit 2.1.3
Rroongaで全文検索
records = table.select do |record|
(record.value1 =~ "単語1") &
(record.value2 =~ "単語2")
end
Groongaの 特徴 Powered by Rabbit 2.1.3
Rroongaの事例
クラウドワークスさん
社員名簿・日報の全文検索で利用
Milkode(ソースコード検索エンジン)
http://milkode.ongaeshi.me/
るりまサーチ
(Rubyのリファレンスマニュアル検索システム)
http://docs.ruby-lang.org/ja/search/
Groongaの 特徴 Powered by Rabbit 2.1.3
連携例:その他
PGroonga(ぴーじーるんが) =
PostgreSQL + Groonga
ROMA(Ruby製の分散KVS)
Groongaの 特徴 Powered by Rabbit 2.1.3
他のエンジンとの違い
既存システムとの連携
毎月肉の日リリース
Java free

More Related Content

What's hot

Introducing mroonga 20111129
Introducing mroonga 20111129Introducing mroonga 20111129
Introducing mroonga 20111129Kentoku
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Kouhei Sutou
 
ニコニコニュースと全文検索
ニコニコニュースと全文検索ニコニコニュースと全文検索
ニコニコニュースと全文検索techtalkdwango
 
おしべめしべLt
おしべめしべLtおしべめしべLt
おしべめしべLtpuriketu99 --
 
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記Kentaro Yoshida
 
RubyistのためのCloudStack APIコンソール
RubyistのためのCloudStack APIコンソールRubyistのためのCloudStack APIコンソール
RubyistのためのCloudStack APIコンソールTakuma Nakajima
 
現実世界から学ぶ効率のいいサーバの使い方
現実世界から学ぶ効率のいいサーバの使い方現実世界から学ぶ効率のいいサーバの使い方
現実世界から学ぶ効率のいいサーバの使い方時雨 大西
 
azure障害は忘れたころにやってくる
azure障害は忘れたころにやってくるazure障害は忘れたころにやってくる
azure障害は忘れたころにやってくる裕之 木下
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroYosuke Shindo
 
WordBench Nagoya 12月勉強会
WordBench Nagoya 12月勉強会WordBench Nagoya 12月勉強会
WordBench Nagoya 12月勉強会Masaki Takeda
 
データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向Naoto MATSUMOTO
 
AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02Koichiro Ohba
 
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知daisuke-a-matsui
 
GitLab CI の布教 for iOS
GitLab CI の布教 for iOSGitLab CI の布教 for iOS
GitLab CI の布教 for iOSIkada Kaori
 
MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編gree_tech
 
20130608 JAWS-UGさいたま CDPからはじめよう
20130608 JAWS-UGさいたま CDPからはじめよう20130608 JAWS-UGさいたま CDPからはじめよう
20130608 JAWS-UGさいたま CDPからはじめよう真吾 吉田
 
Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Hiroshi Yuki
 
Azure/GCP使いの人にも知って欲しい(?) AWS Elastic Beanstalk
Azure/GCP使いの人にも知って欲しい(?)  AWS Elastic BeanstalkAzure/GCP使いの人にも知って欲しい(?)  AWS Elastic Beanstalk
Azure/GCP使いの人にも知って欲しい(?) AWS Elastic BeanstalkHideaki Aoyagi
 
MySQLのリアルタイムモニタリングツールを作った話
MySQLのリアルタイムモニタリングツールを作った話MySQLのリアルタイムモニタリングツールを作った話
MySQLのリアルタイムモニタリングツールを作った話Kentaro Kitagawa
 
2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot Camp
2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot Camp2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot Camp
2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot CampYuki KAN
 

What's hot (20)

Introducing mroonga 20111129
Introducing mroonga 20111129Introducing mroonga 20111129
Introducing mroonga 20111129
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
 
ニコニコニュースと全文検索
ニコニコニュースと全文検索ニコニコニュースと全文検索
ニコニコニュースと全文検索
 
おしべめしべLt
おしべめしべLtおしべめしべLt
おしべめしべLt
 
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
 
RubyistのためのCloudStack APIコンソール
RubyistのためのCloudStack APIコンソールRubyistのためのCloudStack APIコンソール
RubyistのためのCloudStack APIコンソール
 
現実世界から学ぶ効率のいいサーバの使い方
現実世界から学ぶ効率のいいサーバの使い方現実世界から学ぶ効率のいいサーバの使い方
現実世界から学ぶ効率のいいサーバの使い方
 
azure障害は忘れたころにやってくる
azure障害は忘れたころにやってくるazure障害は忘れたころにやってくる
azure障害は忘れたころにやってくる
 
Rancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 IntroRancher Meetup Tokyo #4 Intro
Rancher Meetup Tokyo #4 Intro
 
WordBench Nagoya 12月勉強会
WordBench Nagoya 12月勉強会WordBench Nagoya 12月勉強会
WordBench Nagoya 12月勉強会
 
データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向データセンターを構成する最新ネットワーク技術動向
データセンターを構成する最新ネットワーク技術動向
 
AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02
 
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
 
GitLab CI の布教 for iOS
GitLab CI の布教 for iOSGitLab CI の布教 for iOS
GitLab CI の布教 for iOS
 
MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編
 
20130608 JAWS-UGさいたま CDPからはじめよう
20130608 JAWS-UGさいたま CDPからはじめよう20130608 JAWS-UGさいたま CDPからはじめよう
20130608 JAWS-UGさいたま CDPからはじめよう
 
Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活
 
Azure/GCP使いの人にも知って欲しい(?) AWS Elastic Beanstalk
Azure/GCP使いの人にも知って欲しい(?)  AWS Elastic BeanstalkAzure/GCP使いの人にも知って欲しい(?)  AWS Elastic Beanstalk
Azure/GCP使いの人にも知って欲しい(?) AWS Elastic Beanstalk
 
MySQLのリアルタイムモニタリングツールを作った話
MySQLのリアルタイムモニタリングツールを作った話MySQLのリアルタイムモニタリングツールを作った話
MySQLのリアルタイムモニタリングツールを作った話
 
2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot Camp
2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot Camp2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot Camp
2015/04/25 妖怪は見た!実録Azure事件簿アプリケーション編 / Global Azure Boot Camp
 

Similar to Groongaの特徴

Mroonga 20121129
Mroonga 20121129Mroonga 20121129
Mroonga 20121129Kentoku
 
Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法Kouhei Sutou
 
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?Kouhei Sutou
 
Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29kenhys
 
Mroonga 20131129
Mroonga 20131129Mroonga 20131129
Mroonga 20131129Kentoku
 
初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報Kouhei Sutou
 
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナーMySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナーKouhei Sutou
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...NTT DATA Technology & Innovation
 
教師なし学習によるMackerelの異常検知機能について 〜設計/運用/評価の観点から〜
教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜
教師なし学習によるMackerelの異常検知機能について 〜設計/運用/評価の観点から〜syou6162
 
MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)Hideshi Ogoshi
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記Yugo Shimizu
 
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxTech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxYasuaki Matsuda
 
MroongaとPGroonga
MroongaとPGroongaMroongaとPGroonga
MroongaとPGroongaKouhei Sutou
 
Ruby on Rails 4.0 勉強会資料
Ruby on Rails 4.0 勉強会資料Ruby on Rails 4.0 勉強会資料
Ruby on Rails 4.0 勉強会資料techscore
 
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531Naoya Murakami
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いているAkihiro Kuwano
 

Similar to Groongaの特徴 (20)

Groonga族2015
Groonga族2015Groonga族2015
Groonga族2015
 
Mroonga 20121129
Mroonga 20121129Mroonga 20121129
Mroonga 20121129
 
Groonga族2016
Groonga族2016Groonga族2016
Groonga族2016
 
Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法Mroonga・PGroonga導入方法
Mroonga・PGroonga導入方法
 
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
 
Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29Mroonga Meetup 2014/06/29
Mroonga Meetup 2014/06/29
 
Mroonga 20131129
Mroonga 20131129Mroonga 20131129
Mroonga 20131129
 
初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報
 
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナーMySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
PGroongaの実装
PGroongaの実装PGroongaの実装
PGroongaの実装
 
教師なし学習によるMackerelの異常検知機能について 〜設計/運用/評価の観点から〜
教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜教師なし学習によるMackerelの異常検知機能について〜設計/運用/評価の観点から〜
教師なし学習によるMackerelの異常検知機能について 〜設計/運用/評価の観点から〜
 
MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)MySQL対応全文検索システムMroonga(むるんが)
MySQL対応全文検索システムMroonga(むるんが)
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記
 
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxTech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
 
MroongaとPGroonga
MroongaとPGroongaMroongaとPGroonga
MroongaとPGroonga
 
Ruby on Rails 4.0 勉強会資料
Ruby on Rails 4.0 勉強会資料Ruby on Rails 4.0 勉強会資料
Ruby on Rails 4.0 勉強会資料
 
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531
Rroongaの全文検索性能 Ruby kansai-20140531-ruby-kansai-20140531
 
SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!SpinnakerとKayentaで 高速・安全なデプロイ!
SpinnakerとKayentaで 高速・安全なデプロイ!
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
 

More from Kouhei Sutou

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowKouhei Sutou
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei Sutou
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowKouhei Sutou
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかKouhei Sutou
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataKouhei Sutou
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像Kouhei Sutou
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataKouhei Sutou
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Kouhei Sutou
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroongaKouhei Sutou
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!Kouhei Sutou
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版Kouhei Sutou
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムKouhei Sutou
 

More from Kouhei Sutou (20)

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
 

Groongaの特徴

  • 1. Groongaの 特徴 Powered by Rabbit 2.1.3 Groongaの 特徴 須藤功平 クリアコード CROSS 2015 2015-01-29
  • 2. Groongaの 特徴 Powered by Rabbit 2.1.3 他のエンジンとの違い 既存システムとの連携 毎月肉の日リリース Java free
  • 3. Groongaの 特徴 Powered by Rabbit 2.1.3 連携例:Mroonga Mroonga(むるんが) = MySQL + Groonga(ぐるんが)
  • 4. Groongaの 特徴 Powered by Rabbit 2.1.3 MySQLと連携するメリット SQLを使える クライアントライブラリーが充実 既存の知識を使える 運用ノウハウを使える レプリケーションの仕方 メトリックスの取り方
  • 5. Groongaの 特徴 Powered by Rabbit 2.1.3 Mroongaで索引作成 -- ストレージエンジンを変更 ALTER TABLE table ENGINE=Mroonga; -- 全文検索用索引を作成 ALTER TABLE table ADD FULLTEXT INDEX (column);
  • 6. Groongaの 特徴 Powered by Rabbit 2.1.3 Mroongaで全文検索 SELECT * FROM table WHERE MATCH (column) AGAINST ("+単語1 +単語2" IN BOOLEAN MODE);
  • 7. Groongaの 特徴 Powered by Rabbit 2.1.3 Mroongaの事例 livedoor Blog http://www.slideshare.net/kazeburo/mroonga-in- ablogservice Yahoo! Japanさんの社内 「全文検索エンジンGroongaを囲む夕べ5」で紹介 GMOメディアさんの 各種サービス http://tech.gmo-media.jp/post/95690476544/data- migration-from-tritonn-to-mroonga
  • 8. Groongaの 特徴 Powered by Rabbit 2.1.3 MariaDBにバンドル MariaDB MySQLのfork ケースによってはMySQLより高速 10.0.15からMroongaをバンドル MariaDBをインストール→ Mroongaはインストール済み! より簡単に使える!
  • 9. Groongaの 特徴 Powered by Rabbit 2.1.3 連携例:groonga-httpd Groonga用HTTPサーバー = nginx + Groonga nginxのモジュールとして実装
  • 10. Groongaの 特徴 Powered by Rabbit 2.1.3 nginxと連携するメリット nginx提供のHTTP機能を使える gzip圧縮・HTTPS・認証・… 運用ノウハウを使える 設定方法 チューニング方法(例:ワーカー数の設定) 無停止アップグレード
  • 11. Groongaの 特徴 Powered by Rabbit 2.1.3 groonga-httpdの設定 http { server { location /d/ { groonga on; } } }
  • 12. Groongaの 特徴 Powered by Rabbit 2.1.3 連携例:Rroonga Rroonga(るるんが) = Ruby + Groonga SQLite3のような手軽さで全文検索 (サーバーではなく、ライブラリーとして利用)
  • 13. Groongaの 特徴 Powered by Rabbit 2.1.3 Rubyと連携するメリット Rubyとその周辺の機能を使える 書きやすい ライブラリーを使ってデータ加工 サーバーがいらない 小規模なシステムを手早く構築可能
  • 14. Groongaの 特徴 Powered by Rabbit 2.1.3 Rroongaでデータ登録 table = Groonga["table"] table.add("key", :value1 => "value1", :value2 => "value2")
  • 15. Groongaの 特徴 Powered by Rabbit 2.1.3 Rroongaで全文検索 records = table.select do |record| (record.value1 =~ "単語1") & (record.value2 =~ "単語2") end
  • 16. Groongaの 特徴 Powered by Rabbit 2.1.3 Rroongaの事例 クラウドワークスさん 社員名簿・日報の全文検索で利用 Milkode(ソースコード検索エンジン) http://milkode.ongaeshi.me/ るりまサーチ (Rubyのリファレンスマニュアル検索システム) http://docs.ruby-lang.org/ja/search/
  • 17. Groongaの 特徴 Powered by Rabbit 2.1.3 連携例:その他 PGroonga(ぴーじーるんが) = PostgreSQL + Groonga ROMA(Ruby製の分散KVS)
  • 18. Groongaの 特徴 Powered by Rabbit 2.1.3 他のエンジンとの違い 既存システムとの連携 毎月肉の日リリース Java free