メッセージ。 - Haskellでのデータベース(ストレージIO)

# Haskellでのデータベース(ストレージIO)

rssmixで、たくさんサイトを登録しているユーザーのページ表示が非常に重い。数日前から調べているのだけど、どうやらDBとして使っているSQLiteが重い模様。データ量はせいぜい2~3万件なのだけど、この程度がスケールしないのかなぁ。DBのチューニングも試してみたけど、うまくいかない。

それで、SQLiteの代わりにMySQLを使えないか試してみた。rssmixはHaskellで組んでいて、DBとの接続にはHDBC(SQLiteとの接続はHDBC-SQLiteモジュール)を使っている。これを差し替えてHDBC-MySQLにすれば、上物のコードはほとんど変えずに、DBMSだけ替えることができるはずだ。

で、やってみたところ失敗。MySQLには接続できるのだけど、日本語が「?」に文字化けしてしまうのだ。どうしたらいいのかなぁ。HDBC-MySQLのコードを修正すればよさそうけど、いまのぼくのスキルではちょっと重い。ほかにもいろいろやりたいことがあるので、この案件にあまり時間をかけたくなくて焦っている。

そうだ、関連で調べたこと。DBMSではなくてもっとシンプルなDBM系を使うことも検討してみてるのだけど、Hackageには適当なライブラリが公開されていない。具体的にはGDBMを使いたいのだけど、GDBMを使うライブラリはなかった。それ以外に使えそうなのが数個あるにはあったが、たとえばTokyo Cabinetのライブラリをコンパイルしようとしたらエラーが出てうまくいかない。結局、Haskellでうまく使えるストレージIOライブラリが見つからない。うぐぐぐ。


2009-09-17 追記。その後、PostgreSQLがうまく使えそうだと分かったので、rssmixではPostgreSQLを使うことになりそうです。→その後の話
2009-09-17 00:24:19 / ふじさわ / Comment: 0 / Trackback: 0

Comment

コメント投稿機能は無効化されています。

Trackback

TrackBack投稿機能は無効化されています。