38
groonga村 Powered by Rabbit 1.0.5 groonga村 須藤功平 株式会社クリアコード 全文検索エンジンgroongaを囲む夕べ2 2011/11/29

groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groonga村須藤功平 株式会社クリアコード

全文検索エンジンgroongaを囲む夕べ22011/11/29

Page 2: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

祝!1.2.8リリース!

1/37

Page 3: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

この時間の目的

今日の勉強会の道しるべを示すどんな話題があるの?

話題の位置付けは?

2/37

Page 4: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

こちらの期待

groonga開発者募集仕事でgroongaを開発しませんか?

→groonga創始者の森さんへ!

groongaユーザー増加フィードバックが欲しい

→groongaの品質向上へ

3/37

Page 5: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

みなさんの期待(予想)

もう使っていいのか知りたいSolrとかの方がいいんじゃない?

最新情報を知りたい

アルゴリズムを知りたい

困っていることを聞きたい

↑以外?(想定外!ピンチ!)

4/37

Page 6: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

使っていいの?

安定しているの?

他の類似製品との違いは?

5/37

Page 7: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

安定しているの?

実績!

実績!!

実績!!!

6/37

Page 8: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

実績

ぐるなびさん:レストラン検索等

スカパーJSATさん:番組情報検索

buzztter

転職サイト

公開可能な実績を募集中!(公開できない場合でも励みになります!)

7/37

Page 9: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

類似製品

Apache Solr/Lucene↑と比較されることが多そう。比較もされないかも。

Sphinx

SennaTritonn

textsearch_senna

8/37

Page 10: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groongaの方がよいこと

即時更新が得意

データをDBMSで一元管理できるgroongaはストレージ込み

Solr/Luceneもできるけどやってる?

普通のSQLで使える既存のノウハウを使える

9/37

Page 11: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

類似製品の方がよいこと

機能が豊富

エコシステムが充実

書籍がある

10/37

Page 12: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

他の違い

どっちが速い?後でベンチマーク結果を紹介

測ってみてください!

他にどう違うの?教えて欲しい…

移行ガイドを作ってみるのはどうか

11/37

Page 13: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

みなさんの期待(予想)

もう使っていいのか知りたい

最新情報を知りたい

アルゴリズムを知りたい

困っていることを聞きたい

12/37

Page 14: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

最新情報

それぞれについてアリrroongaはナシ

groonga

mroonga

PostgreSQL

13/37

Page 15: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

質問タイム

発表の後は時間的に難しそう

会の最後に10分程度

懇親会

14/37

Page 16: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

期待の応え方もう使っていいのか知りたい

→運用事例についての発表アリ!

最新情報を知りたいアルゴリズムを知りたい

→開発者による発表アリ!

困っていることを聞きたい→会の最後か懇親会で!

15/37

Page 17: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

話題

新年と収穫の祭り

mroonga

Geographical Searching

groonga with PostgreSQL

mroongaのベンチマーク

groonga開発予報16/37

Page 18: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

話題の位置付け

新年と収穫の祭り(groonga)

mroonga(MySQL)

Geographical Searching(groonga)

groonga with PostgreSQL(PostgreSQL)

mroongaのベンチマーク(MySQL)

groonga開発予報(groonga)

17/37

Page 19: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groonga村の外観libgroonga

gqtp

キー管理 転置索引 データストアDB API

クエリAPI

groonga

コマンド

API

HTTP

SQL

Node.js is an official trademark of Joyent. This image is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

CLI

18/37

Page 20: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groonga

全文検索エンジンライブラリlibgroonga

連携しやすい

連携相手MySQL・PostgreSQL・Ruby…

groongaコマンド(サーバー)

19/37

Page 21: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

libgroongalibgroonga

キー管理 転置索引 データストア

コア機能

(参照ロックフリーなアルゴリズムの実装など)

20/37

Page 22: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groonga開発予報libgroonga

キー管理 転置索引 データストア

groonga開発予報

(矢田さん)

[参照ロックフリーなダブル配列について]

21/37

Page 23: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

DB APIlibgroonga

キー管理 転置索引 データストアDB API

データベース機能

(テーブル・カラム・手続きなど)

プロセス内にデータベースを持つならこのAPI

22/37

Page 24: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

rroongalibgroonga

キー管理 転置索引 データストアDB API

API rroonga

(groongaを使うためのRubyライブラリ)

プロセス内にデータベースを持つ

23/37

Page 25: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

祝!1.3.0リリース!

24/37

Page 26: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

mroongalibgroonga

キー管理 転置索引 データストアDB API

SQLmroonga

(データストアとしてgroongaを使う

MySQLのストレージエンジン)

SQLでgroongaを使える!

25/37

Page 27: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

祝!1.10リリース!

fast fulltext search on MySQL

26/37

Page 28: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

mroongalibgroonga

キー管理 転置索引 データストアDB API

SQL

mroonga

(斯波さん)

[最新情報紹介]

27/37

Page 29: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

mroongaのベンチマークlibgroonga

キー管理 転置索引 データストアDB API

SQL

mroongaのベンチマーク

(斯波さんと須藤)

[ベンチマーク結果の紹介]

28/37

Page 30: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

クエリAPIlibgroonga

キー管理 転置索引 データストアDB API

クエリAPI

クエリ言語

(クエリ実行系・データベース管理コマンドなど)

groongaとは文字列(クエリ言語)でやりとり

29/37

Page 31: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

新年と収穫の祭りlibgroonga

キー管理 転置索引 データストアDB API

クエリAPI

新年と収穫の祭り

(森さん)

[groongaについて]

30/37

Page 32: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groongaコマンドlibgroonga

gqtp

キー管理 転置索引 データストアDB API

クエリAPI

groonga

コマンド

HTTP

CLI

コマンド

(REPL・クライアント・サーバー)

HTTPで使える!

31/37

Page 33: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

Geographical Searchinglibgroonga

gqtp

キー管理 転置索引 データストアDB API

クエリAPI

groonga

コマンド

HTTP

CLI

Geographical Searching

(塩畑さん)

[位置情報検索について]

32/37

Page 34: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

nroongalibgroonga

キー管理 転置索引 データストアDB API

クエリAPI

API

HTTP

Node.js is an official trademark of Joyent. This image is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

nroonga

(groongaを使うための

Node.jsライブラリ)

HTTPで使える!

33/37

Page 35: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groonga w/ PostgreSQLlibgroonga

キー管理 転置索引 データストアDB API

クエリAPI

SQL

groonga with PostgreSQL

(板垣さん・奥野さん)

[将来像の紹介]

SQLで

groongaを

使える!

34/37

Page 36: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

groonga村の外観libgroonga

gqtp

キー管理 転置索引 データストアDB API

クエリAPI

groonga

コマンド

API

HTTP

SQL

Node.js is an official trademark of Joyent. This image is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

CLI

35/37

Page 37: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

こちらの期待

groonga開発者募集仕事でgroongaを開発しませんか?

→groonga創始者の森さんへ!

groongaユーザー増加フィードバックが欲しい

→groongaの品質向上へ

36/37

Page 38: groonga村 - クリアコード · mroonga libgroonga キー管理 転置索引 データストア DB API SQL mroonga (データストアとしてgroongaを使う MySQLのストレージエンジン)

groonga村 Powered by Rabbit 1.0.5

お楽しみください!

新年と収穫の祭り

mroonga

Geographical Searching

groonga with PostgreSQL

mroongaのベンチマーク

groonga開発予報37/37