[groonga-dev,04351] Re: Mroonga のテーブル格納について

Back to archive index

toshio_uchiy****@mirro***** toshio_uchiy****@mirro*****
2017年 4月 20日 (木) 15:20:39 JST


各務様

 お世話になります。内山と申します。
 実践的な解説ありがとうございます。勉強になります。
わたくしも、cron で一時間に一回、次の select 文を実行していました。

#vi select.sh
psql -f select.sql > /dev/null 2>&1 /dev/null

#vi select.sql
select count(*) from tablename;
select count(*) from tablename where lower( colname ) like lower( '%apple%'
)

一回やって、うまくいくと cron で定期実行してみたくなりますね。
 解説のメールは、かなり複雑な内容ですね。何か統一的な見解が
だせるものというより、個々のケースにあたって少しでも良い結果が
でるような打開策を見出していくというイメージです。
 わたくしは、以前、自分で、分かち書きしたファイルから btree
索引を作って日本語高速検索(図書館蔵書検索)を作ってみたことが
あるくらいです。それから、映像制作などをかじっていましたので、
全文検索についてもデータベースについても、常識がすっぽり
抜け落ちています。何かあったらご相談させていただければと思います。
 今後ともよろしくお願いします。

-----Original Message-----
From: groon****@lists*****
[mailto:groon****@lists*****] On Behalf Of 各務 洋
Sent: Wednesday, April 19, 2017 12:35 PM
To: 全文検索エンジンGroonga開発メーリングリスト
Subject: [groonga-dev,04347] Re: Mroonga のテーブル格納について

お世話になります、各務です。

>  実践的に cat * > /dev/nullが使われているなら、今後
> わたくしもこれを使いたいと思います。

念のためですが、これはだいぶ限定的な状況で、選択的に使用している。
という点を重ねて申し上げたいのです。

これを定期実行化してしまうと、下記の点が出てきます。

前提としては、キャッシュする(捨てる)アルゴリズムの方が優秀です。
逆に必要とされているものが捨てられる可能性が上がります。

cron だと実行時の時点でキャッシュに乗り切れるかは分からないです。

DB用のファイルを、稼働中に外部から触るのは良い策ではないと思います。

そもそも、Disk I/O を下げたいのに上げちゃいます。

という点が挙げられます。

手動でちょっと結果が出たから、定期実行してみたら実稼働でダメなや〜つって
罠かも知れません。もちろん私はやりました(笑)。


想定としては、内山さんの全文検索に時間がかかる状況が、あるタイミングで
発生する点が気がかりなのでしょうか?

であれば、select.sql に全文検索を追加されてみるのはいかがでしょうか?
理想は parser 通したら頻出になる語句がランダムだとより良い気がします。

これを定期的に回してそれでも失速するなら、やはりメモリが足りていない可
能性を疑います。

shared_buffers を下げるなど、Postgres が占有する物理メモリ量を下げてみ
て、改善するか改悪になるか確認はできると思いますが、足りていない時は大抵
何やっても悪くなる方にしか結果が出ない気がします。

物理メモリを積み増した環境で確認できると良いですね。

----
各務
kagam****@outwa*****

_______________________________________________
groonga-dev mailing list
groon****@lists*****
http://lists.osdn.me/mailman/listinfo/groonga-dev




groonga-dev メーリングリストの案内
Back to archive index