データ・カタログを使用した外部データの問合せ
Oracle Cloud Infrastructure 「データ・カタログ」は、データの検出およびデータ・ガバナンスのサポートに役立つOracle Cloudのメタデータ管理サービスです。 アセットのインベントリ、ビジネス用語集、およびデータ・レイクの共通メタストアを提供します。
Autonomous Databaseでは、このメタデータを活用して、データ・レイク・オブジェクト・ストアへのアクセスの管理を大幅に簡素化できます。 データ・レイクにアクセスするために外部表を手動で定義するかわりに、自動的に定義および管理される外部表を使用します。 これらの表は、「データ・カタログ」の変更によって最新の状態に保たれるAutonomous Database保護スキーマにあります。
「データ・カタログ」の詳細は、「データ・カタログ」ドキュメントを参照してください。
- データ・カタログを使用した問合せについて
「データ・カタログ」メタデータと同期することで、Autonomous Databaseは、「データ・カタログ」によって収集された論理エンティティごとに外部表を自動的に作成します。 これらの外部表は、メタデータ同期プロセスによって完全に管理されるデータベース・スキーマで定義されます。 ユーザーは、外部データ・ソースのスキーマ(列およびデータ型)を手動で導出したり、外部表を手動で作成する必要なく、データを即時に問い合せることができます。 - データ・カタログを使用した問合せに関連する概念
データ・カタログを使用して問い合せるには、次の概念を理解する必要があります。 - 同期マッピング
同期プロセスでは、「データ・カタログ」データ・アセット、フォルダ、論理エンティティ、属性および関連するカスタム・オーバーライドに基づいて、Autonomous Databaseスキーマおよび外部表が作成および更新されます。 - データ・カタログのある一般的なワークフロー
「データ・カタログ」を使用して問い合せるユーザーが実行するアクションの一般的なワークフローがあります。 - 例: MovieStreamシナリオ
このシナリオでは、Moviestreamはオブジェクト・ストレージ上のランディング・ゾーンのデータを取得しています。 このデータの多くは、必ずしもすべてではなく、Autonomous Databaseのフィードに使用されます。 Autonomous Databaseにフィードする前に、データは変換され、クレンジングされた後、「ゴールド」領域に格納されます。 - 例: パーティション化されたデータのシナリオ
このシナリオは、オブジェクト・ストアのパーティション・データから収集された「データ・カタログ」論理エンティティに基づく外部表をAutonomous Databaseに作成する方法を示しています。
データ・カタログの問合せについて
Autonomous Databaseは、「データ・カタログ」メタデータと同期することで、「データ・カタログ」で収集される論理エンティティごとに外部表を自動的に作成します。 これらの外部表は、メタデータ同期プロセスによって完全に管理されるデータベース・スキーマで定義されます。 ユーザーは、外部データ・ソースのスキーマ(列およびデータ型)を手動で導出したり、外部表を手動で作成する必要なく、データを即時に問い合せることができます。
同期は動的で、基礎となるデータの変更に関してAutonomous Databaseを最新に維持し、数百から数千の表を自動的に維持するため、管理コストを削減します。 また、複数のAutonomous Databaseインスタンスで同じ「データ・カタログ」を共有できるため、管理コストが削減され、ビジネス定義の共通セットが提供されます。
データ・カタログのフォルダ/バケットは、Autonomous Databaseスキーマと同期するコンテナです。 これらのフォルダ/バケット内の論理エンティティは、Autonomous Database外部表にマップされます。 これらのスキーマおよび外部表は、同期プロセスを介して自動的に生成され、維持されます:
- フォルダ/バケットは、組織のみを目的としたデータベース・スキーマにマップされます。
- 組織は、データ・レイクと整合性が保たれ、異なるパスを経由してデータにアクセスする際の混乱を最小限に抑えることを目的としています。
- データ・カタログは、スキーマ内に含まれる表の真のソースです。 「データ・カタログ」で行われた変更は、後続の同期時にスキーマ表を更新します。
この機能を使用するには、データベース「データ・カタログ」管理者が「データ・カタログ」インスタンスへの接続を開始し、同期するデータ・アセットと論理エンティティを選択し、同期を実行します。 同期プロセスでは、選択した「データ・カタログ」収集されたデータ・アセットおよび論理エンティティに基づいてスキーマおよび外部表が作成されます。 外部表が作成されるとすぐに、データ・アナリストは、外部データ・ソースのスキーマを手動で導出して外部表を作成することなく、データの問合せを開始できます。
親トピック: データ・カタログを使用した外部データの問合せ
データ・カタログの問合せに関連する概念
データ・カタログを使用した問合せには、次の概念を理解する必要があります。
- データ・カタログ
-
「データ・カタログ」は、Autonomous Databaseを使用して問い合せるオブジェクト・ストアのデータ・ソースを指すデータ・アセットを収集します。 「データ・カタログ」から、収集時のデータの編成方法を指定し、様々なファイル編成パターンをサポートできます。 「データ・カタログ」収集プロセスの一部として、アセット内で管理するバケットおよびファイルを選択できます。 詳細は、「データ・カタログの概要」を参照してください。
- オブジェクト・ストア
-
オブジェクト・ストアには、様々なオブジェクトを含むバケットがあります。 これらのバケットに含まれる一般的なタイプのオブジェクトには、次のようなものがあります: CSV、parquet、avro、jsonおよびORCファイル。 バケットには通常、含まれているオブジェクトへの構造または設計パターンがあります。 データを構造化する方法と、これらのパターンを解釈する様々な方法があります。
たとえば、一般的な設計パターンでは、表を表す最上位フォルダを使用します。 特定のフォルダ内のファイルは同じスキーマを共有し、その表のデータを含みます。 サブフォルダは、表パーティションを表すためによく使用されます(たとえば、毎日のサブフォルダ)。 「データ・カタログ」は、各最上位フォルダを論理エンティティとして参照し、この論理エンティティはAutonomous Database外部表にマップします。
- 接続
-
接続は、「データ・カタログ」インスタンスへのAutonomous Database接続です。 Autonomous Databaseインスタンスごとに、複数の「データ・カタログ」インスタンスに接続できます。 Autonomous Database資格証明には、オブジェクト・ストレージから収集された「データ・カタログ」アセットにアクセスする権限が必要です。
- 収集
-
オブジェクト・ストレージをスキャンし、データ・セットから論理エンティティを生成する「データ・カタログ」プロセス。
- データ・アセット
-
「データ・カタログ」のデータ・アセットは、データベース、Oracle Object Storage、Kafkaなどを含むデータ・ソースを表します。 Autonomous Databaseは、メタデータの同期にOracle Object Storageアセットを利用します。
- データ・エンティティ
-
「データ・カタログ」のデータ・エンティティは、データベース表またはビューなどのデータのコレクション、または単一のファイルであり、通常、そのデータを記述する多くの属性を持ちます。
- 論理エンティティ
-
Data Lakesでは、通常、多数のファイルが1つの論理エンティティで構成されます。 たとえば、毎日クリック・ストリーム・ファイルがあり、これらのファイルは同じスキーマとファイル・タイプを共有できます。
「データ・カタログ」論理エンティティは、データ・アセットに作成および割り当てられたファイル名パターンを適用して、収集中に導出されるオブジェクト・ストレージ・ファイルのグループです。
- データ・オブジェクト
-
「データ・カタログ」のデータ・オブジェクトは、データ・アセットおよびデータ・エンティティを表します。
- ファイル名パターン
-
データ・レイクでは、データを様々な方法で編成できます。 通常、フォルダは同じスキーマとタイプのファイルをキャプチャします。 データの編成方法を「データ・カタログ」に登録する必要があります。 ファイル名パターンは、データの編成方法を識別するために使用されます。 「データ・カタログ」では、正規表現を使用してファイル名パターンを定義できます。 「データ・カタログ」が、割り当てられたファイル名パターンでデータ・アセットを収集すると、ファイル名パターンに基づいて論理エンティティが作成されます。 これらのパターンを定義してデータ・アセットに割り当てることによって、ファイル名パターンに基づいて複数のファイルを論理エンティティとしてグループ化できます。
- 同期 (Sync)
-
Autonomous Databaseは「データ・カタログ」との同期を実行し、基礎となるデータの変更に関してデータベースを最新の状態に保ちます。 同期は手動またはスケジュールで実行できます。
同期プロセスでは、「データ・カタログ」データ・アセットおよび論理エンティティに基づいてスキーマおよび外部表が作成されます。 これらのスキーマは保護されており、メタデータは「データ・カタログ」によって管理されます。 メタデータを変更する場合は、「データ・カタログ」で変更を行う必要があります。 Autonomous Databaseスキーマには、次の同期の実行後に変更が反映されます。 詳細は、「同期マッピング」を参照してください。
親トピック: データ・カタログを使用した外部データの問合せ
同期マッピング
同期プロセスでは、「データ・カタログ」データ・アセット、フォルダ、論理エンティティ、属性および関連するカスタム・オーバーライドに基づいて、Autonomous Databaseスキーマおよび外部表を作成および更新します。
データ・カタログ | Autonomous Database | マッピングの説明 |
---|---|---|
データ・アセットとフォルダ(オブジェクト・ストレージ・バケット) |
スキーマ名 |
デフォルト値: デフォルトでは、Autonomous Databaseで生成されたスキーマ名の形式は次のとおりです:
カスタマイズ: デフォルトのdata-asset-name およびfolder-name をカスタマイズするには、カスタム・プロパティ、ビジネス名および表示名を定義してこれらのデフォルト名をオーバーライドします。
例:
|
論理エンティティ | 外部表 |
論理エンティティは外部表にマップされます。 論理エンティティにパーティション化された属性がある場合は、パーティション化された外部表にマップされます。 外部表名は、対応する論理エンティティの表示名またはビジネス名から導出されます。
たとえば、エンティティの |
論理エンティティ属性 | 外部表の列 |
列名: 外部表の列名は、対応する論理エンティティ属性の表示名またはビジネス名から導出されます。 Parquet、AvroおよびORCファイルから導出された論理エンティティの場合、列名は常に、ソース・ファイルから導出されたフィールド名を表すため、属性の表示名です。 CSVファイルから導出された論理エンティティに対応する属性の場合、次の属性フィールドが列名を生成する際の優先順位で使用されます:
列タイプ:
列の長さ: 列の精度:
列の位取り: |
親トピック: データ・カタログを使用した外部データの問合せ
データ・カタログの一般的なワークフロー
「データ・カタログ」を使用して問い合せるユーザーが実行するアクションの一般的なワークフローがあります。
データベース「データ・カタログ」問合せ管理者またはデータベース管理者は、生成された外部表へのREADアクセス権を付与し、データ・アナリストおよび他のデータベース・ユーザーが外部表を参照および問合せできるようにします。
次の表に、各アクションの詳細を示します。 この表に含まれる様々なユーザー・タイプの詳細は、「データ・カタログのユーザーおよびロール」を参照してください。
アクション | ユーザー | 説明 |
---|---|---|
ポリシーの作成 |
データベース「データ・カタログ」管理者 |
Autonomous Databaseリソース・プリンシパルまたはAutonomous Databaseユーザー資格証明には、「データ・カタログ」を管理してオブジェクト・ストレージから読み取るための適切な権限が必要です。 詳細情報: 必要な資格証明とIAMポリシー。 |
資格証明を作成 |
データベース「データ・カタログ」管理者 |
「データ・カタログ」にアクセスしてオブジェクト・ストアを問い合せるためのデータベース資格証明が設定されていることを確認します。 ユーザーは、 詳細情報: DBMS_CLOUD CREATE_CREDENTIALプロシージャ、 DBMS_CLOUDでのリソース・プリンシパルの使用. |
「データ・カタログ」への接続の作成 |
データベース「データ・カタログ」管理者 |
Autonomous Databaseインスタンスと「データ・カタログ」インスタンス間の接続を開始するには、ユーザーは 「データ・カタログ」インスタンスへの接続では、十分なOracle Cloud Infrastructure (OCI)権限を持つデータベース資格証明オブジェクトを使用する必要があります。 たとえば、Autonomous Databaseインスタンスのリソース・プリンシパル・サービス・トークンまたは十分な権限を持つOCIユーザーを使用できます。 接続が完了すると、「データ・カタログ」インスタンスは
DBMS_DCAT ネームスペースおよびカスタム・プロパティで更新されます(まだ存在しない場合)。 ユーザーは問合せを実行して、現在のすべての接続を含む新しい接続を表示できます:
詳細情報: SET_DATA_CATALOG_CONNプロシージャ、UNSET_DATA_CATALOG_CONNプロシージャ。 |
選択的同期の作成 |
データベース「データ・カタログ」管理者 |
同期する「データ・カタログ」オブジェクトを選択して、同期ジョブを作成します。 ユーザーは次を行うことができます:
詳細情報: CREATE_SYNC_JOBプロシージャ、DROP_SYNC_JOBプロシージャ、同期マッピングを参照してください |
データ・カタログとの同期 |
データベース「データ・カタログ」管理者 |
ユーザーが同期操作を開始します。 同期は、 同期操作では、「データ・カタログ」コンテンツおよび同期選択に従って外部表およびスキーマが作成、変更および削除されます。 手動構成は、「データ・カタログ」カスタム・プロパティを使用して適用されます。 詳細情報: RUN_SYNCプロシージャ、CREATE_SYNC_JOBプロシージャ、同期マッピングを参照してください |
同期の監視とログの表示 |
データベース「データ・カタログ」管理者 |
ユーザーは、USER_LOAD_OPERATIONS ビューを問い合せて同期ステータスを表示できます。 同期プロセスが完了すると、ユーザーは、論理エンティティと外部表のマッピングの詳細など、同期結果のログを表示できます。
詳細情報: 負荷のモニタリングとトラブルシューティング |
権限の付与 |
データベース「データ・カタログ」問合せ管理者、データベース管理者 |
データベース「データ・カタログ」問合せ管理者またはデータベース管理者は、生成された外部表に対するREADをデータ・アナリスト・ユーザーに付与する必要があります。 これにより、データ・アナリストは生成された外部表を問い合せることができます。 |
外部表の参照と問合せ |
データ・アナリスト |
データ・アナリストは、Oracle SQLをサポートするツールまたはアプリケーションを使用して、外部表を問い合せることができます。 データ・アナリストは、DCATスキーマ内の同期されたスキーマと表を確認し、Oracle SQLを使用して表を問い合せることができます。 詳細情報: 同期マッピング |
「データ・カタログ」への接続の終了 |
データベース「データ・カタログ」管理者 |
既存の「データ・カタログ」関連付けを削除するには、ユーザーはUNSET_DATA_CATALOG_CONNプロシージャをコールします。 このアクションは、「データ・カタログ」およびカタログから導出された外部表を使用する予定がなくなった場合にのみ実行されます。 このアクションは、「データ・カタログ」メタデータを削除し、同期された外部表をAutonomous Databaseインスタンスから削除します。 「データ・カタログ」およびOCIポリシーのカスタム・プロパティは影響を受けません。 |
親トピック: データ・カタログを使用した外部データの問合せ
例: MovieStreamシナリオ
このシナリオでは、Moviestreamがオブジェクト・ストレージのランディング・ゾーンにデータをキャプチャしています。 このデータの多くは、必ずしもすべてではなく、Autonomous Databaseのフィードに使用されます。 Autonomous Databaseにフィードする前に、データは変換され、クレンジングされた後、「ゴールド」領域に格納されます。
「データ・カタログ」は、これらのソースを収集し、データにビジネス・コンテキストを提供するために使用されます。 「データ・カタログ」メタデータはAutonomous Databaseと共有されるため、Autonomous DatabaseユーザーはOracle SQLを使用してこれらのデータ・ソースを問い合せることができます。 このデータは、Autonomous Databaseにロードすることも、外部表を使用して動的に問合せすることもできます。
「データ・カタログ」の使用方法の詳細は、「データ・カタログ・ドキュメント」を参照してください。
親トピック: データ・カタログを使用した外部データの問合せ
例: パーティション化されたデータのシナリオ
このシナリオは、オブジェクト・ストアのパーティション・データから収集された「データ・カタログ」論理エンティティに基づく外部表をAutonomous Databaseで作成する方法を示しています。
次の例は「例: MovieStreamシナリオ」に基づいており、パーティション化されたデータとの統合を示すように適応されています。 「データ・カタログ」は、これらのソースを収集し、データにビジネス・コンテキストを提供するために使用されます。 この例の詳細は、「例: MovieStreamシナリオ」を参照してください。
「データ・カタログ」の使用方法の詳細は、「データ・カタログ・ドキュメント」を参照してください。
親トピック: データ・カタログを使用した外部データの問合せ