IOAdaptor

db4o2006-06-09

今月のdb4o勉強会で取り上げるテーマは「耐障害性とIOAdaptor」です。IOAdaptorというのはファイル操作部分をカスタマイズできる部分で、Javaではアクセスできないハードウェア依存のAPIを呼び出したりすることができます。

さっき面白いアダプタ見つけました。NIOFileAdaptorという名前の通り、java.nioを活用したアダプタです。超高速。なぜここまで早いんだろう・・・。BerkelyDBの長所を一気に取り込んでしまう勢い。ちなみにBerkelyDBの長所というのは、90年代にカリフォルニア大学バークレー校で考案されたLog-based File System(LFS)とBTreeキャッシュを活用するという、ディスクベースの耐障害性とインメモリの高速性を兼ね備えたハイブリッドのこと。NIOFileAdaptorでは、データベースのある部分(ページ)をメモリ内で直接参照しているんだろうが、アクセスがランダムなのでそんなにパフォーマンスが上がらないように思えるのだが。もし信頼できるソリューションなら金融系でもいけるな。

今月の勉強会は28日19時からを予定しています。その時にはNIOFileAdaptorのトリックもあばいておきますし、Win32IoAdaptorというネイティブメソッドを呼び出すアダプタ、それにdb4oのACIDがどのように確保されているかというアーキテクチャと他のデータベース(BerkelyDB, HSQLDB, Derby)との比較などをご紹介します。