石橋"rubyholic"秀仁です。

From: とみたまさひろ <tommy / tmtm.org>
Subject: [ruby-list:22454] Re: w3ml

> > > MySQL を使うように設定すれば、SQL の select を使うようになってます。
> 
> > 確認しました。w3ml_mysql.rbのsearch()ですね。失礼しました。
> > ところで、スピードはどちらが速いのでしょうか?
> 
> 検索速度は確認してません…(^^;

なるへそ :-)

> Ruby 単独だと CGI を実行する度にファイルをメモリに読み込んで検索しないと
> いけませんが、MySQL では MySQL サーバがある程度キャッシュするので、平均
> すれば、MySQL の方が速いかもしれません。

ですよね。DBの得意分野ですね。

> ただ日付などを指定しないで全メッセージを対象とした検索では、メッセージ数
> が大規模になれば、キャッシュの効果は薄れてしまうと思うので、なんとも言え
> ません。

となると、大規模DBでの全文検索には、namazuとの複合構成ですね。
これだとnamazuのキャッシュが効くので、かなり効果ありそう。

> そんなに多くないメッセージ数(数百程度)では、ツリー構造を作る速度は 
> Ruby 単独の方が速かったです。Ruby はヘッダ部をメモリに読み込んでからツリー
> を生成するのに対し、MySQL では1メッセージ毎に SQL を発行して取り出してい
> るので、そのオーバーヘッドが大きいためだと思います。
> 
> もっと大規模な ML であれば、逆転するかもしれません。

スレッドツリーの生成処理ですが、運用時は新着のメールを追加登録
していくだけですから、この処理の重さはあまり問題になりませんよね。
規模が問題になるのは、初回に大量登録をする場合でしょうか。
結局、この点でDBがとくに不利だというわけでもなさそうですが・・・

> 実測してみりゃいいんですけど、簡単に試してみたら、どちらを使ってもイライ
> ラする程遅くなかったので、ちゃんと調べてないです… (^^;;

運用時の状況を総合的に考えると、DB使用が有利なようですね。

ところで、ここ
> 使用例はこちら → http://www.mysql.gr.jp/mysqlml/
ではMySQL使用の設定ですか?

--
Hideto "rubyholic" ISHIBASHI
http://www.rr.iij4u.or.jp/~hideto-i/