いよいよ日本時間の今夜db4o v5リリース!

つに世界に先駆けてNativeQuery(ネイティブクエリ)を搭載したdb4o v5が日本時間の今夜リリースされます。日本でも100近い主要メディアにプレスリリースを流すので、少しでも皆様に認知されたらと思います。

さて、ネイティブクエリというのは、プログラミング言語でデータベースクエリを記述するということです。

!?なぜ

と思う人も多いかと思いますが、MicrosoftLINQプロジェクトがその妥当性を証明するように、実は非常に大きな生産性の向上を図れる可能性があるんです。それは、

オブジェクト指向の成功した方法論を、クエリにも適用することができる

からです。問題解決の第一歩はすでに成功が証明された方法論を適用することです。その意味でクエリにもオブジェクト指向を適用しようというものです。これによってデータベースだけでなくクエリもオブジェクト指向となり、真に100%オブジェクト指向開発が実現されます。たとえばGoFデザインパターンを適用してみるとか、クエリの再利用を検討してみるとか、インターフェースを活用してみたり、ポリモーフィズムを試したり・・・。

さて、それでは同じようなことが過去に無かったのでしょうか?いいえ、ありました。ところがパフォーマンス面で大きな問題を抱えていました。というのも、みなさんクエリパーサーというのはご存知でしょうか?そうです。SQLクエリは、まずクエリパーサーによって解析され、データアクセス方法を最適化した後アクセスされるので、非常に高速なのです。どういう経路をたどれば最善の、つまり最もコストが低いデータアクセスができるかを動的に計算しているわけです。一方プログラミング言語は、これまではバイナリになってしまって動的に解析することなどほとんど不可能だったため、最適化の問題、というか限界でパフォーマンスに問題があったのです。ところが、Javaや.NETが一般的になると、状況は一変しました。なぜならそれらは中間言語を利用しているからです。中間言語は動的に解析可能です。つまり、db4oのネイティブクエリのすごいところは、動的に中間言語のネイティブクエリを解析し、アクセスを最適化していることなのです。これによって従来は不可能だったことが可能になりました。

オブジェクト指向を装備している人ほど、きっとdb4oを気に入るはずです;)


db4o Japanese Community
http://www.db4o.com/japan/
japan@db4o.com