ヘッダーをスキップ
Oracle TimesTen In-Memory Database概要
リリース7.0
E05163-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

Oracle TimesTen In-Memory Databaseが高速である理由

従来のディスク最適化RDBMSによって行われる作業の多くは、データが主にディスクに常駐するという前提に基づいて行われます。この基本的な前提に基づいて、最適化アルゴリズム、バッファ・プール管理、および索引検索技法が設計されています。

RDBMSがそのすべてのデータをメイン・メモリー内に保持するように構成されている場合でも、ディスク・ベース・データの常駐という前提がパフォーマンスの足かせになります。これらの前提は、処理ロジック、索引付けスキーム、データ・アクセス・メカニズムなどについてハードコードされているため、簡単に変更できません。

Oracle TimesTen In-Memory Database(TimesTen)は、データがメイン・メモリーに常駐するという認識で設計されているため、コードパスの長さを削減し、アルゴリズムおよび構造を簡素化して、データへのより直接的な経路を選択できます。

ディスク常駐という前提がなくなると、複雑さは大幅に緩和されます。マシンのコマンド数は減少し、バッファ・プール管理や余分なコピーは不要となり、索引ページも縮小し、これらの構造は簡素化されます。設計はより単純かつ縮小され、リクエストは高速に実行されます。図1.1に、TimesTenの設計の簡素さを示します。

図1.1 ディスク・ベースのRDBMSとTimesTenの比較

従来のRDBMSでは、クライアント・アプリケーションがなんらかの種類のIPC接続を介してデータベース・サーバー・プロセスと通信を行います。これによって、すべてのSQL処理に対してパフォーマンス・オーバーヘッドが追加されます。アプリケーションでは、TimesTenをそのアドレス空間に直接リンクすることによって、IPCオーバーヘッドを排除し、問合せ処理を簡素化できます。これはTimesTenに直接接続することで実現されます。従来のクライアント/サーバー・アクセスも、レポートなどの機能に対して、または多数のアプリケーション層プラットフォームで共通のメモリー内データベースへのアクセスを共有する必要がある場合にはサポートされます。アプリケーションから見ると、直接接続またはクライアント/サーバー接続かにかかわらず、TimesTen APIは同じです。