2009-03-30 11 views
2

ハイバネートオブジェクトモデルとデータベースの物理モデルが一致しなくなったときに、パフォーマンスなどの実際の問題はありますか?すべての懸念?彼らは同期し続けるべきですか?hibernateオブジェクトとデータベースの物理モデル

私たちの現在のシステムは、少数のユーザーのために設計されたオリジナルなので、物理的なものとオブジェクトの同期を保つための努力はあまりありませんでした。開発者は自分の仕事に行き、建築家は監視しませんでした。レガシーシステムを新しいシステムに書き直したりインポートしたりする過程で、レガシーシステムが多くのユーザーボリュームを処理し、新しいシステムを無駄にする懸念があります。

アップデート20090331
以下ピートのコメントから - 懸念オブジェクト層対データ層内のテーブル/データ関係についてでした。両者の間に依存関係がない場合、これらの関係が一致しないとパフォーマンスヒットはありません。あれは正しいですか?

開発チームは、ハイバネートクエリ/オブジェクトを「チューニング」するのに多くの時間を費やしますが、データベースレイヤーではアプリケーションのパフォーマンスを向上させるために何もしません。私は彼らが両方の層で同調するだろうと仮定したでしょう。

これらの問題は、データベースの最初の設計が貧弱で、Hibernateを使用してその違いをカバー/補完しようとしている可能性がありますか?コースコードの

(私はキャッチアップを再生し、このプロジェクトに新しいです)

+0

どのように一致しませんか? –

答えて

1

更新:コメントへの応答:データベースがHibernateの使用に加えて最適化されるのはCRUCIALです。あなたがそれについて考えてみると、すべての作業が休止した後、結局はデータベースに問い合わせるだけです。データベースがうまく動作しない場合(間違っているか間違っているインデックス、不十分なテーブルスペースの設定など)、Hibernateのチューニングの程度は関係ありません。あなたのデータベースがうまく設定されていてもHibernateが設定されていない場合(おそらく、キャッシングが適切に設定されていないなど、あなたがデータベースに戻ってきていなければならない場合)、パフォーマンスはよくシステムのエンドツーエンドを調整することは常に重要ですが、基盤(データベース)から開始して作業してください。

エンド更新

私は、あなたが「一致しない」について何を意味するか興味 - あなたは列が休止状態のデータオブジェクトで表現されていないテーブルに追加されている意味ですか?テーブルが追加されましたか?パフォーマンスに影響するとは思わない(すべての列を挿入/更新しない場合は、データの整合性がより高い可能性が高いと思われる)

一般に、オブジェクトモデルの目標は、データベーススキーマと同じであってはいけません。基礎となるデータの複雑さ/結合/正規化を抽象化したい、つまりHibernateのようなものを使用することの全ポイントです。

したがって、たとえば、あなたが(非常にシンプルなものを維持)していると言うことができます「注文」と「注文項目」、

アプリケーションコードは

order.getItems(のような何かを行うことができるはず)

下にあることが1対多の関係であることを知らずに。あなたのハイバネートコードの詳細は、ロードがどのように行われるか(レイジー、キャッシングなど)を制御します。

質問に答えることができない場合は、

+0

これは、データレイヤとオブジェクトレイヤのテーブル/データ関係に関する懸念事項です。依存関係がない場合、これらの関係が一致しないとパフォーマンスヒットはありません。 – boyd4715

+0

ありがとう、それは私が考えたことです、それはデータベースとオブジェクトの両方を調整する連続的なサイクルでなければなりません。 – boyd4715

0

あなたは可能性があり、ASMでの抽象化レイヤ - 「かもしれない」(開発者のためのひどい言葉)速くなります。

これは時期尚早な最適化です。きれいなプロジェクトレイアウトを破る可能性があります。

hibernate-マニュアルのように、最適化はさまざまな方法で見ることができます - 一部の部分は "一部"かもしれません。

0

あなたの変更がパフォーマンス上の問題を引き起こす可能性があります。 これは設計仕様の一部であったはずだと思いました。
それをコーディングするときは、パフォーマンス基準を念頭に置いてください。

実際に知るには、データをテスト環境にロードしていくつかのテストを実行するしかありません。

ライブに行く前にこれを行う必要があります。かなり興味深い結果が得られるかもしれません。

関連する問題