OracleアーキテクチャとDB2アーキテクチャの主な違いは、Oracleアーキテクチャは、Oracle社が開発したOracle RDBMSのデータの収集、保存、整理の方法を定義した標準と機能性を指します。
一方、DB2アーキテクチャは、IBMが開発したDB2 RDBMSのデータの収集、保存、整理の方法を定義する標準と機能性を指す。
OracleはOracle社が開発したRDBMSで、オンライントランザクション処理とデータウェアハウスに使用される。
DB2は、IBM社が開発したRDBMSで、さまざまなOSプラットフォームで動作する。
この記事では、OracleとDB2アーキテクチャの違いを見てみましょう。
オラクルアーキテクチャとは
オラクルアーキテクチャには、物理、メモリコンポーネント、プロセス、論理構造などがあります。
オラクルサーバーは膨大な量のデータを管理することができます。
複数のユーザーが同じデータに同時にアクセスすることができます。
サーバーは、インスタンスとデータベースで構成されています。
さらに、インスタンスはオペレーティングシステムとして動作する実行ファイルです。
Oracleデータベースは、データファイル、制御ファイル、ログファイルなどのファイルを持っています。
また、パラメータファイルやパスワードファイルなどもあります。
これらのファイルは、システムユーザーがSQLステートメントを処理することを可能にします。
また、パフォーマンスを向上させることもできます。
さらに、これらのファイルを使って、障害発生時にデータベースを復旧させることも可能である。
さらに、ユーザープロセスとサーバープロセスがあります。
これらは、SQL文の実行を支援します。
このプロセスには、共有サーバー・プロセスと専用サーバー・プロセスの2種類があります。
共有サーバー・プロセスは、複数のユーザー・プロセスに対してメモリーを共有することができます。
共有サーバープロセスは、複数のユーザープロセスに対してメモリーを共有することができ、専用サーバープロセスは、1つのユーザープロセスに対してメモリーを管理することができます。
DB2 アーキテクチャとは
DB2 は IBM 社のリレーショナルデータベースシステムです。
データの保存、分析、検索を効率的に行うことができます。
DB2 アーキテクチャの重要なコンポーネントは以下のとおりです。
クライアント側では、DB2 クライアントライブラリがローカルまたはリ モートアプリケーションとデータベースの接続を支援します。
ローカルクライアントは共有メモリを使って通信し、リモートクライアントは TCP/IP などのプロトコルを使って通信します。
サーバー側では、Engine Dispatchable Units (EDU)と呼ばれるコンポーネントがアクティビティを処理します。
DB2 エージェントは SQL 処理を管理します。
これもEDUです。
クライアントアプリケーションのリクエストを処理するために、複数のサブエージェントを割り当てることが可能です。
プーリングアルゴリズムがすべてのエージェントとサブエージェントを管理する。
EDUの作成と破棄を減らすことができます。
データベースサーバーのメモリには、一時的なデータ(ユーザーデータ、カタログデータ、インデックスデータなど)を保存するためのバッファプールが用意されています。
これらは、ディスクからデータにアクセスするよりも、メモリからデータに高速にアクセスするのに役立ちます。
したがって、バッファプールはデータベースの性能を向上させるのに役立ちます。
その他の重要なEDUは、プリフェッチャとページクリーナーです。
これらは、アプリケーションがデータを必要とする前に、ディスクからデータを取得し、バッファプールに送ります。
さらに、ページクリーナーはバッファプールからデータをディスクに戻す。
もしプリフェッチャとページクリーナーがなければ、アプリケーションエージェントはバッファプールとディスクストレージの間ですべてのデータの読み書きを行わなければならない。
Oracle と DB2 のアーキテクチャの違い
定義
Oracleアーキテクチャとは、Oracle社が開発したOracle RDBMSのデータの収集、保存、配置、統合の方法を定義したポリシー、標準、機能の集合体です。
これに対して DB2 アーキテクチャは、IBM 社が開発した DB2 RDBMS のデータ収集、保存、配置、統合の方法を定義するポリシー、標準、機能の集合体です。
したがって、これがOracleとDB2アーキテクチャの根本的な違いです。
論理ストレージ構造
Oracle と DB2 のアーキテクチャの大きな違いは、論理ストレージの構造です。
Oracle の論理ストレージはセグメントと Oracle ブロックで構成され、DB2 のストレージはオブジェクトと DB2 ページで構成されます。
物理ストレージの構造
物理ストレージの構造も Oracle と DB2 のアーキテクチャの違いの一つです。
Oracle の物理ストレージはデータファイルを含むのに対し、DB2 の物理ストレージはコンテナを持っています。
圧縮率
また、Oracle はブロックレベルでデータを圧縮しますが、DB2 はテーブル全体またはテーブルパーティションレベルでデータを圧縮します。
圧縮率へのこだわり
また、Oracle がカラム全体を圧縮の対象としているのに対し、DB2 はカラムだけでなく部分的なカラムも圧縮の対象としています。
この点も Oracle と DB2 のアーキテクチャの違いと言えるでしょう。
圧縮されたオブジェクト
また、Oracle はデータと 1 種類のインデックスのみを圧縮します。
しかし、DB2 はデータ、すべてのタイプのインデックス、テンポラリテーブル、XML オブジェクト、および複製されたオブジェクトを圧縮します。
ビットマップインデックス
さらに、Oracle は静的ビットマップインデックス、DB2 は動的ビットマップインデッ クスです。
バッファプール
Oracle がブロックサイズごとにバッファプールを持つのに対し、DB2 は表領域ごとにバッ ファプールを持つ。
結論
Oracle アーキテクチャとは、Oracle 社が開発した Oracle RDBMS のデータ収集、保存、整理の方法を定義した標準と機能性を指す。
一方、DB2アーキテクチャとは、IBM社が開発したDB2 RDBMSのデータの収集、保存、整理の方法を定義する標準と機能のことである。
これがOracleアーキテクチャとDB2アーキテクチャの大きな違いです。