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

前へ
前へ
次へ
次へ
 

TimesTen機能の概要

TimesTenには、多くのよく知られているデータベース機能およびいくつかの独自の機能が含まれています。この項では説明する内容は、次のとおりです。

ODBCおよびJDBCインタフェース

TimesTenでは、ODBCおよびJDBCがサポートされています。他の多くのデータベース・システムでは、ODBCまたはJDBC APIのサポートが独自のインタフェースよりも大幅に遅くなる場合があるのに対して、ODBCおよびJDBCは、データベース・エンジンで直接動作するTimesTen固有のインタフェースです。TimesTenでは、完全に標準に準拠し、TimesTen環境で最大のパフォーマンスが得られるように調整されたAPIのバージョンがサポートされています。

SQL機能

TimesTenでは、SQL拡張に加えて、索引やマテリアライズド・ビューなどのSQL-92機能が幅広くサポートされているため、レプリケーションやCache Connect to Oracleなどの特別な機能の構成と管理が簡単になります。

アクセス制御

アクセス制御機能を有効にすることによって、ユーザー・アクセス制御のレイヤーを追加してTimesTenをインストールできます。TimesTenアクセス制御では、標準SQL操作を使用して、特定の権限レベルを持ったTimesTenユーザー・アカウントを設定します。

TimesTenアクセス制御の詳細は、「TimesTenアクセス制御」を参照してください。

分散トランザクション

TimesTenでは、XAおよびJTAインタフェースを使用して分散トランザクションをサポートします。これらの標準インタフェースによって、TimesTenは分散トランザクション処理(DTP)環境でトランザクション・マネージャとの相互運用を実現できます。

データベースの接続

TimesTenでは、ドライバ・マネージャを介した接続に加えて、高パフォーマンスを実現するためにダイレクト・ドライバ接続がサポートされています。また、クライアント/サーバー接続もサポートされています。

これらの接続オプションによって、ユーザーはアプリケーションに対して、最高のパフォーマンスおよび機能性のトレードオフを選択できます。ダイレクト・ドライバ接続は最速で、クライアント/サーバー接続では柔軟性が向上します。また、ドライバ・マネージャ接続では、複数のバージョンのODBC用に作成されたODBCアプリケーションのサポートが可能です。

詳細は、「TimesTen接続オプション」を参照してください。

永続性

永続性は、ディスク・ベース・バージョンのデータベースのトランザクション・ロギングと定期的リフレッシュを組み合せることによって実現されます。ログ・レコードは、トランザクションに対して非同期または同期でディスクに書き込まれ、アプリケーションによってトランザクション・レベルで制御されます。ネットワーク・システム内での非金銭的トランザクションなどの最大スループットが優れたシステムでは、非同期ロギングによって、発生の可能性がある障害を最小限に抑えて非常に高いスループットを実現できます。データ整合性を保持する必要がある場合(証券取引の場合など)、Oracle TimesTen In-Memory Databaseを使用すると、データを失うことなく、完全な永続性が保証されます。

TimesTenトランザクション・ロギングは、次の場合に使用されます。

TimesTenには、バックグラウンドで処理され、データベース・アプリケーションにほとんど影響を与えないチェックポイント処理があります。これは、ファジー・チェックポイントと呼ばれます。また、リカバリでログ・ファイルを必要としない、ブロッキング・チェックポイントもあります。チェックポイントは自動です。チェックポイントの実行中の障害に備えて、TimesTenでは2つのチェックポイント・ファイルが保持されます。通常のアプリケーションのアクティビティに対するチェックポイントの影響を最小限に抑えるために、チェックポイント・ファイルはトランザクション・ログとは別のディスクに存在している必要があります。

詳細は、次の項を参照してください。

問合せの最適化

TimesTenには、表の順序やアクセス方法の選択などの要素に基づいて最適な問合せ計画を選択する、コスト・ベースの問合せオプティマイザが備わっています。

メイン・メモリー・システムのコスト構造は、ディスク・アクセスが主要なコスト要素であるディスク・ベース・システムのコスト構造とは異なるため、TimesTenでは、オプティマイザのコスト感度がディスク・ベース・システムよりも少し高くなります。TimesTenではディスク・アクセスが要素とならないため、ディスク・ベース・システムのオプティマイザでは通常考慮されない要素(条件を評価するコストなど)が、最適化コスト・モデルに含まれます。

TimesTenでは、Tツリー索引およびハッシュ索引が提供され、2種類の結合方法(ネステッド・ループとマージ結合)がサポートされています。オプティマイザによって、処理中に一時索引を作成できます。

また、TimesTenオプティマイザが受け入れるヒントによって、一時領域の使用とパフォーマンスのような要因間でバランスを取る柔軟性が、アプリケーションに与えられます。

TimesTenの問合せオプティマイザと索引付け方法の詳細は、「問合せの最適化」を参照してください。

同時実行性

TimesTenでは、共有データベースが完全にサポートされています。ほとんどのデータベース・システムとは異なり、ユーザーがシステムのレスポンス時間、スループットおよびトランザクション・セマンティクスでの最適なバランスを指定できるオプションが提供されています。

コミット読取り分離レベルは、非ブロッキング処理を実現します。これがデフォルトの分離レベルです。きわめて厳密なトランザクション・セマンティクスを持つデータベースに対しては、シリアライズ可能分離レベルを使用できます。これらの分離レベルは、ODBC標準に準拠し、最適なパフォーマンスを考慮して実装されています。ODBC標準で定義されているように、デフォルトの分離レベルは、実行時に各接続に対して動的に変更できるTimesTenデータベースに設定できます。

TimesTenデータベースでのほとんどのアルゴリズムはマルチスレッドです。

TimesTenにおける同時操作の管理の詳細は、「同時操作」を参照してください。

自動データ・エージング

データ・エージングは、不要となったデータを削除する処理です。通常、データ・エージングには、特定の時間値に基づいた古いデータの削除と最低使用頻度(LRU)に基づいたデータの削除の2つのタイプがあります。たとえば、昨日の物価リストの削除、システムからログアウトしているユーザーのプロファイルとプリファレンスの削除、2年以上前の詳細記録の削除などを実行できます。

TimesTenのデータベース表およびキャッシュ・グループでは、次の2つのタイプの自動データ・エージング機能を使用できます。

詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の表でのエージングの実装に関する項、および『Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド』のキャッシュ・グループでのエージングの実装に関する項を参照してください。

グローバリゼーション・サポート

TimesTenでは、ネイティブ言語でのデータのソート、取得および処理に対してグローバリゼーション・サポートが提供されています。最もよく使用されるシングルバイト・エンコーディング、マルチバイト・エンコーディングおよびUnicodeを含む、50を超える様々な各国語キャラクタ・セット、各国間共通キャラクタ・セットおよびベンダー固有のキャラクタ・セットがサポートされています。接続キャラクタ・セットは、別のエンコーディングで実行されているアプリケーションでTimesTenデータベースと通信できるように定義できます。アプリケーションとデータベース間のキャラクタ・セットの変換は、透過的に自動で実行されます。

TimesTenでは、異なる言語および文化に関する複雑なソート要件を処理する言語ソート機能が提供されています。80を超える言語ソート機能が提供されています。これらの言語ソート機能は、大/小文字を区別せず、アクセント記号の有無を区別しないソートおよび検索をアプリケーションで実行できるように拡張できます。

詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のグローバリゼーション・サポートに関する章を参照してください。

トランザクション・ログ監視

他のデータベース・システムと同様に、TimesTenには、データベース外の動作に連動させるために、アプリケーションで更新アクティビティを監視できるAPIが用意されています。TimesTenでは、この機能がトランザクション・ログAPI(XLA)によって提供され、アプリケーションで、トランザクション・ログに書き込まれる更新レコードを監視し、検出された更新に基づいて様々な動作を起動できます。たとえば、XLAアプリケーションでは、検出した更新を別のデータベース(TimesTenまたはディスク・ベースのRDBMS)に適用できます。別のタイプのXLAアプリケーションでは、重要な更新が行われたことをサブスクライバに通知できます。

TimesTenでは、マテリアライズド・ビューを提供してXLAロギングAPIと併用することによって、SQL問合せで記述されたイベントの通知を有効にできます。

ロギングAPIとマテリアライズド・ビューの詳細は、「イベント通知」を参照してください。

管理とユーティリティ

TimesTenでは、対話型SQL、バックアップとリストア、コピー(異なるデータベース・システム間のデータのコピー)、移行(異なるバージョンのTimesTen間のデータ移動のための高速コピー)など、典型的なデータベース・ユーティリティをサポートします。

他の多くのデータベース・システムと同様に、索引の作成や表の変更など、他の多くの管理作業に対してSQLによる構成が使用可能です。また、TimesTenは、SQL拡張を使用して、レプリケーション、Cache Connect to Oracle、マテリアライズド・ビューを設定します。Cache Connect to Oracleの設定ではWebベースの管理も有効です。

TimesTen組込みプロシージャとC言語関数は、TimesTenの操作と設定に対してプログラム制御を可能にします。TimesTenコマンドライン・ユーティリティによって、ユーザーは接続、ロック、レプリケーションなどの状態を監視できます。また、TimesTenスキーマのシステム表に対してSQL SELECT問合せを使用することによって、それらの状態を取得することもできます。たとえば、TimesTenのSYS.MONITOR表には、TimesTenアプリケーションの分析やデバッグに有効な多くの統計情報が記録されます。

TimesTen管理の詳細は、「TimesTenの管理」を参照してください。

Replication - TimesTen to TimesTen

Replication - TimesTen to TimesTenは、Oracle TimesTen In-Memory Databaseのオプションの1つです。サーバー間のリアルタイム・データ・レプリケーションを可能にして、高可用性および負荷分散を実現します。データ・レプリケーション構成は、非同期送信または同期送信を使用して、競合の検出と解決および障害が発生したサーバーのリストア後の自動再同期化が行われるように、アクティブ/スタンバイまたはアクティブ/アクティブにできます。データ・レプリケーションは、Cache Connect to Oracleオプションと完全に互換性があります。

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

Cache Connect to Oracle

Cache Connect to Oracleは、Oracle TimesTen In-Memory Databaseのオプションの1つです。Oracleデータに対して更新可能なリアルタイム・キャッシュを作成します。また、Oracleデータベースから計算サイクルをオフロードし、応答性に優れたスケーラブルなリアルタイム・アプリケーションを使用可能にします。Cache Connect to Oracleは、Oracle表のサブセットをTimesTenにロードします。更新を双方向で伝播し、キャッシュされないデータに対するSQLリクエストのパススルーを自動化するように構成できます。また、障害が発生すると、データの再同期化を自動的に実行します。Cache Connect to Oracleは、Replication - TimesTen to TimesTenオプションと互換性があります。

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