狠狠撸

狠狠撸Share a Scribd company logo
Mroongaを使ったときの
MySQLの制限との戦い
Naoya(@naoa_y)
MySQL勉強会 in 大阪(第6回)
2014/4/24
LTやったことありません!
はじめに
● 大学は情報系
● 新卒で3年半ほど金融系のユーザSIでインフラSE
● 現在は3年半ほどITと無縁の仕事
自己紹介
やりたいこと
100種類以上の書誌事項が
あってサイズが400GiBぐ
らいで1000万レコードぐ
らいのデータベースを高
速に全文検索したい
サラリーマンなんで
できるだけ安く!
コスト
使ったもの
●
データベース
MySQL5.6.14
●
全文検索エンジン
Mroongaストレージエンジン
テーブルって正規化すれ
ばいいんでしょ?
知ってる知ってる。
教科書のってた。
正規化してJOINして
全文検索っと
mysql> EXPLAIN SELECT COUNT(*) FROM ftext INNER JOIN applicants ON applicants.id = ftext.id WHERE MATCH(title,abstract,description) AGAINST("+装置
" in boolean mode);
+----+-------------+------------+----------+---------------+---------+---------+----------------------+------+-----------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------+----------+---------------+---------+---------+----------------------+------+-----------------------------------+
| 1 | SIMPLE | ftext | fulltext | PRIMARY,ftext | ftext | 0 | NULL | 1 | Using where with pushed condition |
| 1 | SIMPLE | applicants | ref | PRIMARY | PRIMARY | 62 | test_relate.ftext.id | 4850 | NULL |
+----+-------------+------------+----------+---------------+---------+---------+----------------------+------+-----------------------------------+
2 rows in set (0.02 sec)
mysql> SELECT COUNT(*) FROM ftext INNER JOIN applicants ON applicants.id = ftext.id WHERE MATCH(title,abstract,description) AGAINST("+装置" in
boolean mode);
+----------+
| COUNT(*) |
+----------+
| 378523 |
+----------+
1 row in set (30.92 sec)
mysql> SHOW PROFILE;
+-------------------------+-----------+
| Status | Duration |
+-------------------------+-----------+
| starting | 0.002691 |
| checking permissions | 0.000007 |
| checking permissions | 0.000004 |
| Opening tables | 0.000022 |
| init | 0.000035 |
| System lock | 0.000010 |
| optimizing | 0.017265 |
| statistics | 0.009740 |
| preparing | 0.000014 |
| FULLTEXT initialization | 0.119833 |
| executing | 0.000010 |
| Sending data | 30.782097 |
| end | 0.000012 |
| query end | 0.000003 |
| closing tables | 0.000775 |
| freeing items | 0.000419 |
| logging slow query | 0.000002 |
| cleaning up | 0.000009 |
+-------------------------+-----------+
18 rows in set (0.00 sec)
データベースサイズが20GiBぐらいの例
全文検索+JOIN
全文検索しつつ大量のレ
コードをJOINしてパ
フォーマンスを保つのっ
てむずかしいんです
ね。。
どうする?
Mroongaには、ベクターカ
ラムっていうのがあっ
て、1カラムに複数の値が
いれられるらしい。
(groonga-dev情報)
Mroongaのストレージモー
ドでは、SELECTとかUPDATE
とかでカラムを指定してや
ればカラム刈り込みが発生
するらしい。
じゃあ、テーブルを1つ
にしてしまおう!
てーぶるていぎ。
※わざわざディスプレイ
を縦にしました
くそみたいなテーブル
定義ですね。
まぁそれはおいておいて、
つくってみましょう。
ERROR 1069 (42000):
Too many keys specified;
max 64 keys allowed
インデックスは1テーブル
につき64個までしか許可
されていないそうで。。
Groongaにはそんな制限は
ありません。
どうする?
こんなエラーこの世から
なくなってしまえばいい
sql/sql_table.cc
before
3696 if (key->name.str != ignore_key)
3697 key_parts+=key->columns.elements;
3698 else
3699 (*key_count)--;
3700 if (key->name.str && !tmp_table && (key->type != Key::PRIMARY) &&
3701 !my_strcasecmp(system_charset_info, key->name.str, primary_key_name))
3702 {
3703 my_error(ER_WRONG_NAME_FOR_INDEX, MYF(0), key->name.str);
3704 DBUG_RETURN(TRUE);
3705 }
3706 }
3707 tmp=file->max_keys();
3708 if (*key_count > tmp)
3709 {
3710 my_error(ER_TOO_MANY_KEYS,MYF(0),tmp);
3711 DBUG_RETURN(TRUE);
3712 }
3713
3714 (*key_info_buffer)= key_info= (KEY*) sql_calloc(sizeof(KEY) * (*key_count));
3715 key_part_info=(KEY_PART_INFO*) sql_calloc(sizeof(KEY_PART_INFO)*key_parts);
3716 if (!*key_info_buffer || ! key_part_info)
3717 DBUG_RETURN(TRUE); // Out of memory
3718
3696 if (key->name.str != ignore_key)
3697 key_parts+=key->columns.elements;
3698 else
3699 (*key_count)--;
3700 if (key->name.str && !tmp_table && (key->type != Key::PRIMARY) &&
3701 !my_strcasecmp(system_charset_info, key->name.str, primary_key_name))
3702 {
3703 my_error(ER_WRONG_NAME_FOR_INDEX, MYF(0), key->name.str);
3704 DBUG_RETURN(TRUE);
3705 }
3706 }
3707 tmp=file->max_keys();
3708
3709
3710
3711
3712
3713
3714 (*key_info_buffer)= key_info= (KEY*) sql_calloc(sizeof(KEY) * (*key_count));
3715 key_part_info=(KEY_PART_INFO*) sql_calloc(sizeof(KEY_PART_INFO)*key_parts);
3716 if (!*key_info_buffer || ! key_part_info)
3717 DBUG_RETURN(TRUE); // Out of memory
3718
after
ひとつのエラーが
この世から消えました
もっかいつくって
みましょう
ERROR 1071 (42000):
Specified key was too long;
max key length is 3072 bytes
エラーメッセージが
変わった!
やった!(やってない)
ERROR 1071 (42000):
Specified key was too long;
max key length is 3072 bytes
1テーブルの合計最大キー長
は3072バイトだそうで。。
Groongaにはそんな制限は
ありません。
どうする?
こんなエラーこの世から
なくなってしまえばいい
sql/sql_table.cc
before after
4001 if (key->type == Key::MULTIPLE)
4002 {
4003 /* not a critical problem */
4004 push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
4005 ER_TOO_LONG_KEY, ER(ER_TOO_LONG_KEY),
4006 key_part_length);
4007 /* Align key length to multibyte char boundary */
4008 key_part_length-= key_part_length % sql_field->charset->mbmaxlen;
4009 /*
4010 If SQL_MODE is STRICT, then report error, else report warning
4011 and continue execution.
4012 */
4013 if (thd->is_error())
4014 DBUG_RETURN(true);
4015 }
(中略)
4053 if (key->type == Key::MULTIPLE)
4054 {
4055 /* not a critical problem */
4056 push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
4057 ER_TOO_LONG_KEY, ER(ER_TOO_LONG_KEY),
4058 key_part_length);
4059 /* Align key length to multibyte char boundary */
4060 key_part_length-= key_part_length % sql_field->charset->mbmaxlen;
4061 /*
4062 If SQL_MODE is STRICT, then report error, else report warning
4063 and continue execution.
4064 */
4065 if (thd->is_error())
4066 DBUG_RETURN(true);
4067 }
4001 if (key->type == Key::MULTIPLE)
4002 {
4003
4004
4005
4006
4007 /* Align key length to multibyte char boundary */
4008 key_part_length-= key_part_length % sql_field->charset->mbmaxlen;
4009 /*
4010 If SQL_MODE is STRICT, then report error, else report warning
4011 and continue execution.
4012 */
4013 if (thd->is_error())
4014 DBUG_RETURN(true);
4015 }
(中略)
4053 if (key->type == Key::MULTIPLE)
4054 {
4055
4056
4057
4058
4059 /* Align key length to multibyte char boundary */
4060 key_part_length-= key_part_length % sql_field->charset->mbmaxlen;
4061 /*
4062 If SQL_MODE is STRICT, then report error, else report warning
4063 and continue execution.
4064 */
4065 if (thd->is_error())
4066 DBUG_RETURN(true);
4067 }
ひとつのエラーが
この世から消えました
もう一度つくって
みましょう
エラーなし。
テーブルつくれました。
やった!!!
さあ全文検索っと
mysql> SELECT COUNT(*) FROM ftext WHERE
MATCH(title,abstract,claims,freeword,description_19xx,description_200x,description_201
x,description_ocr) AGAINST("+データベース" in boolean mode) AND kind LIKE "A%";
+----------+
| COUNT(*) |
+----------+
| 326093 |
+----------+
1 row in set (3 min 52.77 sec)
全文検索+その他絞込み(最適化なし)
データベースサイズが400GiBぐらいの例
全文検索しつつその他の
条件で絞込みって、レ
コード数が多いとイン
デックスが使われないか
らかなり遅いんです
ね。。
どうする?
あきらめない
Mroongaには複数のイン
デックスが使われるよう
に最適化される所定の条
件があります。
Groongaの構文を使えば複数
インデックスが使えるよう
になる方法があります。
(groonga-dev情報)
ややこしい
ので方法は割愛。
興味ある方は以下を参照
http://blog.createfield.com/entry/2014/04/13/170301
全文検索+その他絞込み(最適化あり)
mysql> SELECT COUNT(*) FROM ftext WHERE
MATCH(title,abstract,claims,freeword,description_19xx,description_200x,description_201
x,description_ocr) AGAINST("+データベース +kind:A*" in boolean mode);
+----------+
| COUNT(*) |
+----------+
| 326093 |
+----------+
1 row in set (0.40 sec)
データベースサイズが400GiBぐらいの例
400GiBのデータベースが
サーバ1台でそこそこ実用
的な速度に!やった!
まとめと補足
● 全文検索しつつ大量のレコードをJOINしてパフォーマンスを保
つのは難しい。ベクターカラムを使うと1対nの関係でもテー
ブルを1つにまとめることができる。カラムストアなのでカラ
ム増による性能への影響は軽微。
●
インデックスは1テーブルに64個まで。
エラー処理を回避すればMroongaでは64個以上使用可。
(補足) MAX_INDEXESのCMAKEオプションがあるみたいだったが、なぜかMyISAMのイ
ンデックスが使えなくなったのでソース改変で回避。
● 1テーブルの最大合計キー長は3072byteまで。
エラー処理を回避すればMroongaでは3072byte以上使用可。
(補足) InnoDBでは3500バイトに制限されている記載がドキュメントに有。
● 全文検索の他に絞込み条件を追加して高速に検索するためには
最適化条件を守るか、Groongaの構文を使う必要がある。
ありがとうございました

More Related Content

What's hot (20)

SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
?
BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編
sutepoi
?
惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや
yoku0825
?
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
?
惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム
惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム
惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム
Kouhei Sutou
?
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
?
础滨时代の要件定义
础滨时代の要件定义础滨时代の要件定义
础滨时代の要件定义
Zenji Kanzaki
?
狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方
狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方
狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方
kwatch
?
罢颈顿叠のトランザクション
罢颈顿叠のトランザクション罢颈顿叠のトランザクション
罢颈顿叠のトランザクション
Akio Mitobe
?
20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)
Hiromu Shioya
?
贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法
贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法
贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法
Masahito Zembutsu
?
骋辞言语による飞别产アフ?リの作り方
骋辞言语による飞别产アフ?リの作り方骋辞言语による飞别产アフ?リの作り方
骋辞言语による飞别产アフ?リの作り方
Yasutaka Kawamoto
?
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 152016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
歩 柴田
?
Jenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCIJenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCI
shigeyuki azuchi
?
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
Kouhei Sutou
?
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
?
PostgreSQL + pgpool構成におけるリカバリ
PostgreSQL + pgpool構成におけるリカバリPostgreSQL + pgpool構成におけるリカバリ
PostgreSQL + pgpool構成におけるリカバリ
hiroin0
?
摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门
摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门
摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门
Burp Suite Japan User Group
?
プログラムの処方笺~健康なコードと病んだコード
プログラムの処方笺~健康なコードと病んだコードプログラムの処方笺~健康なコードと病んだコード
プログラムの処方笺~健康なコードと病んだコード
Shigenori Sagawa
?
惭测厂蚕尝の全文検索に関するあれやこれや
惭测厂蚕尝の全文検索に関するあれやこれや惭测厂蚕尝の全文検索に関するあれやこれや
惭测厂蚕尝の全文検索に関するあれやこれや
yoku0825
?
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
?
BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編BigQuery Query Optimization クエリ高速化編
BigQuery Query Optimization クエリ高速化編
sutepoi
?
惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや惭测厂蚕尝レプリケーションあれやこれや
惭测厂蚕尝レプリケーションあれやこれや
yoku0825
?
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
?
惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム
惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム
惭补谤颈补顿叠と惭谤辞辞苍驳补で作る全言语対応超高速全文検索システム
Kouhei Sutou
?
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
?
础滨时代の要件定义
础滨时代の要件定义础滨时代の要件定义
础滨时代の要件定义
Zenji Kanzaki
?
狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方
狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方
狈颈辫辫辞苍诲补苍箩颈氏に怒られても仕方ない、配列型と闯厂翱狈型の使い方
kwatch
?
罢颈顿叠のトランザクション
罢颈顿叠のトランザクション罢颈顿叠のトランザクション
罢颈顿叠のトランザクション
Akio Mitobe
?
20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)20090107 Postgre Sqlチューニング(Sql編)
20090107 Postgre Sqlチューニング(Sql編)
Hiromu Shioya
?
贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法
贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法
贬补蝉丑颈颁辞谤辫の狈辞尘补诲を使ったコンテナのスケジューリング手法
Masahito Zembutsu
?
骋辞言语による飞别产アフ?リの作り方
骋辞言语による飞别产アフ?リの作り方骋辞言语による飞别产アフ?リの作り方
骋辞言语による飞别产アフ?リの作り方
Yasutaka Kawamoto
?
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 152016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
歩 柴田
?
Jenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCIJenkinsとamazon ecsて? コンテナCI
Jenkinsとamazon ecsて? コンテナCI
shigeyuki azuchi
?
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
Kouhei Sutou
?
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
?
PostgreSQL + pgpool構成におけるリカバリ
PostgreSQL + pgpool構成におけるリカバリPostgreSQL + pgpool構成におけるリカバリ
PostgreSQL + pgpool構成におけるリカバリ
hiroin0
?
摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门
摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门
摆叠耻谤辫厂耻颈迟别闯补辫补苍闭贬罢罢笔基础入门
Burp Suite Japan User Group
?
プログラムの処方笺~健康なコードと病んだコード
プログラムの処方笺~健康なコードと病んだコードプログラムの処方笺~健康なコードと病んだコード
プログラムの処方笺~健康なコードと病んだコード
Shigenori Sagawa
?
惭测厂蚕尝の全文検索に関するあれやこれや
惭测厂蚕尝の全文検索に関するあれやこれや惭测厂蚕尝の全文検索に関するあれやこれや
惭测厂蚕尝の全文検索に関するあれやこれや
yoku0825
?

Viewers also liked (20)

骋谤辞辞苍驳补の今后への期待
骋谤辞辞苍驳补の今后への期待骋谤辞辞苍驳补の今后への期待
骋谤辞辞苍驳补の今后への期待
Naoya Murakami
?
いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!
いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!
いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!
Kouhei Sutou
?
全文検索エンジン惭谤辞辞苍驳补冲エンジニア勉强会20140418
全文検索エンジン惭谤辞辞苍驳补冲エンジニア勉强会20140418全文検索エンジン惭谤辞辞苍驳补冲エンジニア勉强会20140418
全文検索エンジン惭谤辞辞苍驳补冲エンジニア勉强会20140418
エンジニア勉強会 エスキュービズム
?
骋谤辞辞苍驳补の绍介と事例绍介
骋谤辞辞苍驳补の绍介と事例绍介骋谤辞辞苍驳补の绍介と事例绍介
骋谤辞辞苍驳补の绍介と事例绍介
Naoya Murakami
?
MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」
MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」
MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」
Kentaro Yoshida
?
惭谤辞辞苍驳补最新情报2016
惭谤辞辞苍驳补最新情报2016惭谤辞辞苍驳补最新情报2016
惭谤辞辞苍驳补最新情报2016
Kouhei Sutou
?
惭测蝉辩濒+惭谤辞辞苍驳补で全文検索
惭测蝉辩濒+惭谤辞辞苍驳补で全文検索惭测蝉辩濒+惭谤辞辞苍驳补で全文検索
惭测蝉辩濒+惭谤辞辞苍驳补で全文検索
yoyamasaki
?
骋谤辞辞苍驳补を支える取り组み
骋谤辞辞苍驳补を支える取り组み骋谤辞辞苍驳补を支える取り组み
骋谤辞辞苍驳补を支える取り组み
kenhys
?
2013.11.29 Groongaでビジネスしませんか?
2013.11.29 Groongaでビジネスしませんか?2013.11.29 Groongaでビジネスしませんか?
2013.11.29 Groongaでビジネスしませんか?
Shinichiro Minami
?
Mroonga 20131129
Mroonga 20131129Mroonga 20131129
Mroonga 20131129
Kentoku
?
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
Kentaro Yoshida
?
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groongaMroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
驰补丑辞辞!デベロッパーネットワーク
?
惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)
惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)
惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)
Hideshi Ogoshi
?
Elastic searchとは_エンジニア勉強会20140212
Elastic searchとは_エンジニア勉強会20140212Elastic searchとは_エンジニア勉強会20140212
Elastic searchとは_エンジニア勉強会20140212
エンジニア勉強会 エスキュービズム
?
惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话
惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话
惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话
Terui Masashi
?
惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;
惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;
惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;
Kentaro Yoshida
?
骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い
骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い
骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い
Naoya Murakami
?
20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks
Mori Tetsuya
?
mysqlcasual6-fabric
mysqlcasual6-fabricmysqlcasual6-fabric
mysqlcasual6-fabric
doublemarket
?
mysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockmysqlcasual6-next-key-lock
mysqlcasual6-next-key-lock
karupanerura
?
骋谤辞辞苍驳补の今后への期待
骋谤辞辞苍驳补の今后への期待骋谤辞辞苍驳补の今后への期待
骋谤辞辞苍驳补の今后への期待
Naoya Murakami
?
いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!
いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!
いろいろ考えると日本语の全文検索も惭测厂蚕尝がいいね!
Kouhei Sutou
?
骋谤辞辞苍驳补の绍介と事例绍介
骋谤辞辞苍驳补の绍介と事例绍介骋谤辞辞苍驳补の绍介と事例绍介
骋谤辞辞苍驳补の绍介と事例绍介
Naoya Murakami
?
MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」
MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」
MySQL Casual Talks Vol.4 「MySQL-5.6て?始める全文検索 ?InnoDB FTS編?」
Kentaro Yoshida
?
惭谤辞辞苍驳补最新情报2016
惭谤辞辞苍驳补最新情报2016惭谤辞辞苍驳补最新情报2016
惭谤辞辞苍驳补最新情报2016
Kouhei Sutou
?
惭测蝉辩濒+惭谤辞辞苍驳补で全文検索
惭测蝉辩濒+惭谤辞辞苍驳补で全文検索惭测蝉辩濒+惭谤辞辞苍驳补で全文検索
惭测蝉辩濒+惭谤辞辞苍驳补で全文検索
yoyamasaki
?
骋谤辞辞苍驳补を支える取り组み
骋谤辞辞苍驳补を支える取り组み骋谤辞辞苍驳补を支える取り组み
骋谤辞辞苍驳补を支える取り组み
kenhys
?
2013.11.29 Groongaでビジネスしませんか?
2013.11.29 Groongaでビジネスしませんか?2013.11.29 Groongaでビジネスしませんか?
2013.11.29 Groongaでビジネスしませんか?
Shinichiro Minami
?
Mroonga 20131129
Mroonga 20131129Mroonga 20131129
Mroonga 20131129
Kentoku
?
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
MySQL 5.6への完全移行を実現したTritonnからMroongaへの移行体験記
Kentaro Yoshida
?
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groongaMroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
驰补丑辞辞!デベロッパーネットワーク
?
惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)
惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)
惭测厂蚕尝対応全文検索システム惭谤辞辞苍驳补(むるんが)
Hideshi Ogoshi
?
惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话
惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话
惭谤辞辞苍驳补を选んだ理由と?ちょっと嬉しかった话
Terui Masashi
?
惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;
惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;
惭测厂蚕尝と组み合わせて始める全文検索プロダクト&辩耻辞迟;别濒补蝉迟颈肠蝉别补谤肠丑&辩耻辞迟;
Kentaro Yoshida
?
骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い
骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い
骋谤辞辞苍驳补でのタグ検索と表记揺れとの戦い
Naoya Murakami
?
20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続?Amazon RDS Casual Talks
Mori Tetsuya
?
mysqlcasual6-next-key-lock
mysqlcasual6-next-key-lockmysqlcasual6-next-key-lock
mysqlcasual6-next-key-lock
karupanerura
?

Similar to Mroongaを使ったときの MySQLの制限との戦い (20)

20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
Insight Technology, Inc.
?
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
Kensuke Nagae
?
Wtm
WtmWtm
Wtm
Soudai Sone
?
MySQL 5.7が魅せる新しい運用の形
MySQL 5.7が魅せる新しい運用の形MySQL 5.7が魅せる新しい運用の形
MySQL 5.7が魅せる新しい運用の形
yoku0825
?
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
Satoshi Hirata
?
ヤフー社内でやってる惭测厂蚕尝チューニングセミナー大公开
ヤフー社内でやってる惭测厂蚕尝チューニングセミナー大公开ヤフー社内でやってる惭测厂蚕尝チューニングセミナー大公开
ヤフー社内でやってる惭测厂蚕尝チューニングセミナー大公开
驰补丑辞辞!デベロッパーネットワーク
?
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデル
Mikiya Okuno
?
Q4 Mでメッセージキュー
Q4 MでメッセージキューQ4 Mでメッセージキュー
Q4 Mでメッセージキュー
ngi group.
?
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
Yoshiyuki Asaba
?
厂蚕尝チューニング勉强会资料
厂蚕尝チューニング勉强会资料厂蚕尝チューニング勉强会资料
厂蚕尝チューニング勉强会资料
Shinnosuke Akita
?
道具を磨くことのススメ
道具を磨くことのススメ道具を磨くことのススメ
道具を磨くことのススメ
Kenichi Masuda
?
搁ユーサ?のための蝉辫补谤办入门
搁ユーサ?のための蝉辫补谤办入门搁ユーサ?のための蝉辫补谤办入门
搁ユーサ?のための蝉辫补谤办入门
Shintaro Fukushima
?
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
Takahiro Iwase
?
Osc2015北海道 札幌my sql勉強会_波多野_r3
Osc2015北海道 札幌my sql勉強会_波多野_r3Osc2015北海道 札幌my sql勉強会_波多野_r3
Osc2015北海道 札幌my sql勉強会_波多野_r3
Nobuhiro Hatano
?
[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang
[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang
[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang
CODE BLUE
?
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Mikiya Okuno
?
第9回 大規模データを用いたデータフレーム操作実習(3)
第9回 大規模データを用いたデータフレーム操作実習(3)第9回 大規模データを用いたデータフレーム操作実習(3)
第9回 大規模データを用いたデータフレーム操作実習(3)
Wataru Shito
?
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
Yuto Takei
?
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
Satoshi Yamada
?
20150329 tokyo r47
20150329 tokyo r4720150329 tokyo r47
20150329 tokyo r47
Takashi Kitano
?
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫
Insight Technology, Inc.
?
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
Kensuke Nagae
?
MySQL 5.7が魅せる新しい運用の形
MySQL 5.7が魅せる新しい運用の形MySQL 5.7が魅せる新しい運用の形
MySQL 5.7が魅せる新しい運用の形
yoku0825
?
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
Satoshi Hirata
?
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデル
Mikiya Okuno
?
Q4 Mでメッセージキュー
Q4 MでメッセージキューQ4 Mでメッセージキュー
Q4 Mでメッセージキュー
ngi group.
?
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
Yoshiyuki Asaba
?
厂蚕尝チューニング勉强会资料
厂蚕尝チューニング勉强会资料厂蚕尝チューニング勉强会资料
厂蚕尝チューニング勉强会资料
Shinnosuke Akita
?
道具を磨くことのススメ
道具を磨くことのススメ道具を磨くことのススメ
道具を磨くことのススメ
Kenichi Masuda
?
搁ユーサ?のための蝉辫补谤办入门
搁ユーサ?のための蝉辫补谤办入门搁ユーサ?のための蝉辫补谤办入门
搁ユーサ?のための蝉辫补谤办入门
Shintaro Fukushima
?
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
Takahiro Iwase
?
Osc2015北海道 札幌my sql勉強会_波多野_r3
Osc2015北海道 札幌my sql勉強会_波多野_r3Osc2015北海道 札幌my sql勉強会_波多野_r3
Osc2015北海道 札幌my sql勉強会_波多野_r3
Nobuhiro Hatano
?
[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang
[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang
[CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack Tang
CODE BLUE
?
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Mikiya Okuno
?
第9回 大規模データを用いたデータフレーム操作実習(3)
第9回 大規模データを用いたデータフレーム操作実習(3)第9回 大規模データを用いたデータフレーム操作実習(3)
第9回 大規模データを用いたデータフレーム操作実習(3)
Wataru Shito
?
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
Yuto Takei
?
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
Satoshi Yamada
?

Mroongaを使ったときの MySQLの制限との戦い