mroongaを選んだ理由とちょっと嬉しかった話

67
Mroongaを選んだ理由と ちょっと嬉しかった話

Upload: terui-masashi

Post on 20-Jan-2015

1.503 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Mroongaを選んだ理由とちょっと嬉しかった話

Mroongaを選んだ理由とちょっと嬉しかった話

Page 2: Mroongaを選んだ理由とちょっと嬉しかった話

はじめまして!(一部のじゃない方こんばんわ!)てるい まさし

照井 将士 "https://www.facebook.com/marcy.terui https://twitter.com/FumblePerson "とあるSIerの雑用係

"AWS Certified Solutions Architect(道内第一号)

JAWS-UG札幌 下っ端メンバー

(マグレで)第5回Tuningathon(チューニンガソン)優勝"サーバゆとり世代 ""1987年 東京都大田区に生まれる

1992年 札幌移住

2011年 とあるSIerに入社 ""役職:下っ端

仕事:インフラ構築・運用(主にAWS) WEBシステム開発 その他雑用

Page 3: Mroongaを選んだ理由とちょっと嬉しかった話

はじめまして!(一部のじゃない方こんばんわ!)てるい まさし

照井 将士 "https://www.facebook.com/marcy.terui https://twitter.com/FumblePerson "とあるSIerの雑用係

"AWS Certified Solutions Architect(道内第一号)

JAWS-UG札幌 下っ端メンバー

(マグレで)第5回Tuningathon(チューニンガソン)優勝"サーバゆとり世代 ""1987年 東京都大田区に生まれる

1992年 札幌移住

2011年 とあるSIerに入社 ""役職:下っ端

仕事:インフラ構築・運用(主にAWS) WEBシステム開発 その他雑用

Page 4: Mroongaを選んだ理由とちょっと嬉しかった話

はじめまして!(一部のじゃない方こんばんわ!)てるい まさし

照井 将士 "https://www.facebook.com/marcy.terui https://twitter.com/FumblePerson "とあるSIerの雑用係

"AWS Certified Solutions Architect(道内第一号)

JAWS-UG札幌 下っ端メンバー

(マグレで)第5回Tuningathon(チューニンガソン)優勝"サーバゆとり世代 ""1987年 東京都大田区に生まれる

1992年 札幌移住

2011年 とあるSIerに入社 ""役職:下っ端

仕事:インフラ構築・運用(主にAWS) WEBシステム開発 その他雑用

Page 5: Mroongaを選んだ理由とちょっと嬉しかった話

はじめまして!(一部のじゃない方こんばんわ!)てるい まさし

照井 将士 "https://www.facebook.com/marcy.terui https://twitter.com/FumblePerson "とあるSIerの雑用係

"AWS Certified Solutions Architect(道内第一号)

JAWS-UG札幌 下っ端メンバー

(マグレで)第5回Tuningathon(チューニンガソン)優勝"サーバゆとり世代 ""1987年 東京都大田区に生まれる

1992年 札幌移住

2011年 とあるSIerに入社 ""役職:下っ端

仕事:インフラ構築・運用(主にAWS) WEBシステム開発 その他雑用

Page 6: Mroongaを選んだ理由とちょっと嬉しかった話

実は、第2子が生まれそうですw いきなり電話掛かってきて抜けたらごめんなさい(;´Д`)

Page 7: Mroongaを選んだ理由とちょっと嬉しかった話

ということで(何が)

Mroongaを選んだ理由

Page 8: Mroongaを選んだ理由とちょっと嬉しかった話

ちょうど一ヶ月前くらいのこと

Page 9: Mroongaを選んだ理由とちょっと嬉しかった話

_人人人人人人人人人人人人_ >突然の日本語全文検索案件 <

‾Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y‾

Page 10: Mroongaを選んだ理由とちょっと嬉しかった話

概要

※予定なので変わる可能性があります

Page 11: Mroongaを選んだ理由とちょっと嬉しかった話

概要• いくつかの無料定期配布誌を電子化し、   WEB閲覧させるためのバックエンドシステム

※予定なので変わる可能性があります

Page 12: Mroongaを選んだ理由とちょっと嬉しかった話

概要• いくつかの無料定期配布誌を電子化し、   WEB閲覧させるためのバックエンドシステム

※予定なので変わる可能性があります

• フロントエンドは既存(他社)の   Flash or HTML5な電子化ソリューションを利用

Page 13: Mroongaを選んだ理由とちょっと嬉しかった話

概要• いくつかの無料定期配布誌を電子化し、   WEB閲覧させるためのバックエンドシステム

※予定なので変わる可能性があります

• フロントエンドは既存(他社)の   Flash or HTML5な電子化ソリューションを利用

• 電子化されたデータを登録・管理し、   内容を全文検索できるようにして、

  目的の巻号、ページに直接飛べるようにしたい   (電子化Sol側は対応しているので、パラメータ指定して飛ばしてあげれば良いだけ…のはず)

Page 14: Mroongaを選んだ理由とちょっと嬉しかった話

概要• いくつかの無料定期配布誌を電子化し、   WEB閲覧させるためのバックエンドシステム

収益化が見込めないサービスなので、 初期費用・ランニングコストはあまりかけられません!

※予定なので変わる可能性があります

• フロントエンドは既存(他社)の   Flash or HTML5な電子化ソリューションを利用

• 電子化されたデータを登録・管理し、   内容を全文検索できるようにして、

  目的の巻号、ページに直接飛べるようにしたい   (電子化Sol側は対応しているので、パラメータ指定して飛ばしてあげれば良いだけ…のはず)

Page 15: Mroongaを選んだ理由とちょっと嬉しかった話

Region

フロント・管理用サイト

EC2 Instance Contents

何かしらの全文検索エンジン

電子ブック

Users

Internet電子化Sol

Administrators

Page 16: Mroongaを選んだ理由とちょっと嬉しかった話

Region

フロント・管理用サイト

EC2 Instance Contents

何かしらの全文検索エンジン

電子ブック

Users

Internet電子化Sol

Administrators

変換

Page 17: Mroongaを選んだ理由とちょっと嬉しかった話

Region

フロント・管理用サイト

EC2 Instance Contents

何かしらの全文検索エンジン

電子ブック

Users

Internet電子化Sol

Administrators

変換

アップロード

Page 18: Mroongaを選んだ理由とちょっと嬉しかった話

Region

フロント・管理用サイト

EC2 Instance Contents

何かしらの全文検索エンジン

電子ブック

Users

Internet電子化Sol

Administrators

変換

アップロード

画像等を配置

Page 19: Mroongaを選んだ理由とちょっと嬉しかった話

Region

フロント・管理用サイト

EC2 Instance Contents

何かしらの全文検索エンジン

電子ブック

Users

Internet電子化Sol

Administrators

変換

アップロード

画像等を配置

内容データ登録

Page 20: Mroongaを選んだ理由とちょっと嬉しかった話

Region

フロント・管理用サイト

EC2 Instance Contents

何かしらの全文検索エンジン

電子ブック

Users

Internet電子化Sol

Administrators

変換

アップロード

画像等を配置

内容データ登録 検索

Page 21: Mroongaを選んだ理由とちょっと嬉しかった話

Region

フロント・管理用サイト

EC2 Instance Contents

何かしらの全文検索エンジン

電子ブック

Users

Internet電子化Sol

Administrators

変換

アップロード

画像等を配置

内容データ登録 検索

検索結果を元にアクセス

Page 22: Mroongaを選んだ理由とちょっと嬉しかった話

さて、全文検索どうしましょう?

Page 23: Mroongaを選んだ理由とちょっと嬉しかった話

全文検索色々

• Elasticsearch

• Apache Solr

• Amazon CloudSearch

• Groonga(Mroonga)

etc…

Page 24: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

※全て個人的な見解です

Page 25: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り

※全て個人的な見解です

Page 26: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り• スケールしやすい

※全て個人的な見解です

Page 27: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り• スケールしやすい• 高機能

※全て個人的な見解です

Page 28: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り• スケールしやすい• 高機能• Solrはけっこう管理面倒(らしい)

※全て個人的な見解です

Page 29: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り• スケールしやすい• 高機能• Solrはけっこう管理面倒(らしい)• Elasticsearch素敵っぽいけど大袈裟感

※全て個人的な見解です

Page 30: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り• スケールしやすい• 高機能• Solrはけっこう管理面倒(らしい)• Elasticsearch素敵っぽいけど大袈裟感• データ投入・検索IFは作り込みが必要

※全て個人的な見解です

Page 31: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り• スケールしやすい• 高機能• Solrはけっこう管理面倒(らしい)• Elasticsearch素敵っぽいけど大袈裟感• データ投入・検索IFは作り込みが必要

※全て個人的な見解です

Page 32: Mroongaを選んだ理由とちょっと嬉しかった話

Elasticsearch、Apache Solr

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance Elasticsearchor

Apacke Solr

• Solrは一応実績有り• スケールしやすい• 高機能• Solrはけっこう管理面倒(らしい)• Elasticsearch素敵っぽいけど大袈裟感• データ投入・検索IFは作り込みが必要

オーバスペック感ある 初期・ランニング共に かさみそうな予感

※全て個人的な見解です

Page 33: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 34: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 35: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 36: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 37: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル• 公式SDK使えば作り込み簡単

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 38: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル• 公式SDK使えば作り込み簡単• 最低約¥10,000/月~で勝手に料金上がる

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 39: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル• 公式SDK使えば作り込み簡単• 最低約¥10,000/月~で勝手に料金上がる• 日本語も使えるらしいが、情報無さすぎ

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 40: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル• 公式SDK使えば作り込み簡単• 最低約¥10,000/月~で勝手に料金上がる• 日本語も使えるらしいが、情報無さすぎ• 東京リージョンマダー(・∀・ )っ/凵⌒☆チンチン

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 41: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル• 公式SDK使えば作り込み簡単• 最低約¥10,000/月~で勝手に料金上がる• 日本語も使えるらしいが、情報無さすぎ• 東京リージョンマダー(・∀・ )っ/凵⌒☆チンチン

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch

※全て個人的な見解です

Page 42: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル• 公式SDK使えば作り込み簡単• 最低約¥10,000/月~で勝手に料金上がる• 日本語も使えるらしいが、情報無さすぎ• 東京リージョンマダー(・∀・ )っ/凵⌒☆チンチン

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch イマイチ感ある ランニングかさむ恐れ

※全て個人的な見解です

Page 43: Mroongaを選んだ理由とちょっと嬉しかった話

Amazon CloudSearch

• フルマネージドでメンテナンスフリー• スケールは必要に応じて勝手にしてくれる• シンプル• 公式SDK使えば作り込み簡単• 最低約¥10,000/月~で勝手に料金上がる• 日本語も使えるらしいが、情報無さすぎ• 東京リージョンマダー(・∀・ )っ/凵⌒☆チンチン

Region

Internet Gateway

EC2 Instances S3 Bucket With Objects

Users

Internet

Amazon RDS MySQL Instance MeCab

SQS Queue

Amazon CloudSearch イマイチ感ある ランニングかさむ恐れ

※全て個人的な見解です

2014 03.25 東京リージョン・日本語対応w

Page 44: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 45: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 46: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 47: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能• その他情報管理用のDBと統合できる

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 48: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能• その他情報管理用のDBと統合できる• 日本語情報多い

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 49: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能• その他情報管理用のDBと統合できる• 日本語情報多い• ていうかMySQL!

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 50: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能• その他情報管理用のDBと統合できる• 日本語情報多い• ていうかMySQL!• 書き込みスケールが手間

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 51: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能• その他情報管理用のDBと統合できる• 日本語情報多い• ていうかMySQL!• 書き込みスケールが手間• 枯れてない(勝手な)印象

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 52: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能• その他情報管理用のDBと統合できる• 日本語情報多い• ていうかMySQL!• 書き込みスケールが手間• 枯れてない(勝手な)印象

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 53: Mroongaを選んだ理由とちょっと嬉しかった話

Mroonga(Groonga)• SQLインターフェイス• 参照はレプリケーションでスケール可能• その他情報管理用のDBと統合できる• 日本語情報多い• ていうかMySQL!• 書き込みスケールが手間• 枯れてない(勝手な)印象

スケールは参照のみでOK (ていうか当面必要なさそう)

初期・ランニング共に低く済みそう

Region

Internet Gateway

EC2 Instances

EC2 Instance Contents

S3 Bucket With Objects

Users

Internet

※全て個人的な見解です

Page 54: Mroongaを選んだ理由とちょっと嬉しかった話

ここまでは検討段階の話

Page 55: Mroongaを選んだ理由とちょっと嬉しかった話

決め手は全然別の理由だったりw

Page 56: Mroongaを選んだ理由とちょっと嬉しかった話

こんなことがありました

Page 57: Mroongaを選んだ理由とちょっと嬉しかった話
Page 58: Mroongaを選んだ理由とちょっと嬉しかった話
Page 59: Mroongaを選んだ理由とちょっと嬉しかった話
Page 60: Mroongaを選んだ理由とちょっと嬉しかった話
Page 61: Mroongaを選んだ理由とちょっと嬉しかった話
Page 62: Mroongaを選んだ理由とちょっと嬉しかった話

で、助けてもらってこんなものを作りました。

https://github.com/marcy-cookbooks/mysql56-mroonga

MySQL5.6×Mroonga環境を一発で作るChefレシピ

※現状、CentOS6のみ対応(Amazon Linuxも対応予定)

"あんまり出来は良くないですが、一応ちゃんと動きます。"

""

MySQL5.6をrpmインストールした時にmysql_install_dbが勝手に決める

(ちょっとウザいw)rootパスワードにも対応してます。

my.cnfのtemplateは形だけなので、そこまで完璧に管理したい場合はご自由にforkどうぞ。

Page 63: Mroongaを選んだ理由とちょっと嬉しかった話

つまり、Mroongaを選んだ理由は…

Page 64: Mroongaを選んだ理由とちょっと嬉しかった話

開発者・ユーザが優しかったから!

会ったことも無いのに助けてくれた(ノД`)・゜・。

"きっと、良質なOSSの周りには良い人が集まるってことですね :)

Page 65: Mroongaを選んだ理由とちょっと嬉しかった話

ここから告知ですいません①

4・11(金)第13回勉強会やります!"

http://kokucheese.com/event/index/155708/

毎回恒例ですが、AWS本体からエバンジェリストの方や、

東京のトップベンダーの方々が来ます!

札幌の事例も多数!"(自分は出産があるので行けないかもですがw)

Page 66: Mroongaを選んだ理由とちょっと嬉しかった話

Chefって言葉にピンと来た方

ここから告知ですいません②

Chef meetup Sapporoやります!

Tokyo,Kansaiからゲスト調整中!

「Chefって何?」って方もこの後、気軽にお声掛けください。"

日程など、詳細は調整中です!

Page 67: Mroongaを選んだ理由とちょっと嬉しかった話

ありがとうございました!

時間が余ったらデモ