KOF 2008での「はてな流大規模データ処理」by id:naoyaさんの発表に関して質問したときのメモ
KOF 2008 の発表資料 - naoyaのはてなダイアリー
こちらの発表に関して、後日質問した時のメモ。
- 全文検索のインデックス生成等の為、MySQLのデータをバッチ処理でdumpしている、という点について。
- 全文検索について。Sedueを使っているが、既にLuceneなどもあるが?
- Senna -> 以前試したが、segvしてMySQLごと落ちたりして使えなかった。今は良くなってると思うけど。インデックスがでかくなってメモリに載せられなかったり。
- Lucene -> 試したが、目的の用途では遅くて使えなかった。融通も効きにくい。それにJavaだし。
- HyperEstraier -> 試してみていない模様?mixiとかでも使ってるのでいい感じなのかな、とのこと。
- Sedue -> Suffix Arrayならではの弱点もある。(具体的な話は忘れた。)
- 検索は自分で実装するのが良いよ!
- memcachedは結構使ってる?
- 勿論使ってるけど、そこまで使いまくってるというほどでもない。
- 格納するデータはケースバイケースで。あんまり凝ったことをしようとし過ぎるとまたバッドノウハウの世界に…。
- DBアクセスも、OSのキャッシュにデータがちゃんと載ってれば全然速い。
以上、特に公表してマズそうな内容も無さそうだし、もしかすると何か参考になる人がいるかも知れないので公開しておく。憶えている内容をそのまま書いただけで、間違ったことを書いている可能性もあるので注意。
ちなみに、id:kazuhookuさんのコメントで「〜OS のバッファの話からすると、myisam なん?」とあったが、例えばinnoDBだとOSのバッファが有効でないという事なんだろうか。実践ハイパフォーマンスMySQL読めば分るかな?
しかしJOINもトランザクションも要らないなら、もうそこはRDBMS捨てても良さそうな気もするんですが、本当に完全にJOIN使わないという訳でもなく、色々あってなかなか捨てられないもんなんですね。