BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース オブジェクト・リレーショナル・マッピング - ユーザのケーススタディ

オブジェクト・リレーショナル・マッピング - ユーザのケーススタディ

ブックマーク
ODBMS.org(リンク)のRoberto Zicari教授はオブジェクト/リレーショナル・マッピング技術のユーザ数名と面接し、話を聞いた(リンク)。今回の事例では、ドメインモデルにおけるオブジェクト技術とデータモデルにおけるリレーショナル技術の「インピーダンス不整合」が主要ポイントであった。

Zicari教授は各ユーザに対し、5つの質問(トピック)について聞いた。前半の質問ではアプリケーション、O/Rの障害、ユーザがその障害の解決あるいは対処に使った方法の説明に焦点をあてた。後半の質問は、ODBMS技術がこの分野で過去にいかに役立ったか、もしくは現時点までに実際いかに役立ったかを調査した。質問(トピック)は以下のとおりである。:
  1. 貴社のアプリケーション・ドメインと、貴社におけるあなたの役割を簡単に説明してください。
  2. 貴社には「インピーダンス不整合」の問題はありますか。
  3. 持続オブジェクトの記憶と管理に使うソリューションは何ですか。新規プロジェクトの持続性向けに利用可能な様々なオプションについて、どんな使用経験をお持ちですか。そうしたソリューションを使って、どのような教訓を学びましたか。
  4. 「オブジェクトの持続性」問題に対して、オブジェクトデータベースシステムは適したソリューションだと思いますか。適している場合、その理由はなんですか。適していない場合、その理由は何ですか。
  5. 今後1~2年の間、オブジェクトの持続性分野における新規研究/開発として何を望みますか。
この調査では、「インピーダンス不整合」を次のように説明している。
データを持続的に記憶するために使用したデータモデル(ファイルシステムあるいはデータベース管理システムのいずれかは問わず)と、そのデータに対してプログラムを書くために使用したデータモデル(C++、Smalltalk、Visual Basic、Java、C#)が一致しないとき、「インピーダンス不整合」の問題と呼びます。
O/Rインピーダンス不整合の定義(リンク)や、その存在に関して(リンク)さえ、議論が盛んに行われており、今回の事例では多数の人々がプロジェクトでインピーダンス不整合を経験したと述べていた。英国Iona社の技術部長John Daviesは、「貴社にはインピーダンス不整合の問題はありますか」という問いに対し、次のように答えている。
この「インピーダンス不整合」は企業においては重大問題であり、オブジェクト・リレーショナル・マッピング(ORM)と通常呼んでいるリレーションの持続性へオブジェクトを無理やり詰め込むのに、開発時間の25~33%以上を浪費しています。こうしたツールの見本では、ORMがいかに簡単であるかを説明していますが、実際はそれよりずっと複雑で、概念全体が崩壊してしまうのです。最良のツールでさえ、信じられないほど非効率的なモデルを作り上げ、結果として重大なパフォーマンス問題が発生するのです。
メリルリンチの重役Richard Ahernsも、この問題は現実であるという点で意見が一致する。
我が社には確かにこの問題が存在します。エクイティデリバティブの事業では、アジリティと商品化に要する時間が非常に重要です。新製品を定期的に導入し、業界の急速な変化に順応し、後れを取らないようにするためには、柔軟な技術が必要です。注文と相場の管理という分野で、O/Rマッピング(object-to-relational mapping)を多種多様な製品全体と資産時間にわたって維持することは、開発者の生産性の足を引っ張り、我が社のスケーラビリティに制限を加えるのです。

ドイツのシーメンスAGでソフトウェアアーキテクトを務めるGerd Klevesaatもインピーダンス不整合の問題を認め、その上で、ORMツールが必ずしも開発者の助けにならない理由を説明し、こう述べている。「特殊なクエリ言語でクエリを定義するよう強いられます。クエリ命令文とナビゲーション能力を検査するコンパイル時間を活用するために、プログラミング言語を使えば有益であるでしょう。」Klevesaatの指摘によると、技術やツールがギャップを埋め始めており、具体的に挙げれば「.NETのLINQやdb4oのネイティブクエリ、GroovyのDataSets」がある。

これまでの議論を越えて意見を述べたのがIBM RationalのAgile開発プラクティス・リーダーのScott Amblerである。「インピーダンス不整合」の問題に対するAmblerの見解によると、この問題の技術的側面にはいくつかのソリューションが存在する(たとえば、O/R持続性フレームワーク、オブジェクトデータベース、ORデータベース)。それよりもAmblerが指摘したのは、ほとんどの組織において、データコミュニティと開発者コミュニティの間に、Amblerが言うところの「文化的なインピーダンス不整合」が存在することである。「この2つのコミュニティのIT界の考え方には相違があり、それぞれに長所と短所があり、両コミュニティとも、もう片方と密接に協力することで利益を得ることができるのです。」 AmblerはODBMS.orgのケーススタディの枠を越え、このテーマに関してさらに意見を述べたのである(リンク)

Zicari教授の調査は概して、リレーショナルデータベース技術を使ったオブジェクト指向システムにまつわる問題を浮き彫りにすることを目的としていた。今回の調査では、問題の組合せが適切な場合、そこにオブジェクトデータベースや他のオブジェクト持続技術を適用すれば、前途有望なエンタープライズ技術となり得る、と考え始めている開発会社や事業組織の数も明らかになっている。

原文はこちらです:http://www.infoq.com/news/2008/07/or-user-studies

この記事に星をつける

おすすめ度
スタイル

BT