InfoQはdb40objects(db4o)(サイト・英語)のNik Wekwerth氏にインタビューを行い、ODBMSのステートにおける彼の見解と最近のdb4oのリリースにおける新たな機能に関して尋ねた。このディスカッションはデベロッパコミュニティ内で人気が高まっていると思われるオブジェクトデータベースの仕掛け人的存在を列挙するのと共に始まった。Nikの見解において、ODBMSの採用は下記の3つの要因によって著しく成長しているということだ。
- Javaと.NETにおけるネイティブアクセスの緩和
- 特定のプロブレムドメインのための適合性
- オープンソース
・・・デベロッパは新しい言語を学ぶ必要がありません。(このdb40の場合においては).jarかもしくは.dllファイルをプロジェクトに落とすだけで動作するのです。利用のシンプルさとプログラミング言語へのフル統合、ネイティブアプローチは一般的にオブジェクトデータベースの成功の鍵でありま す・・・Javaかもしくは.NET言語にネイティブなクエリはタイプセーフコーディングのような開発ツールの利点を活用して、複雑な構成がオブジェクト 関連性マッパーを用いて使用された時に表面化するミスマッチを排除し、もう一つの言語の複雑性を学ぶ労力の省きます。
・・・アプリケーションの条件はデベロッパがrdbmsかもしくはodbmsを使用するべきかを定義するものであるべきです。たくさんのアプリケーションドメインは、複雑な設定かもしくはセキュリティデータ、検索可能マルチメディアかもしくは空間的なデータ、そしてデータドメインに伴うとても複雑な関係性のようなオブジェクト指向のストラクチャと持続性により適しています。もう一つの決定要因は、持続性が完全にアプリケーションに組み込まれているかです。例として、オブジェクトデータベースが、テーブルにオブジェクトをマップしなければならないアプリケーションよりも遥かに保持するのが簡単である場合に、エンドユーザには不可視であるということです。
・・・オープンソースは最近のオブジェクトデータベースの採用の増加において重要な役割を果たしています。デベロッパ達は実はいつもODBMSの概念が好きでした。それは正しい理由にしても(データ抽象化)、間違っている理由にしても(ゴルフトーナメント)OracleのようなRDBMSを気に入っているDBAとマネジャ達であるのです。オープンソースはデベロッパ達をより強力なポジションに戻したのです。彼らは今やより自発的に”マネジメントのレーダー下で”設計決定を成すことができ、またオブジェクトデータベースが時間削減の助けになることを証明し、より素晴らしいアーキテクチャを構築して最終的 には顧客の費用を大幅に削減することができるのです。
別々のデプロイ可能でエンドユーザかデベロッパ達の目に見えるデータベースなしで、アプリケーション内で組み込まれているシナリオに採用されていることが大変多く見受けられた。Nik氏は、これらをオブジェクトデータベースの簡易化されたAPI、ランタイム管理の排除、そしてオープンソースプロパティがロボット、車、携帯電話のような装置だけでなく、パッケージソフトウェア、ネットワーク内のSCADAシステム、そしてキャッシュの組み込みにも大幅に適合させている、ゼロ管理環境として特性化している。Nik氏は、Ricohはそれらをプリンタとコピー機にも適用しようとしていると述べている。
企業内での採用にコメントしながら、Nik氏はより迅速なトランザクションを可能にするためにセントラルデータベースからのデータのインテリジェントキャッシュとして、金融機関がどのようにdb4oを活用したのかという例を引用している。また彼はオブジェクトデータベースがdb4oの場合においては、それらがデータをリレーショナルデータベースに複製するのを許容するため、オブジェクトデータベースは合理的なデータベースと隣同士仲良く共存することができるのである。
そしてディスカッションは後にdb4. v7.0に搭載された新たな機能へと移行した。
最も注目すべき点は透明性アクティベーション(TA)です。TAはオブジェクトアクティベーションを自動化することによってオブジェクトの受信を簡易化するのです。ここで重要なのは、デベロッパたちはもうアクティベーションのやり方を定義する必要がなくコーディングが簡易化されるのです。もう一つの利点はオ ブジェクトがリクエストされた時にのみメモリにロードされるので、メモリ消費が最適化されている事です。
透明性アクティベーションがあればデベロッパたちはオブジェクトがいつどのようにロードされるかを心配する必要がなくなります。db4oはデベロッパ達が開発時間で持っているよりも、より多くの情報をランタイムで所有しているので効率的に仕事が行われ、また本当に必要とされたオブジェクトのみがロードされます。
その製品の商用の提供物には他の重要な機能が含まれている。
- オブジェクトマネジャーエンタープライズ-IDEの内側からデータベースブラウズとクエリを可能にするVisual Studio用のプラグイン
- XtremeConnect-SkypeとTightVNCを介したリモートペアプログラミングを許容するバーチャルペアテクニック
db4oはまた.NETプラットフォーム用の製品リリースに向けて準備を行っている。彼はJavaと.NETバージョンの類似点と相違点を解説した。
Javaと.NETバージョンは両方とも共通の共有コードベースから作られています。私達の全てのディストリビューションはプラットフォーム間でコードを 変換する完全に自動化された継続的なビルド内で作られています。私達はスタンダードの技法に従うので、いくつかの場所においてそれぞれのプラットフォーム 用のためにいくつか調整を行います・・・が、2、3の相違点があります。現在のdb4oReplication System(dRS)はHibernateの上で構築されていて、.NETよりもJavaに対してより完璧なのです。.NETサイドに関しては、近いうちにLINQインターフェースを提供する予定です。
結果としてNik氏は、”データベースファイルフォーマットは同じなのです。Javaで作られた.NETでデータベースを開くことも可能ですし、その反対も可能なのです。またJavaクライアントから.NETサーバに繋ぐことが可能で、またその反対も可能なのです。”と述べている。
Nik氏はそのインタビューにおいてグーグルのAndroidプラットフォーム(source)が彼らの製品にもたらす機会に関する彼のビジョンを語り、結論を述べた。db4oはAndroid用のソフトウェアを構築するISVが発展するのを可能にする。
・・・オーバータイムで自動的に適応できる、また異なるアプリケーション内でデータを共有し、協力することができるクライアントサイドのアプリケーション (db4oがスキーマの変化を発見し調整するので)です。db4oはデータ管理の全ての側面に対応することができるのです。例えば、あなたが無線上でソフトウェアを新たなデータモデルでアップデートする時です。
db4oはまた、Andoroidの欠点を克服するためと協力なクロスアプリケーション持続性強化を提供するためにOpen Handdset Allianceのメンバーと直接的に協力しています。結果として、例えば携帯電話会社は全てのアプリケーションデータの完全なバックアップ機能のような、ユーザが生成したデータ(UGD)の周囲で興味深い新たなサービスを提供することができます。もしハンドセットを失くしてしまったら新たなハンドセットを得ることができ、またあなたの個人データが既にロードされているのです。もう一つの使用ケースはp2pデータシェアとp2pソーシャルネットワーキングです。
あなたはどう思うだろうか?アプリケーションにODBMSをあなたは使用しているだろうか?どんなシナリオにおいて従来のrdbmsアプローチよりも効率的にodbmsが働くと思うだろうか?