Bento2 with 80,000 records


Bento2/Bento2 for iPhoneを購入してから、せっせと手許のデータをDB化中。

CD/LPリスト
映像コンテンツリスト
鑑賞映画リスト
その他趣味関係のいろんなデータ等々

当初はリレーションを意識して、データの洗い出しとか真面目な設計手法(笑)に基づいて検討していたのだけど、そのうちバカらしくなってやめました(笑

勝手にBento2はファイルメーカーの下位製品のように考えてましたが実は全然違う製品。おそらくDBエンジン自体は同じものだろうけど、プロダクツとしては全く違うジャンル、異なる製品と考えた方が納得いきますね。

基本的にカード型データベースと考えれば良いのでしょう。
リレーションとか深く考える必要なくフィールドを定義し、フォームを作っていけばとりあえずオーケー的なライトユースにぴったり。まあ業務用アプリでも構築するのでなければ、パーソナルユースであればこれで十分でしょう、考えてみれば。

今後のバージョンアップではフォームの自由度向上とかパワーユーザ向けの諸機能追加(リレーション定義とかスクリプティングなど)が徐々に行なわれていくのでしょうが、今の機能でも使い方にもよるけど必要にして十分かと。

で、自分のマシン内のCSV化できるデータは片っ端からBento2化しているのだけど、断念したのは最初の記事でも触れたiTunes内の全曲データベース。

曲数7万曲超をいったんは取り込んでみたのですよ。それ以外のデータも含めると、Bento2で扱うレコード数は8万レコードくらいになったはず。
その全曲データベースをiPhoneに転送したところiPohne版Bento2では閲覧できない(起動しようとしてクラッシュする)というのも以前書いたとおりなのですが、デスクトップ版Bento2側も深刻な状況でした。

とにかく全ての処理が重くて話にならない。マシンはMacBook Pro のCore Duo 1.83GHzでメモリは2GBなんですが、それでも重い。
レコードの追加、フィールド間の移動など何をやるにもタバコ吸って来ようかと思うくらい待たされます。
しかも全曲ライブラリとは関係ない他のライブラリでも状況は同じ。

~/Library/Application Support/Bento というフォルダをみると、bento.bentodb というファイルがあり、これがどうやらBentoが扱うデータベース本体ファイルらしい。サイズは約300MB...

とりあえず全曲ライブラリをBento2から削除したら、データベースファイルのサイズは一気に20MB強まで減り、Bento2の処理速度(というか反応速度)も以前のレベルまで戻りました。
今のところデータベース内の全レコード数は約11,000レコード(iCalとアドレスブック含む)で、特に処理速度が気になることはないのですが、これが数万レコードになってくるとまた同じような状況にならないかと心配ですね。
データ量が増加するとリニアに処理速度が低下するなんてのはDBMS(データベース管理ソフト)としては失格ですからね。

蔵書を保管するのにマンション一室借りてるとか、LPを土蔵一棟分持ってるとか、数万件を超えるデータを扱おうという人は素直にファイルメーカーあるいはWindows系RDBを使った方が良いと思います。

そう、データベースファイルが1ファイルなので、クラッシュしたら悲惨なことになりそうです。リストアツールも用意されてませんし。TimeMachineなどでのバックアップも必須です!
このエントリーをはてなブックマークに追加