web-dev-qa-db-ja.com

Oracle ODP.netマネージドドライバーとアンマネージドドライバー

管理されたOracle ODP.Netドライバーと管理されていないOracle ODP.Netドライバーの間にパフォーマンスベンチマークはありますか?

(つまり、アーキテクチャ/展開を簡素化する以外に、マネージドドライバーに移行する利点があります)

37
John Fedak

いくつかの結果を共有したいと思います。パフォーマンスのわずかな不足は、展開の容易さに比べて価値があると思います。

enter image description here

注:segは秒を意味します。ごめんなさい.

もちろん、それは簡単なテストであり、接続プール、安定性、信頼性など、カバーされていないトピックがいくつかあります...

シナリオが100回実行されたことに言及することが重要です。したがって、時間量はその100回の実行の平均です。

24

クイックスタートビデオ の箇条書き:

  • 少ないファイル(最大1つまたは2つのdll)
  • フットプリントが小さい(200 MBと比較して10 MB)
  • より簡単な並列展開
  • 32ビットと64ビットで同じアセンブリ(2番目のMTSアセンブリを除く)。
  • コードアクセスセキュリティ

パフォーマンスについてはわかりませんが、どちらの方法でも大きく異なるとは思いません。私の推測では、2つのドライバーは「Oracle Net」を介して同一の方法で通信します。コマンドを準備して結果を処理するために行われるメモリ内のクライアント側の操作にはわずかな違いがあるかもしれませんが、このオーバーヘッドは通常、トランザクション全体に比べてほんのわずかな時間を表しています。物理的なIOおよびクライアントへのデータの転送。 .OracleClientドライバー:これは同じRDBMS会社からの別のリリースです-彼らは他のクライアントが使用したのと同じパフォーマンストリックをすべて活用しようとしています。ニュースがない場合は良いニュースです-新しいプロバイダーが何らかの形で悪化した場合は、それについて読むことになります。

このIMOに切り替えるには、単純さが十分な理由です。開発者と管理者の大部分は、プロバイダーと管理対象外クライアントとの関係を完全に理解していません。 Oracleホームの設定、バージョンの不一致、アップグレードなどに関する混乱が絶えず発生しています。これらの質問を排除することは歓迎すべき変化です。

25
b_levitt

ここにあなたのすべての人々のための落とし穴があります。 Oracle Managed Driversがef6を使用して接続しない理由を理解するために数週間かかりました。データベースに次のデータ整合性アルゴリズムがある場合、アンマネージドドライバーを使用する必要があります!!

oracleのドキュメントに深く埋まっている!!!オラクルありがとう!!!!! enter image description here

11
WingMan20-10

簡単な展開とビットネスの独立性は本当に素晴らしい利点ですが、典​​型的なドライバーの使用法を徹底的に評価する必要があります。 64ビットプロセスで新しいマネージドドライバーを使用すると、パフォーマンスがほぼ50%低下します。他の人々はOracleフォーラムでメモリリークなどを報告しています: https://forums.Oracle.com/community/developer/english/Oracle_database/windows_and_.net/odp.net 落ち着くまでにさらに数ヶ月/年かかる、典型的なOracleバグのある製品のようです:/

3
Buthrakaur

カスタムタイプはまだサポートされていないことに注意してください。これは、マネージドドライバーに切り替えない理由である可能性があります。

管理対象バージョンと管理対象外バージョンの違いについては、次のOracleドキュメントを参照してください。

http://docs.Oracle.com/cd/E16655_01/win.121/e17732/intro004.htm

1
Richard