« 本の護り手 | メイン | SSAliveのテストプレイ終了 »

2005年09月27日

JSprite vs SQLite [Perl]

Perl で通常のファイルシステムを使ったデータベースを用意するとき、幾つか選択肢がある。今まではPure PerlのDBエンジンである JSprite を使ってきたのだけれども、SQLiteのほうがいいような気がしてきた。

まず、保存ファイルが単一で済むというメリットがある。さらにランダムアクセス形成なのでI/Oにかかる時間が少ない。実測結果を見ると、MySQLよりもかなり早いように見える。JSpriteやText::CSVだと、ファイル単位で管理されるためどうしても遅くなりがちだ。

さらに、細かい点だがフィールド名の大文字小文字を区別するという点も良かった。DBD::Spriteを使うと全て大文字化されてしまうので不便だった。

しかし逆にauto_increment構文に対応していないというデメリットもある。primary keyにNULL値を入れると自動でインクリメントされるが、そうなるとSQL文のMySQLとの互換性が取れなくなってしまう。結果的に、MySQL用とSQLite用にSQLコードを使い分けなければならないようだ。

SQLiteにはデータ型が実質存在しないらしいのだが、実害は無いのだろうか。

もう少し色々調べてみようかと思う。

投稿者 : 16:05 | コメント (0) | トラックバック (0)

トラックバック

このエントリーのトラックバックURL:
http://totora.jpn.org/mt/mt-tb.cgi/44

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)