2 Oracle XML DBを使用する前に
Oracle XML DBのソリューションを計画する場合に考慮する基本的な設計基準を示します。
- Oracle XML DBのインストール
Database Configuration Assistant (DBCA)を使用し、汎用テンプレートを使用してOracle Databaseを構築すると、Oracle XML DBが自動的にインストールされます。 - Oracle XML DBのユースケース
Oracle XML DBは、処理されるデータの一部または全部がXMLで表現されているアプリケーションに適しています。 - Oracle XML DBのアプリケーション設計に関する考慮事項
Oracle XML DBアプリケーションを計画する場合は、いくつかの基本的な設計基準を考慮することをお薦めします。
親トピック: Oracle XML DBの基礎
2.1 Oracle XML DBのインストール
Database Configuration Assistant (DBCA)を使用し、汎用テンプレートを使用してOracle Databaseを構築すると、Oracle XML DBが自動的にインストールされます。
Oracle XML DBがすでにインストールされているかどうかは、自分で判断できます。次の条件に当てはまる場合は、インストールされています。
関連項目:
-
Oracle XML DBの手動インストールの詳細は、Oracle XML DBの管理を参照してください。
-
データベース・スキーマ
XDB
の詳細は、Oracle Database 2日でセキュリティ・ガイドを参照してください。
親トピック: Oracle XML DBを使用する前に
2.2 Oracle XML DBのユースケース
Oracle XML DBは、処理されるデータの一部または全部がXMLで表現されているアプリケーションに適しています。
Oracle XML DBでは、高パフォーマンスのデータベースで、XMLデータの収集、格納、処理および取出しが実行されます。また、既存のリレーショナル・データからXMLを迅速に容易に生成できます。Oracle XML DBが特に適しているアプリケーションは、次のとおりです。
-
Business-to-Business(B2B)およびApplication-to-Application(A2A)統合
-
インターネット
-
コンテンツ管理
-
メッセージング
-
Webサービス
典型的なOracle XML DBアプリケーションには、少なくとも次のうち1つの特長があります。
-
多くのXML文書を収集または生成する必要がある。
-
大規模なXML文書を処理または生成する必要がある。
-
1つの文書内でも、多数の文書の集まりにわたっても、高パフォーマンスな検索が必要とされる。
-
高いレベルのセキュリティが必要とされる。
-
ファイングレイン・セキュリティが必要とされる。
-
データ処理でXML文書を使用し、データをリレーショナル表に格納する必要がある。
-
プログラミングで、SQL、XML、XQuery、XPath、XSLなどのオープン標準がサポートされている必要がある。
-
FTP、HTTP(S)、WebDAV、Java Database Connectivity(JDBC)などの標準インターネット・プロトコルを使用して情報にアクセスする必要がある。
-
XMLデータはSQLから問い合せる必要がある。
-
XMLデータに分析機能を適用する必要がある。
-
XML文書をXML Schemaに基づいて検証する必要がある。
親トピック: Oracle XML DBを使用する前に
2.3 Oracle XML DBのアプリケーション設計に関する考慮事項
Oracle XML DBアプリケーションを計画する場合は、いくつかの基本的な設計基準を考慮することをお薦めします。
次のようなものがあります:
-
XMLデータを格納する方法
-
XMLデータの構造
-
アプリケーションの実装に使用する言語
-
XMLデータを処理する方法
ただし、通常は、次のOracle XML DB機能から開始することをお薦めします。ほとんどのユースケースでは、これらを考慮すれば十分です。
-
記憶域モデル - バイナリXML
-
索引付け - XML検索文字列、
XMLIndex
(構造化コンポーネントあり) -
データベース言語 - SQL、SQL/XML関数あり
-
XML言語 - XQueryおよびXSLT
-
クライアントAPI - OCI、Thin JDBC、SQL .NET
- XMLデータ記憶域
Oracle DatabaseにXMLデータを格納する方法は複数あります。 - XMLデータの構造
XMLデータがどのように構造化されているか、およびXML Schemaに基づいているかどうかは、それを格納する方法に影響を及ぼすことがあります。 - アプリケーションの実装に使用する言語
Oracle XML DBアプリケーションは、Java (JDBC、Javaサーブレット)またはPL/SQLでプログラミングできます。 - XMLの処理オプション
Oracle XML DBには、様々なXMLの処理オプションが用意されています。 - Oracle XML DBリポジトリへのアクセス
Oracle XML DBリポジトリを使用するアプリケーションの設計に関する考慮事項には、アクセス方法、セキュリティ・ニーズ、バージョニングが必要かどうかなどがあります。 - Oracle XML DBとその他のデータベース・オプションおよび機能との連携
Oracle XML DBはOracle Databaseに不可欠の部分であり、他のデータベースのオプションおよび機能と連携して機能します。
関連トピック
親トピック: Oracle XML DBを使用する前に
2.3.1 XMLデータ記憶域
Oracle DatabaseにXMLデータを格納する方法は複数あります。
図2-1
に、XMLTypeの表およびビューの記憶域の概要を示します。
既存のリレーショナル・データがある場合は、XMLType
ビューをそのデータに作成することで、そのデータにXMLデータとしてアクセスできます。次を使用して、XMLType
ビューを定義できます。
-
SQL/XML関数。リレーショナル・データからのXMLデータの生成およびXQueryとOracle XML DBを参照してください。
-
オブジェクトタイプ: オブジェクト表、オブジェクト・コンストラクタおよびオブジェクト・ビュー
アプリケーション用に選択した記憶域オプションにかかわらず、Oracle XML DBでは同じ機能が提供されます。使用する記憶域モデルは、アプリケーションのパフォーマンスおよびXMLデータの再現性に影響する場合がありますが、データを問合せおよび更新する頻度やアプリケーションで使用されるAPIとは関係がありません。
関連トピック
2.3.2 XMLデータの構造
XMLデータがどのように構造化されているか、およびXML Schemaに基づいているかどうかは、それを格納する方法に影響を及ぼすことがあります。
XMLデータがXML Schemaに基づいていない場合、その構造化の方法とは関係なく、XMLType
表またはビューにバイナリXMLとして、またはOracle XML DBリポジトリのフォルダ内のファイルとして格納できます。オブジェクト・リレーショナル形式で格納することはできません。
XMLデータがXML Schemaに基づいている場合は、バイナリXMLまたはオブジェクト・リレーショナル形式で格納する必要があります。
関連トピック
2.3.4 XMLの処理オプション
Oracle XML DBには、様々なXMLの処理オプションが用意されています。
Oracle XML DBアプリケーションを設計するときには次のものを使用でき、かつ考慮する必要があります。
-
XMLの生成および
XMLType
ビュー。XMLデータを生成(または再生成)する必要があるかどうか。リレーショナル・データからのXMLデータの生成を参照してください。 -
アプリケーションがデータ中心、ドキュメント中心、またはその両方のいずれであるか。Oracle XML DBの使用方法の概要を参照してください。
-
DOM再現性、ドキュメントの再現性。
XMLType
記憶域は、オブジェクト・リレーショナルまたはバイナリXMLに関係なく、DOM再現性を維持します。つまり、XMLType
として格納されているXML文書から作成されたDOMは、元の文書から作成されたDOMと同じです。ただし、無意味な空白は異なる可能性があります。DOM再現性、SYS_XDBPD$とオブジェクト・リレーショナル記憶域のDOM再現性およびPL/SQL API for XMLTypeを参照してください。DOM再現性以外にも、ドキュメントの再現性(無意味な空白)を維持する必要がある場合は、元の文書のコピーを2つ(1つはデータベースとXMLの処理で使用する
XMLType
インスタンスとして、もう1つはドキュメントの再現性を実現するCLOB
インスタンスとして)格納します。 -
XPath検索。SQL文に埋め込まれたXPath構文を使用すると、データベース内のXMLコンテンツを問い合せることができます。XMLデータの問合せと更新、Oracle XML DBリポジトリ・データへのアクセスおよびRESOURCE_VIEWおよびPATH_VIEWを使用したリポジトリへのアクセスを参照してください。
-
XML文書はどれほどの頻度でアクセス、更新および操作されるか。XMLデータの問合せと更新を参照してください。
-
更新の対象は文書のフラグメントか、または文書全体か。XPath式を使用して、文書全体を再書込みせずに、更新中に文書の個々の要素および属性を指定できます。これは、特に大規模なXML文書の場合により効率的です。XMLデータの更新を参照してください。
-
どのような種類の索引付けがアプリケーションおよびデータに最も適しているか。XMLTypeデータの索引を参照してください。
-
XSLT。XMLデータをHTMLやWMLなどの他の言語に変換する必要があるか、その場合は、アプリケーションによってこれがどのように実行されるか。Oracle XML DBにXML文書を格納中に、文書の構造が特定のXML Schemaに準拠するかどうか(妥当かどうか)を確認できます(オプション)。XMLTypeデータの変換および検証を参照してください。
2.3.5 Oracle XML DBリポジトリへのアクセス
Oracle XML DBリポジトリを使用するアプリケーションの設計に関する考慮事項には、アクセス方法、セキュリティ・ニーズ、バージョニングが必要かどうかなどがあります。
リポジトリへのアクセス方法には、主に次の2つがあります。
-
ナビゲーション・ベースのアクセスまたはパス・ベースのアクセス。これはコンテンツ/ドキュメントおよびデータ指向アプリケーションの両方に適しています。Oracle XML DBでは、次の言語およびアクセスAPIが提供されています。
-
リソース・ビューおよびパス・ビューを介したSQLアクセス。RESOURCE_VIEWおよびPATH_VIEWを使用したリポジトリへのアクセスを参照してください。
-
パッケージ
DBMS_XDB
またはパッケージDBMS_XDB_ADMIN
、DBMS_XDB_CONFIG
およびDBMS_XDB_REPOS
を使用したPL/SQLアクセス。Oracle XML DBリポジトリへのPL/SQLアクセスを参照してください。 -
コンテンツ指向のアプリケーションに最適なHTTP(S)、WebDAVまたはFTPを使用したプロトコルベースのアクセス。プロトコルを使用したリポジトリへのアクセスを参照してください。
-
-
問合せベースのアクセス。これはデータ指向アプリケーションに最適です。Oracle XML DBでは、次のAPIを介して、SQL問合せを使用するアクセスが可能です。
-
(JDBCを介する)Javaアクセス。「Java DOM API for XMLType」を参照してください。
-
PL/SQLアクセス。PL/SQL API for XMLTypeを参照してください。
-
リポジトリ・データにアクセスするためのこれらのオプションは、Oracle XML DBリポジトリ・データへのアクセスでも説明しています。
次のアクセス基準についても考慮します。
-
どの程度のセキュリティ・レベルが必要か。リポジトリのアクセス制御を参照してください。
-
データのバージョニングが必要かどうか。リソース・バージョンを参照してください。
2.3.6 Oracle XML DBとその他のデータベース・オプションおよび機能との連携
Oracle XML DBはOracle Databaseに不可欠の部分であり、他のデータベースのオプションおよび機能と連携して機能します。
-
Oracle Streamsアドバンスト・キューイング(AQ) – XMLペイロードをマージします。Oracle Streams AQを使用したXMLデータの交換およびOracle Databaseアドバンスト・キューイング・ユーザーズ・ガイドを参照してください。
-
Oracle GoldenGateおよびOracle Active Data Guard – XMLデータをレプリケートおよび保護したり、ローリング・アップグレードを実行します。Oracle GoldenGateのドキュメントおよびOracle Data Guard概要および管理を参照してください。
-
Oracle Exadata Storage Server Software – XMLデータを高いパフォーマンスかつ高い可用性でスケーラブルに使用します。Oracle Exadata Storage Server Softwareユーザーズ・ガイドを参照してください。
-
Oracle Real Application Clusters (Oracle RAC) – XMLデータをデータベース・インスタンスのクラスタとともに使用します。詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照してください
-
Oracle Multitenantオプション - 各プラガブル・データベースが独自のOracle XML DBリポジトリを持つマルチテナント・アーキテクチャでXMLデータを使用します。Oracle Database概要を参照してください。
-
圧縮および暗号化 - SecureFiles LOB記憶域を使用するバイナリXMLデータを圧縮および暗号化できます。オブジェクト・リレーショナル形式で格納されているXMLデータの場合、XMLの要素と属性を個別に圧縮または暗号化できます。
-
並行実行 - 次の操作を並行して実行できます。
-
XMLType
データの問合せ -
SecureFiles LOBを使用してバイナリXMLとして格納されている
XMLType
データのDML -
Oracle Textの
CONTEXT
索引が定義されているXMLType
表の直接ロード
関連項目:
-