SlideShare a Scribd company logo
1 of 17
Download to read offline
InnoDBの全文検索を使ってみた
自己紹介
2
• 中村範夫(なかむらのりお)
• 2013年(株)インサイトテクノロジー 入社
• プロダクトコンサルティング事業部所属
• 大阪で10年以上システム開発に従事した後に現社へ
• 扱ったデータベース経験年数では、Oracle、SQL Server、MySQLの順
アジェンダ
3
• InnoDBの全文検索を使い始めた経緯
• InnoDBの全文検索を試してみる
• INNODB_FT_INDEX_TABLEを使って分析してみる
• まとめ
InnoDBの全文検索を使い始めた経緯
4
• 社内製品開発
• SNMPから上がってくる膨大な警告メッセージを全文検索したい
• 全文検索だけじゃなくて分析したい
• MySQL 5.7 登場!
– InnoDB全文検索の日本語対応
経緯
MySQL InnoDBを使っての全文検索
5
• 2種類の わかち分かち書き をサポート
• N-gram(デフォルト)
• MeCab(形態素解析)※プラグインのインストールが必要
• 分かち書きされた結果もデータディクショナリで簡単参照
( INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE)
MySQL InnoDB全文検索の特徴
CREATE TABLE ALT_TAB(
FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
HOST_NAME VARCHAR(20),
MSG VARCHAR(400),
INS_TIME datetime,
FULLTEXT INDEX ftsidx (MSG) WITH PARSER mecab
)ENGINE=InnoDB CHARACTER SET utf8;
対象データを分かち書きした結果( N-Gram と Mecab の比較)
6
N-Gramは設定した(デフォルト2)文字数でのみ分割するのに対し、
Mecabは単語毎に分割し、辞書サイズも節約でき性能もよさそう
例)192.10.9.26: IF-MIB/ifHCInOctets_psec(1)=400 ※SNMPエラーメッセージ
まずは実際の検索性能をMecabで実施
7
mysql> select SQL_NO_CACHE count(*) from ALT_100
-> where match (MSG) against('使用時間' IN BOOLEAN MODE);
+------------+
| count(MSG) |
+------------+
| 9465 |
+------------+
1 row in set (0.73 sec)
mysql> select SQL_NO_CACHE count(*) from ALT_1000
-> where match (MSG) against('使用時間' IN BOOLEAN MODE);
+------------+
| count(MSG) |
+------------+
| 94650 |
+------------+
1 row in set (30.70 sec)
検索処理性能は、およそ100万件で1秒程度、1000万件で30秒程度
※母数に対し1%程度のデータがヒットする検索条件で実施
データ インデックス
100万件 500 57
1000万件 4200 473
総件数
InnoDB Mecab
(MB)
分かち書きした結果のMySQLでの見え方
8
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE ORDER BY doc_id, position LIMIT 10;
+-------------------+--------------+-------------+-----------+--------+----------+
| WORD | FIRST_DOC_ID | LAST_DOC_ID | DOC_COUNT | DOC_ID | POSITION |
+-------------------+--------------+-------------+-----------+--------+----------+
| 192 | 1 | 22785 | 21846 | 1 | 0 |
| 10 | 1 | 19652 | 18931 | 1 | 4 |
| 100 | 1 | 383964 | 11774 | 1 | 7 |
| 200 | 1 | 383935 | 10885 | 1 | 10 |
| ip | 1 | 29784 | 21845 | 1 | 14 |
| mib | 1 | 22785 | 21846 | 1 | 18 |
| ipifstatsinoctets | 1 | 383899 | 18412 | 1 | 22 |
| psec | 1 | 22785 | 21846 | 1 | 40 |
| )= | 1 | 21971 | 21846 | 1 | 48 |
| 15 | 1 | 374036 | 21459 | 1 | 50 |
+-------------------+--------------+-------------+-----------+--------+----------+
10 rows in set (18.39 sec)
分かち書き結果(転置インデックスの中身)の確認
分析にも使えそうな予感!
分かち書きの結果データディクショナリと実テーブルとの関係
9
DOC_IDが外部キーとして使える!
※一意な識別子として、FTS_DOC_ID列を明示的に作成することを推奨とマニュアルにもあります。
分析用SQL:時間を指定して上位ワードを取得
10
mysql> -- 時間を指定して特定の日のMSGに含まれるワードの一覧上位30件を取得
mysql> SELECT a.WORD,
-> COUNT(*)
-> FROM INNODB_FT_INDEX_TABLE AS a -- 分かち結果テーブル
-> INNER JOIN ALT_TAB AS b -- ALTテーブル
-> ON a.DOC_ID = b.FTS_DOC_ID
-> WHERE b.INS_TIME BETWEEN '2016-05-23 01:00:00' AND '2016-05-23 01:59:59'
-> GROUP BY b.HOST_NAME, a.word
-> ORDER BY COUNT(*) DESC
-> LIMIT 30;
+--------------+----------+
| WORD | COUNT(*) |
+--------------+----------+
| fan | 92 |
| threshold | 72 |
| over | 72 |
| psec | 72 |
| 192 | 72 |
| 10 | 71 |
| 168 | 71 |
| over | 71 |
| psec | 71 |
| threshold | 67 |
| 90 | 67 |
| over | 67 |
| psec | 67 |
IPアドレスが分割されて残念な結果になっているの
で、辞書に登録してみよう!
Mecab 辞書の登録方法
11
[root@Nlocalhost ~]# cd /usr/lib64/mysql/mecab/dic/ipadic_utf-8
[root@localhost ipadic_utf-8]# /usr/libexec/mecab/mecab-dict-index -d ./ -u user.dic -f utf8 -t utf8 user-dic.csv
reading user-dic.csv ... 12
emitting double-array: 100% |###########################################|
done!
[root@localhost ipadic_utf-8]# ls -ltr
合計 51840
-rw-r--r--. 1 root root 6241 5月 11 20:36 2016 rewrite.def
-rw-r--r--. 1 root root 49199027 5月 11 20:36 2016 sys.dic
-rw-r--r--. 1 root root 5690 5月 11 20:36 2016 unk.dic
-rw-r--r--. 1 root root 1477 5月 11 20:36 2016 pos-id.def
-rw-r--r--. 1 root root 55910 5月 11 20:36 2016 left-id.def
-rw-r--r--. 1 root root 693 5月 11 20:36 2016 dicrc
-rw-r--r--. 1 root root 262496 5月 11 20:36 2016 char.bin
-rw-r--r--. 1 root root 55910 5月 11 20:36 2016 right-id.def
-rw-r--r--. 1 root root 3463716 5月 11 20:36 2016 matrix.bin
-rw-r--r--. 1 root root 1073 5月 11 20:36 2016 user-dic.csv
-rw-r--r--. 1 root root 4125 5月 20 10:32 2016 user.dic
mecab-dict-index コマンでcsvファイルを元に
ユーザー辞書を作成
できあがった、user.dicをmecabrcファイルに追記
mecab-dict-indexコマンドで辞書を作成する
表層形 左文脈ID 右文脈ID コスト 品詞 品詞細分類1 品詞細分類2 品詞細分類3 活用形 活用型 原形 読み 発音
172.16.32.1 * * 10000 名詞 一般 * * * * 172.16.32.1 172.16.32.1 172.16.32.1
icmpInEchoReps * * 10000 名詞 一般 * * * * icmpInEchoReps icmpInEchoReps icmpInEchoReps
icmpInEchos * * 10000 名詞 一般 * * * * icmpInEchos icmpInEchos icmpInEchos
追加する辞書フォーマット サンプル
Mecab 辞書登録後の分かち書き結果
12
辞書登録前はIPアドレスが分割される
辞書登録後はIPアドレスが分割されない
分析用SQL:時間を指定して上位ワードを取得
13
mysql> -- 時間を指定して特定の日のMSGに含まれるワードの一覧上位30件を取得
mysql> SELECT a.WORD,
-> COUNT(*)
-> FROM INNODB_FT_INDEX_TABLE AS a -- 分かち結果テーブル
-> INNER JOIN ALT_TAB AS b -- ALTテーブル
-> ON a.DOC_ID = b.FTS_DOC_ID
-> WHERE b.INS_TIME BETWEEN '2016-05-23 01:00:00' AND '2016-05-23 01:59:59'
-> GROUP BY b.HOST_NAME, a.word
-> ORDER BY COUNT(*) DESC
-> LIMIT 30;
+-------------------+----------+
| WORD | COUNT(*) |
+-------------------+----------+
| fan | 572 |
| threshold | 351 |
| hardware_resource | 351 |
| 192.168.10.83 | 351 |
| over | 351 |
| tach | 286 |
| 6500 | 78 |
| 5900 | 65 |
| 6700 | 52 |
IPアドレスが分割されなくなったが、意味のない数
値のみ(しきい値の実数等)が邪魔
除外リスト(STOPWORD)について
14
分かち書きさせたくない除外リスト(STOPWORD)に登録する方法
/etc/my.cnf ファイルに以下の設定を追記
# for stop words
innodb_ft_server_stopword_table=‘test/STOP_WORDS‘
自動判定したしきい値等の実数を除外したい場合(1~1000の整数値等)、MySQLの全文検索機能に
は、STOPWORDテーブルが用意されている。予め予測できる数値等はここに登録しておくことで、
分かちの除外対象とすることができる。次に紹介するSQLの検索側で除外する方法に比べ、INSERT時
に除外できるので、分かち結果テーブルの件数を抑えられるメリットがある。以下その方法。
-- STOPWORDテーブルに単語登録
INSERT INTO test.STOP_WORDS VALUES
(1),(2),(3),…(1000);
正規表現によりSQLで数値のみや記号を除外する
15
-- MySQLでは正規表現が使えるので記号のみ、数値のみのワードは除外する
SELECT a.WORD as WORD
, count(*) as cnt
FROM TFM_ALT_20160525_FTIDX AS a
WHERE a.WORD NOT REGEXP ‘^[!-/:-@[-`{-~0-9]+$’ -- 数字のみ、記号のみは除外
GROUP BY a.WORD
ORDER BY count(*) DESC LIMIT 100
自動判定したしきい値等の実数は、動的に変更するため、全てを予め辞
書に登録しておくことは不可能なので、SQL側で除外した
分析用SQL:前日にはなかったエラーワード一覧
16
mysql> SELECT x.WORD
-> , x.cnt as day25
-> FROM (-- 当日の頻出上位100件のワード一覧
-> SELECT a.WORD as WORD, count(*) as cnt
-> FROM FTIDX_20160525 AS a -- INNODB_FT_INDEX_TABLEを日ごとに物理化したテーブル
-> WHERE a.WORD NOT REGEXP ‘^[!-/:-@[-`{-~0-9]+$’
-> GROUP BY a.WORD
-> ORDER BY count(*) DESC LIMIT 100) AS x
-> LEFT JOIN (
-> -- 前日の頻出上位100件のワード一覧
-> SELECT a.WORD as WORD, count(*) as cnt
-> FROM FTIDX_20160524 AS a -- INNODB_FT_INDEX_TABLEを日ごとに物理化したテーブル
-> WHERE a.WORD NOT REGEXP ‘^[!-/:-@[-`{-~0-9]+$’
-> GROUP BY a.WORD
-> ORDER BY count(*) DESC LIMIT 100) y
-> ON x.WORD = y.WORD
-> WHERE y.cnt IS NULL -- 前日(day24)には存在しなかった
-> ORDER BY x.cnt DESC;
+------------------------------+-------+
| WORD | day25 |
+------------------------------+-------+
| 172.16.34.89 | 1027 |
| 172.16.34.65 | 899 |
| 172.16.34.87 | 886 |
| ipsystemstatshcinmcastpkts | 700 |
| ipsystemstatsinmcastpkts | 700 |
| ipsystemstatshcinoctets | 680 |
| ipsystemstatsinoctets | 680 |
| ipsystemstatshcinmcastoctets | 628 |
| ipsystemstatsinmcastoctets | 628 |
・
・
MySQL InnoDBを使ってみての感想
17
• MySQL InnoDB 全文検索
• Ver5.7以上を使っているなら、日本語全文検索は直ぐに使える
• 対象データに見合うトークナイザー(N-gram or MeCab)の選択が重要
• Mecabの場合
• 性能はデータに大きく依存するがそこそこ使える
• 転置インデックスのデータディクショナリは有用
• 辞書と STOPWORD の活用により分かち書きの調整が可能
• 使いどころは?
• 規模:全体の件数が数100万件程度まで、サイズは数GB~数十GB程度
• 向いていると思うシステム:
• 例): グループウェア(社内メール)、チケット管理システム(redmine)等

More Related Content

What's hot

大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れるShuhei Iitsuka
 
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-1020171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10Toshi Harada
 
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-1020171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10Toshi Harada
 
わたしを支える技術
わたしを支える技術わたしを支える技術
わたしを支える技術yoku0825
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜Takahiro Inoue
 
Handlerさんコンニチワ
HandlerさんコンニチワHandlerさんコンニチワ
Handlerさんコンニチワyoku0825
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~Akihiro Kuwano
 
Lt ingaoho-jsonb+postgeres fdw
Lt ingaoho-jsonb+postgeres fdwLt ingaoho-jsonb+postgeres fdw
Lt ingaoho-jsonb+postgeres fdwToshi Harada
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索Masahiko Sawada
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索yoyamasaki
 
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料kasaharatt
 
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsqlToshi Harada
 
Postgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etcPostgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etckasaharatt
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法Yohei Azekatsu
 
How to backup your mroonga database?
How to backup your mroonga database?How to backup your mroonga database?
How to backup your mroonga database?yoku0825
 
OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料kasaharatt
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技yoku0825
 

What's hot (20)

大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる大規模CSVをMySQLに入れる
大規模CSVをMySQLに入れる
 
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-1020171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10
 
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-1020171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10
 
わたしを支える技術
わたしを支える技術わたしを支える技術
わたしを支える技術
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
 
ヤフーのRDBと最新のMySQLの検証結果#yjdsw3
ヤフーのRDBと最新のMySQLの検証結果#yjdsw3ヤフーのRDBと最新のMySQLの検証結果#yjdsw3
ヤフーのRDBと最新のMySQLの検証結果#yjdsw3
 
Handlerさんコンニチワ
HandlerさんコンニチワHandlerさんコンニチワ
Handlerさんコンニチワ
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
 
Lt ingaoho-jsonb+postgeres fdw
Lt ingaoho-jsonb+postgeres fdwLt ingaoho-jsonb+postgeres fdw
Lt ingaoho-jsonb+postgeres fdw
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索
 
MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索MySQL 5.7 InnoDB 日本語全文検索
MySQL 5.7 InnoDB 日本語全文検索
 
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
20140531 JPUGしくみ+アプリケーション分科会 勉強会資料
 
20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql20171103 pg con-jp-lt-plpgsql
20171103 pg con-jp-lt-plpgsql
 
Postgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etcPostgre sql9.3 newlockmode_and_etc
Postgre sql9.3 newlockmode_and_etc
 
シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
JSONBはPostgreSQL9.5でいかに改善されたのか
JSONBはPostgreSQL9.5でいかに改善されたのかJSONBはPostgreSQL9.5でいかに改善されたのか
JSONBはPostgreSQL9.5でいかに改善されたのか
 
How to backup your mroonga database?
How to backup your mroonga database?How to backup your mroonga database?
How to backup your mroonga database?
 
OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料OSC沖縄2014_JPUG資料
OSC沖縄2014_JPUG資料
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
 

Viewers also liked

20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...Insight Technology, Inc.
 
20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一
20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一
20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一Insight Technology, Inc.
 
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...Insight Technology, Inc.
 
20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹
20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹
20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹Insight Technology, Inc.
 
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...Insight Technology, Inc.
 
20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史
20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史
20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史Insight Technology, Inc.
 
[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...
[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...
[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...Insight Technology, Inc.
 
Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Kouhei Sutou
 
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...Insight Technology, Inc.
 
Migr8.rb チュートリアル
Migr8.rb チュートリアルMigr8.rb チュートリアル
Migr8.rb チュートリアルkwatch
 
今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQLSoudai Sone
 
HAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたHAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたadachij2002
 
Ivsctonightandday2016winter moringsession awsreinvent2016recap
Ivsctonightandday2016winter moringsession awsreinvent2016recapIvsctonightandday2016winter moringsession awsreinvent2016recap
Ivsctonightandday2016winter moringsession awsreinvent2016recapTadashi Okazaki
 
初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜
初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜
初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜Takeshi Wakamatsu
 
【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループ
【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループ【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループ
【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループAPCommunications-recruit
 
レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望Masaki Nakagawa
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo NagataInsight Technology, Inc.
 
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介IBM Analytics Japan
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 

Viewers also liked (20)

20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
 
20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一
20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一
20161213_FinTech時代に求められるDB開発とセキュリティ by 株式会社インサイトテクノロジー 阿部健一
 
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
[data analytics showcase] B16: Live Demo! データ分析基盤を支えるデータレプリケーション技術とデータワークロード分...
 
20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹
20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹
20161213_DEMOで見せます!コンプライアンス遵守におけるデータマスキングの必要性と実現方法徹底解説! by 株式会社インサイトテクノロジー 益秀樹
 
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
 
20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史
20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史
20161005_Oracle/SQL Serverの AWS への移行 ~その選択肢と注意事項~ by 株式会社インサイトテクノロジー 宮地敬史
 
[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...
[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...
[data analytics showcase] A15: デジタルデータの可視化基盤「ENdoSnipe」を使った、システムトラブルの未然防止、経営判...
 
Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!
 
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
[db tech showcase Tokyo 2016] E34: Oracle SE - RAC, HA and Standby are Still ...
 
Migr8.rb チュートリアル
Migr8.rb チュートリアルMigr8.rb チュートリアル
Migr8.rb チュートリアル
 
今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL
 
HAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたHAWQをCDHで動かしてみた
HAWQをCDHで動かしてみた
 
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
 
Ivsctonightandday2016winter moringsession awsreinvent2016recap
Ivsctonightandday2016winter moringsession awsreinvent2016recapIvsctonightandday2016winter moringsession awsreinvent2016recap
Ivsctonightandday2016winter moringsession awsreinvent2016recap
 
初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜
初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜
初心者がAWSでWebサービスを始めるまで 〜たった3ステップでWebページは公開できる〜
 
【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループ
【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループ【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループ
【自社プロダクト開発エンジニア募集中】エーピーコミュニケーションズ 先進開発グループ
 
レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望レシピブログのサービス設計と今後の展望
レシピブログのサービス設計と今後の展望
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
 
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
最上級の簡易性を備えたオープンソースDBクラウド基盤 Composeのご紹介
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 

Similar to 20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫

20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jpyoyamasaki
 
Index shotgun on mysql5.6
Index shotgun on mysql5.6Index shotgun on mysql5.6
Index shotgun on mysql5.6yoku0825
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)yoyamasaki
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
 
MySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMikiya Okuno
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
20181110 fok2018-pg-extension
20181110 fok2018-pg-extension20181110 fok2018-pg-extension
20181110 fok2018-pg-extensionToshi Harada
 
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension20190119 aws-study-pg-extension
20190119 aws-study-pg-extensionToshi Harada
 
MySQL clients
MySQL clientsMySQL clients
MySQL clientsyoku0825
 
Jpug study-pq 20170121
Jpug study-pq 20170121Jpug study-pq 20170121
Jpug study-pq 20170121Kosuke Kida
 
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014Shigeru Hanada
 
Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~Daiki Mogmet Ito
 
PostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQLPostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQLtoshihiro_kitagawa
 
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べblogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べMasahiro Nagano
 
Let's scale-out PostgreSQL using Citus (Japanese)
Let's scale-out PostgreSQL using Citus (Japanese)Let's scale-out PostgreSQL using Citus (Japanese)
Let's scale-out PostgreSQL using Citus (Japanese)Noriyoshi Shinoda
 
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressDevelop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressAkinari Tsugo
 
Rユーザのためのspark入門
Rユーザのためのspark入門Rユーザのためのspark入門
Rユーザのためのspark入門Shintaro Fukushima
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編Miki Shimogai
 
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料yoyamasaki
 

Similar to 20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫 (20)

20160929 inno db_fts_jp
20160929 inno db_fts_jp20160929 inno db_fts_jp
20160929 inno db_fts_jp
 
Index shotgun on mysql5.6
Index shotgun on mysql5.6Index shotgun on mysql5.6
Index shotgun on mysql5.6
 
MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)MySQL 5.7 InnoDB 日本語全文検索(その2)
MySQL 5.7 InnoDB 日本語全文検索(その2)
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
MySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMySQL 5.5 Update #denatech
MySQL 5.5 Update #denatech
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
20181110 fok2018-pg-extension
20181110 fok2018-pg-extension20181110 fok2018-pg-extension
20181110 fok2018-pg-extension
 
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension20190119 aws-study-pg-extension
20190119 aws-study-pg-extension
 
MySQL clients
MySQL clientsMySQL clients
MySQL clients
 
Jpug study-pq 20170121
Jpug study-pq 20170121Jpug study-pq 20170121
Jpug study-pq 20170121
 
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
 
Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~Oracle In-database-archiving ~Oracleでの論理削除~
Oracle In-database-archiving ~Oracleでの論理削除~
 
PostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQLPostgreSQL使いのエンジニアから見たMySQL
PostgreSQL使いのエンジニアから見たMySQL
 
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べblogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
 
Let's scale-out PostgreSQL using Citus (Japanese)
Let's scale-out PostgreSQL using Citus (Japanese)Let's scale-out PostgreSQL using Citus (Japanese)
Let's scale-out PostgreSQL using Citus (Japanese)
 
20150630_MySQL勉強会
20150630_MySQL勉強会20150630_MySQL勉強会
20150630_MySQL勉強会
 
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressDevelop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
 
Rユーザのためのspark入門
Rユーザのためのspark入門Rユーザのためのspark入門
Rユーザのためのspark入門
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
MySQL最新情報 ※2015年9月5日「第1回 関西DB勉強会」での発表資料
 

More from Insight Technology, Inc.

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Insight Technology, Inc.
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明するInsight Technology, Inc.
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーンInsight Technology, Inc.
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとInsight Technology, Inc.
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームInsight Technology, Inc.
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門Insight Technology, Inc.
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー Insight Technology, Inc.
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?Insight Technology, Inc.
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Insight Technology, Inc.
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?Insight Technology, Inc.
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...Insight Technology, Inc.
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 Insight Technology, Inc.
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Insight Technology, Inc.
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]Insight Technology, Inc.
 

More from Insight Technology, Inc. (20)

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
Docker and the Oracle Database
Docker and the Oracle DatabaseDocker and the Oracle Database
Docker and the Oracle Database
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
 
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL ServicesLunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
 

Recently uploaded

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 

Recently uploaded (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

20160929_InnoDBの全文検索を使ってみた by 株式会社インサイトテクノロジー 中村範夫

  • 2. 自己紹介 2 • 中村範夫(なかむらのりお) • 2013年(株)インサイトテクノロジー 入社 • プロダクトコンサルティング事業部所属 • 大阪で10年以上システム開発に従事した後に現社へ • 扱ったデータベース経験年数では、Oracle、SQL Server、MySQLの順
  • 4. InnoDBの全文検索を使い始めた経緯 4 • 社内製品開発 • SNMPから上がってくる膨大な警告メッセージを全文検索したい • 全文検索だけじゃなくて分析したい • MySQL 5.7 登場! – InnoDB全文検索の日本語対応 経緯
  • 5. MySQL InnoDBを使っての全文検索 5 • 2種類の わかち分かち書き をサポート • N-gram(デフォルト) • MeCab(形態素解析)※プラグインのインストールが必要 • 分かち書きされた結果もデータディクショナリで簡単参照 ( INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE) MySQL InnoDB全文検索の特徴 CREATE TABLE ALT_TAB( FTS_DOC_ID BIGINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, HOST_NAME VARCHAR(20), MSG VARCHAR(400), INS_TIME datetime, FULLTEXT INDEX ftsidx (MSG) WITH PARSER mecab )ENGINE=InnoDB CHARACTER SET utf8;
  • 6. 対象データを分かち書きした結果( N-Gram と Mecab の比較) 6 N-Gramは設定した(デフォルト2)文字数でのみ分割するのに対し、 Mecabは単語毎に分割し、辞書サイズも節約でき性能もよさそう 例)192.10.9.26: IF-MIB/ifHCInOctets_psec(1)=400 ※SNMPエラーメッセージ
  • 7. まずは実際の検索性能をMecabで実施 7 mysql> select SQL_NO_CACHE count(*) from ALT_100 -> where match (MSG) against('使用時間' IN BOOLEAN MODE); +------------+ | count(MSG) | +------------+ | 9465 | +------------+ 1 row in set (0.73 sec) mysql> select SQL_NO_CACHE count(*) from ALT_1000 -> where match (MSG) against('使用時間' IN BOOLEAN MODE); +------------+ | count(MSG) | +------------+ | 94650 | +------------+ 1 row in set (30.70 sec) 検索処理性能は、およそ100万件で1秒程度、1000万件で30秒程度 ※母数に対し1%程度のデータがヒットする検索条件で実施 データ インデックス 100万件 500 57 1000万件 4200 473 総件数 InnoDB Mecab (MB)
  • 8. 分かち書きした結果のMySQLでの見え方 8 mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE ORDER BY doc_id, position LIMIT 10; +-------------------+--------------+-------------+-----------+--------+----------+ | WORD | FIRST_DOC_ID | LAST_DOC_ID | DOC_COUNT | DOC_ID | POSITION | +-------------------+--------------+-------------+-----------+--------+----------+ | 192 | 1 | 22785 | 21846 | 1 | 0 | | 10 | 1 | 19652 | 18931 | 1 | 4 | | 100 | 1 | 383964 | 11774 | 1 | 7 | | 200 | 1 | 383935 | 10885 | 1 | 10 | | ip | 1 | 29784 | 21845 | 1 | 14 | | mib | 1 | 22785 | 21846 | 1 | 18 | | ipifstatsinoctets | 1 | 383899 | 18412 | 1 | 22 | | psec | 1 | 22785 | 21846 | 1 | 40 | | )= | 1 | 21971 | 21846 | 1 | 48 | | 15 | 1 | 374036 | 21459 | 1 | 50 | +-------------------+--------------+-------------+-----------+--------+----------+ 10 rows in set (18.39 sec) 分かち書き結果(転置インデックスの中身)の確認 分析にも使えそうな予感!
  • 10. 分析用SQL:時間を指定して上位ワードを取得 10 mysql> -- 時間を指定して特定の日のMSGに含まれるワードの一覧上位30件を取得 mysql> SELECT a.WORD, -> COUNT(*) -> FROM INNODB_FT_INDEX_TABLE AS a -- 分かち結果テーブル -> INNER JOIN ALT_TAB AS b -- ALTテーブル -> ON a.DOC_ID = b.FTS_DOC_ID -> WHERE b.INS_TIME BETWEEN '2016-05-23 01:00:00' AND '2016-05-23 01:59:59' -> GROUP BY b.HOST_NAME, a.word -> ORDER BY COUNT(*) DESC -> LIMIT 30; +--------------+----------+ | WORD | COUNT(*) | +--------------+----------+ | fan | 92 | | threshold | 72 | | over | 72 | | psec | 72 | | 192 | 72 | | 10 | 71 | | 168 | 71 | | over | 71 | | psec | 71 | | threshold | 67 | | 90 | 67 | | over | 67 | | psec | 67 | IPアドレスが分割されて残念な結果になっているの で、辞書に登録してみよう!
  • 11. Mecab 辞書の登録方法 11 [root@Nlocalhost ~]# cd /usr/lib64/mysql/mecab/dic/ipadic_utf-8 [root@localhost ipadic_utf-8]# /usr/libexec/mecab/mecab-dict-index -d ./ -u user.dic -f utf8 -t utf8 user-dic.csv reading user-dic.csv ... 12 emitting double-array: 100% |###########################################| done! [root@localhost ipadic_utf-8]# ls -ltr 合計 51840 -rw-r--r--. 1 root root 6241 5月 11 20:36 2016 rewrite.def -rw-r--r--. 1 root root 49199027 5月 11 20:36 2016 sys.dic -rw-r--r--. 1 root root 5690 5月 11 20:36 2016 unk.dic -rw-r--r--. 1 root root 1477 5月 11 20:36 2016 pos-id.def -rw-r--r--. 1 root root 55910 5月 11 20:36 2016 left-id.def -rw-r--r--. 1 root root 693 5月 11 20:36 2016 dicrc -rw-r--r--. 1 root root 262496 5月 11 20:36 2016 char.bin -rw-r--r--. 1 root root 55910 5月 11 20:36 2016 right-id.def -rw-r--r--. 1 root root 3463716 5月 11 20:36 2016 matrix.bin -rw-r--r--. 1 root root 1073 5月 11 20:36 2016 user-dic.csv -rw-r--r--. 1 root root 4125 5月 20 10:32 2016 user.dic mecab-dict-index コマンでcsvファイルを元に ユーザー辞書を作成 できあがった、user.dicをmecabrcファイルに追記 mecab-dict-indexコマンドで辞書を作成する 表層形 左文脈ID 右文脈ID コスト 品詞 品詞細分類1 品詞細分類2 品詞細分類3 活用形 活用型 原形 読み 発音 172.16.32.1 * * 10000 名詞 一般 * * * * 172.16.32.1 172.16.32.1 172.16.32.1 icmpInEchoReps * * 10000 名詞 一般 * * * * icmpInEchoReps icmpInEchoReps icmpInEchoReps icmpInEchos * * 10000 名詞 一般 * * * * icmpInEchos icmpInEchos icmpInEchos 追加する辞書フォーマット サンプル
  • 13. 分析用SQL:時間を指定して上位ワードを取得 13 mysql> -- 時間を指定して特定の日のMSGに含まれるワードの一覧上位30件を取得 mysql> SELECT a.WORD, -> COUNT(*) -> FROM INNODB_FT_INDEX_TABLE AS a -- 分かち結果テーブル -> INNER JOIN ALT_TAB AS b -- ALTテーブル -> ON a.DOC_ID = b.FTS_DOC_ID -> WHERE b.INS_TIME BETWEEN '2016-05-23 01:00:00' AND '2016-05-23 01:59:59' -> GROUP BY b.HOST_NAME, a.word -> ORDER BY COUNT(*) DESC -> LIMIT 30; +-------------------+----------+ | WORD | COUNT(*) | +-------------------+----------+ | fan | 572 | | threshold | 351 | | hardware_resource | 351 | | 192.168.10.83 | 351 | | over | 351 | | tach | 286 | | 6500 | 78 | | 5900 | 65 | | 6700 | 52 | IPアドレスが分割されなくなったが、意味のない数 値のみ(しきい値の実数等)が邪魔
  • 14. 除外リスト(STOPWORD)について 14 分かち書きさせたくない除外リスト(STOPWORD)に登録する方法 /etc/my.cnf ファイルに以下の設定を追記 # for stop words innodb_ft_server_stopword_table=‘test/STOP_WORDS‘ 自動判定したしきい値等の実数を除外したい場合(1~1000の整数値等)、MySQLの全文検索機能に は、STOPWORDテーブルが用意されている。予め予測できる数値等はここに登録しておくことで、 分かちの除外対象とすることができる。次に紹介するSQLの検索側で除外する方法に比べ、INSERT時 に除外できるので、分かち結果テーブルの件数を抑えられるメリットがある。以下その方法。 -- STOPWORDテーブルに単語登録 INSERT INTO test.STOP_WORDS VALUES (1),(2),(3),…(1000);
  • 15. 正規表現によりSQLで数値のみや記号を除外する 15 -- MySQLでは正規表現が使えるので記号のみ、数値のみのワードは除外する SELECT a.WORD as WORD , count(*) as cnt FROM TFM_ALT_20160525_FTIDX AS a WHERE a.WORD NOT REGEXP ‘^[!-/:-@[-`{-~0-9]+$’ -- 数字のみ、記号のみは除外 GROUP BY a.WORD ORDER BY count(*) DESC LIMIT 100 自動判定したしきい値等の実数は、動的に変更するため、全てを予め辞 書に登録しておくことは不可能なので、SQL側で除外した
  • 16. 分析用SQL:前日にはなかったエラーワード一覧 16 mysql> SELECT x.WORD -> , x.cnt as day25 -> FROM (-- 当日の頻出上位100件のワード一覧 -> SELECT a.WORD as WORD, count(*) as cnt -> FROM FTIDX_20160525 AS a -- INNODB_FT_INDEX_TABLEを日ごとに物理化したテーブル -> WHERE a.WORD NOT REGEXP ‘^[!-/:-@[-`{-~0-9]+$’ -> GROUP BY a.WORD -> ORDER BY count(*) DESC LIMIT 100) AS x -> LEFT JOIN ( -> -- 前日の頻出上位100件のワード一覧 -> SELECT a.WORD as WORD, count(*) as cnt -> FROM FTIDX_20160524 AS a -- INNODB_FT_INDEX_TABLEを日ごとに物理化したテーブル -> WHERE a.WORD NOT REGEXP ‘^[!-/:-@[-`{-~0-9]+$’ -> GROUP BY a.WORD -> ORDER BY count(*) DESC LIMIT 100) y -> ON x.WORD = y.WORD -> WHERE y.cnt IS NULL -- 前日(day24)には存在しなかった -> ORDER BY x.cnt DESC; +------------------------------+-------+ | WORD | day25 | +------------------------------+-------+ | 172.16.34.89 | 1027 | | 172.16.34.65 | 899 | | 172.16.34.87 | 886 | | ipsystemstatshcinmcastpkts | 700 | | ipsystemstatsinmcastpkts | 700 | | ipsystemstatshcinoctets | 680 | | ipsystemstatsinoctets | 680 | | ipsystemstatshcinmcastoctets | 628 | | ipsystemstatsinmcastoctets | 628 | ・ ・
  • 17. MySQL InnoDBを使ってみての感想 17 • MySQL InnoDB 全文検索 • Ver5.7以上を使っているなら、日本語全文検索は直ぐに使える • 対象データに見合うトークナイザー(N-gram or MeCab)の選択が重要 • Mecabの場合 • 性能はデータに大きく依存するがそこそこ使える • 転置インデックスのデータディクショナリは有用 • 辞書と STOPWORD の活用により分かち書きの調整が可能 • 使いどころは? • 規模:全体の件数が数100万件程度まで、サイズは数GB~数十GB程度 • 向いていると思うシステム: • 例): グループウェア(社内メール)、チケット管理システム(redmine)等