[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: RDBとオブジェクト指向のギャップについて



「白やぎさん」 \\ (°)(°)|      http://www.inac.co.jp/shiroyagi/     
==========================================================(株)アイナック====


こんにちは。
西沢@イーサー・プラニックです。

On Tue, 07 Sep 1999 13:10:09 +0900
小薮隆史 <koyabu@xxxxxxxxxx> wrote:
> 【問題点】
> このような処理は、従来ですとテーブルのJOINを行って、
> 一度のアクセスでデータを取得するのが普通だと思います。
> それに比べて上記の方法は、性能が落ちるはずです。
> A,Bだけならいいのですが、C,D,E・・・とたくさんあったり、
> またA,B,C・・の組が何組もあったり、といった場合には
> 性能劣化が無視できない可能性があります。

私も以前、現行のRDBのレイアウトのままEJBのEntityBeanを使うときに
まったく同じことで考えたことがありました。
しかし元々がRDBで設計されていたら、検索・保存時にマッピングする
という作業からは抜け出せないという事実から、あきらめました。

#というか、現状で考えてもしょうがないので、後で設計し直せる
#時まで先送りにしただけという話もあります(^^;)

結局、最終的にODBに移行するにしろ、最初からモデリングし直さないと
実際に使うObjectが使いづらくてしょうがないですし。


> どうにかしてJOINで一度にとってこようと思うと、
> 何かしらオブジェクト指向的でないコードを書かざるを
> 得ないように思います。

まったくそうですね。


> 【目標】
> 性能が優先される場合、なんらかの形で柔軟性や可読性を犠牲に
> せざるを得ないようにも思いますが、それでも被害は最小限に
> 止めたいものです。

RDBのレイアウトが直せるのであれば、そこでなるべく変更することで
被害の範囲は減らせるような気がします。

#ただ、私の場合は変更できなかったのであきらめました(;_;)
#とりあえず、そこそこのパフォーマンスが出ればそれで
#我慢してもらう方向へ話をもっていき、将来に期待してもらうと。


> 【質問】
> 皆様はこういう時どうしてらっしゃいますか?
> 定番の手法があるものでしょうか?

あれば、私も知りたいです。

ただ、私はOracle8iのJServerなるJavaVMなどがRDB内に実装された
形がもっと進化してくれば RDB ==> Object / Object ==> RDB の
マッピングによる性能劣化はRDB側の問題になってくる(自分で
実装するのであればその方法次第)なので、そこで減らせる
ようになるのではないかと、楽観的に考えています。


----------------------------------------
西沢 篤行 <anishi@xxxxxxxxxx>
株式会社イーサー・プラニック
Tel 03-5822-1330 / Fax 03-5822-1338