Submit Search
Upload
Mroonga de fts
•
3 likes
•
1,935 views
yoku0825
Follow
2013/11/29 全文検索エンジンGroongaを囲む夕べ(略してぐるんべ) #4 あんまり俺しゃべってないですが
Read less
Read more
Technology
Report
Share
Report
Share
1 of 41
Download now
Download to read offline
Recommended
Product Release Webinar - APIM Manager 1.6
Product Release Webinar - APIM Manager 1.6
WSO2
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
Tak Nishikori
three.jsで作る3Dの世界
three.jsで作る3Dの世界
AdvancedTechNight
Django pgroonga
Django pgroonga
Atsuo Ishimoto
Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験
yoku0825
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
magoroku Yamamoto
Gws 20141024 gradle_intro
Gws 20141024 gradle_intro
Nobuhiro Sue
Groovyの紹介20130323
Groovyの紹介20130323
Yasuharu Hayami
Recommended
Product Release Webinar - APIM Manager 1.6
Product Release Webinar - APIM Manager 1.6
WSO2
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
Tak Nishikori
three.jsで作る3Dの世界
three.jsで作る3Dの世界
AdvancedTechNight
Django pgroonga
Django pgroonga
Atsuo Ishimoto
Dockerイメージで誰でも気軽にMroonga体験
Dockerイメージで誰でも気軽にMroonga体験
yoku0825
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
magoroku Yamamoto
Gws 20141024 gradle_intro
Gws 20141024 gradle_intro
Nobuhiro Sue
Groovyの紹介20130323
Groovyの紹介20130323
Yasuharu Hayami
逝くぞ最新版、罠の貯蔵は十分か
逝くぞ最新版、罠の貯蔵は十分か
yoku0825
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
yoku0825
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
yoku0825
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
yoku0825
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
yoku0825
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
MySQLステータスモニタリング
MySQLステータスモニタリング
yoku0825
わかった気になるMySQL
わかった気になるMySQL
yoku0825
わたしを支える技術
わたしを支える技術
yoku0825
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
yoku0825
MySQLアンチパターン
MySQLアンチパターン
yoku0825
MySQLerの7つ道具 plus
MySQLerの7つ道具 plus
yoku0825
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLは
yoku0825
MySQLerの7つ道具
MySQLerの7つ道具
yoku0825
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
yoku0825
5.7の次のMySQL
5.7の次のMySQL
yoku0825
mikasafabric for MySQL
mikasafabric for MySQL
yoku0825
とあるイルカの近況報告
とあるイルカの近況報告
yoku0825
MySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなし
yoku0825
MySQLと正規形のはなし
MySQLと正規形のはなし
yoku0825
More Related Content
More from yoku0825
逝くぞ最新版、罠の貯蔵は十分か
逝くぞ最新版、罠の貯蔵は十分か
yoku0825
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
yoku0825
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
yoku0825
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
yoku0825
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
yoku0825
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
yoku0825
MySQLステータスモニタリング
MySQLステータスモニタリング
yoku0825
わかった気になるMySQL
わかった気になるMySQL
yoku0825
わたしを支える技術
わたしを支える技術
yoku0825
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
yoku0825
MySQLアンチパターン
MySQLアンチパターン
yoku0825
MySQLerの7つ道具 plus
MySQLerの7つ道具 plus
yoku0825
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLは
yoku0825
MySQLerの7つ道具
MySQLerの7つ道具
yoku0825
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
yoku0825
5.7の次のMySQL
5.7の次のMySQL
yoku0825
mikasafabric for MySQL
mikasafabric for MySQL
yoku0825
とあるイルカの近況報告
とあるイルカの近況報告
yoku0825
MySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなし
yoku0825
MySQLと正規形のはなし
MySQLと正規形のはなし
yoku0825
More from yoku0825
(20)
逝くぞ最新版、罠の貯蔵は十分か
逝くぞ最新版、罠の貯蔵は十分か
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
MySQLレプリケーションあれやこれや
MySQLレプリケーションあれやこれや
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
MySQLステータスモニタリング
MySQLステータスモニタリング
わかった気になるMySQL
わかった気になるMySQL
わたしを支える技術
わたしを支える技術
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQLアンチパターン
MySQLアンチパターン
MySQLerの7つ道具 plus
MySQLerの7つ道具 plus
MySQL 5.7の次のMySQLは
MySQL 5.7の次のMySQLは
MySQLerの7つ道具
MySQLerの7つ道具
MHAの次を目指す mikasafabric for MySQL
MHAの次を目指す mikasafabric for MySQL
5.7の次のMySQL
5.7の次のMySQL
mikasafabric for MySQL
mikasafabric for MySQL
とあるイルカの近況報告
とあるイルカの近況報告
MySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなし
MySQLと正規形のはなし
MySQLと正規形のはなし
Mroonga de fts
1.
Mroonga de fulltextsearch 2013/11/29 yoku0825
feat. 河野隆志 ぐるんべ #4
2.
[ANN] wingリポジトリ用 groonga 3.1.0
mroonga 3.10 MySQL 5.5.34, 5.6.14/MariaDB 5.5.34, 10.0.6 で最新のGroonga, Mroongaが簡単に試せます。 http://sourceforge.jp/projects/groonga/lists /archive/dev/2013-November/001931.html WING☆さん仕事はやー。。
3.
ここから本編
4.
\こんばんわ/
5.
むるーん(^^)
6.
∧_∧ ( ・∀・) | | ガッ と )
| | Y /ノ 人 / ) < >__∧∩ _/し' // V`Д´)/ (_フ彡 / ←>>825
7.
で de
8.
全文検索
9.
すなわち
10.
11.
というわけで、 事例紹介です ※テクニックは出てこないです
12.
yoku0825 ● ● ● とある企業のDBA ● オラクれない ● ポスグレない ● マイエスキューエる その正体は ● 嫁の夫 ● せがれの父 写真は豆腐のぬいぐるみ
13.
featuring with
14.
河野 ● ● ● そこでもインフラやってます 最近PHP勉強しながらコード書いてます ● ● 隆志 とある企業(GMOメディア株式会社)のDBA ● もとインフラ ● 2011年にDBA的な何かに転向 ● ● (かわのです こうのじゃないです) それでもインフラやってます 二児のパパ ガンダム大好き 最近 新生FF14でネカマ始めました
15.
今回お話しする事例 ● ● ● とあるサービス 5歳になりました ● WEB 5000万PV/day ● アプリ
たくさんAPI request/day WEBサーバー 28台 DBサーバー ● メイン系(非全文検索) 6台 ● 全文検索 6台
16.
全文検索スレーブのとある一日
17.
( ゚д゚)ノ 先生、スレーブ5台分散とはいえ、 SELECTよりUPDATEが多いんですが
18.
Mroongaを選んだ経緯
19.
もともとTritonnで全文検索を実装していた
20.
サービスが成長するに連れて、 スケールしなくなってきた
21.
_人人人人人人人_ > もう限界! <  ̄Y^Y^Y^Y^Y^Y ̄
22.
乗り換えを決意して調べてみた
23.
要件の整理 ● 一連のサービスのコードはお手製のO/Rマッパーで統一されている ● ● 全文検索するデータは1000万件超 ● ● なのでなるべくSQLでアクセスできると嬉しいな♪ データ的には25GBくらい 更新がバカみたいにガリガリ来る ● ● システム全体としては参照の方がもちろん多いけど、サーバー1台 ごとのカウントを見ると更新が上回る あとは参照ロックフリーだと嬉しいな♪ – Tritonnではテーブルロックでスケールしなかった
24.
Solr ● ● ● 他のチームがSolr 4.0(?)を検証していたのでついでにベ ンチマークしてもらったら、更新がひどすぎてあっという 間にへたって使い物にならず そもそもTritonnからSolrに移行するにはすっげー改修必 要だよね。。 もともとTritonnのMySQL(5.0)を使っていたが新しいMySQL も使いたくなってきた
25.
Solrじゃダメだ…
26.
Mroonga ● MySQLにのっかる ● Tritonnと同じSQLで使える ● レプリケーションできる(MySQLだから当然!) ● 参照ロックフリー ● 速い
27.
ktkr!
28.
で、検証してみた
29.
検証してみた ● 9割くらいのSQLはそのまま通った! 残り1割はSQL修正が必要だった… ● Tritonnで通った更新クエリが何故かMroongaで通らな かった… パフォーマンスは上々 ● ● Tritonnと比べて体感でわかるほど速い! 参照ロックフリーだから更新多い・参照多い環境でもき ちっとスケールアウトする! ● ● ● マルチカラムインデックスの更新でMySQLがcrashする etc..
30.
31.
他にもいくつかのバグを踏み抜いた結果
32.
半年くらいの検証期間を経て、 本番に導入しました
33.
導入後 ● サイト表示速度上がったお! ● ロックしなくなったお! ● slowlog減ったお! ● スケールするお! ● 会社内でMroonga使う人が増えたお! ● でかい顔出来たお!
34.
* + 巛 ヽ 〒 ! + 。 +
+ 。 | | * + / / イヤッッホォォォオオォオウ! ∧_∧ / / (´∀` / / + 。 + ,- f / ュヘ | * + 。 + 〈_} ) | / ! + 。 + + ./ ,ヘ | ガタン ||| j / | | ||| ――――――――――――
35.
( ゚д゚)ノ 先生、切り替え直後の トラブルはなかったんですか?
36.
事前の検証が功を奏して、 入れた直後は本当に良いことづくめでした
37.
( ゚д゚)ノ 今は?
38.
運用していてうれしいこと ● ● ● MySQLのノウハウはそれなりにたまっているので、バック アップや監視の仕組みがそのまま使いまわせた。 レプリケーションで簡単参照分散ウマー ここ1年くらいで増えた新機能(mroonga_snippet, Wプラグ マ)おいしいです
39.
これからの課題 ● そろそろシャーディングしたい サイトも成長してサーバーの負荷ぱねぇ ● Spider? マジで? 書き込みも分散させたい予感はする ● ● Percona XtraDB
Clusterの上にMroongaが載っけられた ので調べてみようかな(yoku0825が) 5.6.13+ 3.07でメモリーリークしてるっぽいけどどうしよ う ● ● おかげでマスターがまだTritonn この前久々にmroonga_snippetで踏み抜いた ● ●
40.
まとめ ● Tritonnからの移行先としてはMroonga鉄板でいいと思う ● 既存の仕組みをほぼ継承できるのは大きい ● 5台くらいまでなら運用/スケールした実績あるよ! ● Groonga開発チーム親切だよ!
41.
ご清聴ありがとうございました
Download now