ヘッダーをスキップ

Oracle TimesTen In-Memory Databaseアーキテクチャ概要 リリース6.0 B25763-01 |
| 目次 | 索引

前へ | 次へ |

## TimesTen Data Manager

図3.4に示すように、TimesTen Data Managerは、TimesTenプロセスとライブラリのすべてを記述し、データ・ストアに対してアプリケーションから発行される、ODBCおよびJDBC関数コールと、SQL文の処理を行います。

図3.4 TimesTen Data Manager

Data Managerの中核には、SQL、ロギング、チェックポイント、ロック、障害のリカバリなどを実装した、標準ODBCルーチンとコアTimesTenルーチンのライブラリである、ODBCダイレクト・ドライバが存在します。「ダイレクト・ドライバ接続」で説明するように、ODBCアプリケーションがダイレクト・ドライバを介して直接データ・ストアと通信することで、パフォーマンスを大幅に向上させることができます。

## TimesTenプロセス

TimesTen Data Managerには、ODBCダイレクト・ドライバにアクセスして、特定のTimesTenサービスを提供するプロセスがいくつか含まれます。

TimesTenプロセスには、次のものがあります。

- TimesTenデーモン
- TimesTenサブデーモン
- TimesTen Serverデーモンとサーバー子プロセス
- キャッシュ・エージェント
- レプリケーション・エージェント

### TimesTenデーモン

各TimesTenのインストールには、1つのTimesTenデーモンが存在します。TimesTenデーモンとは、マシンの起動時に自動的に起動される、単一のマルチスレッド・プロセスのことです。通信と障害検出を実装するために、アプリケーションがTimesTenに接続するたびに1つのスレッドが作成されます。

アプリケーションやサーバー・プロセスでTimesTenデータ・ストアへの接続を確立するには、まずODBCまたはJDBCドライバに接続して、そのマシンで稼働中のTimesTenデーモンとTCPソケット接続を確立します。

このソケットは2つの目的で使用されます。

- TimesTen ODBC/JDBCドライバは、アプリケーションのプロセス（共有ライブラリ/DLLとしてパッケージされている）の一部として実行し、ソケットを使用してTimesTenデーモンと通信します。この接続は、データ・ストアとの接続と切断にかかわる多くのロジックを実装するために使用されます。たとえば、アプリケーションは、ソケット接続を介してTimesTenデーモンに接続し、データ・ストア・メモリー・セグメントのIDを取得します。
- TimesTenデーモンは、障害検出の仕組みとしてソケットを使用します。1つ以上のデータ・ストアに接続中のアプリケーションが（自発的あるいは強制的に）終了すると、そのアプリケーションをTimesTenデーモンに接続しているソケットがオペレーティング・システムによって自動的に閉じられます。この警告によって、TimesTenデーモンは、アプリケーションが終了し、必要なリカバリ処理を開始できることを認識します。

注意: TimesTenデーモンはデータ・ストアへのアプリケーションの接続のみを管理します。問合せの処理では役割を果たしません。

### TimesTenサブデーモン

TimesTenデーモンは、個々のデータ・ストアに直接アクセスしません。そのかわりにTimesTenデーモンは、共有データ・ストアごとに個別のサブデーモンを割り当て、複数のアプリケーションによるデータ・ストアへのアクセスを調整します。データ・ストアに排他接続しているアプリケーションでは、サブデーモンを介入させることなく、データ・ストアを直接管理します。

システムが起動すると、TimesTenデーモンは事前定義されている構成可能な数のサブデーモンを起動します。データ・ストアがメモリーにロードされると、TimesTenデーモンは空いているサブデーモンの1つを割り当てて、そのデータ・ストアを管理します。

共有データ・ストアを管理するために割り当てられたサブデーモンは、次のような様々な処理を行います。

- ディスク上のチェックポイント・ファイル（存在する場合）からメモリーにデータ・ストアをロードします。
- デッドロックを定期的にチェックし、デッドロックを解消するために、他のアプリケーションにかわってSQL処理を取り消します。
- RAMからデータ・ストアをアンロードする際に、最後のチェックポイント処理を実行します。
- 「ログおよびチェックポイント・ファイルからのリカバリ」で説明するように、障害発生後にチェックポイント・ファイルとログ・ファイルからデータ・ストアをリカバリします。
- 定期的にチェックポイントを実行します。

### TimesTen Serverデーモンとサーバー子プロセス

TimesTen Serverデーモンは、リモート・クライアント・アプリケーションからの着信接続要求を管理します。その動作はローカル・アプリケーションに対するデーモンとほとんど同様ですが、サーバー子プロセスを割り当て、クライアントのかわりにデータ・ストアへのアクセスのみを行います。

詳細は、「クライアント/サーバー接続」を参照してください。

### キャッシュ・エージェント

Cache Connectが有効な場合、キャッシュ・エージェント・プロセスを使用して、自動的にOracleデータベースからTimesTenデータ・ストアに更新を伝播し、使用しないデータをTimesTenキャッシュからエージ・アウトします。

詳細は、「Cache Connect to Oracle」を参照してください。

### レプリケーション・エージェント

TimesTenデータ・ストアがレプリケーション用に構成されている場合、レプリケーション・エージェントを使用して、レプリケートされるデータ・ストア間で更新をコピーします。アプリケーションがマスター・データ・ストアを更新すると、レプリケーション・エージェントがその更新を検出し、サブスクライバ・データ・ストア上の別のレプリケーション・エージェントに更新を転送します。レプリケーション・スキームに構成されたデータ・ストアごとに、1つのレプリケーション・エージェントが存在します。

詳細は、「レプリケーション」を参照してください。