Autonomous Databaseでのデータ・レイク機能の使用

Autonomous Databaseをデータ・レイクハウスとして使用する方法について説明します。

Autonomous Databaseを使用したデータ・レイクでのSQL分析について

データレイクは、現在のデータ管理アーキテクチャの重要な部分であり、Oracle、Amazon、Azure、Google、その他のベンダーのオブジェクトストア製品にわたってデータが保存されています。

データ・レイクは、データ・ウェアハウスの拡張と補完を行います。

  • ETLのデータ処理エンジンとして: これにより、データ・ウェアハウス・ワークロードを削減できます。

  • データ・ウェアハウスに適さない可能性があるデータを格納します。これには、ログ・ファイル、センサー・データ、IoTデータなどが含まれます。これらのソースデータは、情報密度が低いほど膨大になる傾向があります。このデータをオブジェクト・ストアに格納すると、データ・ウェアハウスに格納するよりも適切である場合がありますが、データから導出された情報はSQL分析に最適です。

  • データ・サイエンスおよびビジネス分析で使用する場合: データをデータ・レイクにアップロードし、そのデータに対して様々な処理方法(Spark、Pythonなど)を使用するのは簡単です。

    Autonomous Databaseを使用するビジネス・アナリストは、ETLを使用せずにこれらのデータセットを簡単に活用できます。データ・セットをウェアハウス内のデータと組み合せて、新しいインサイトを得ることができます。たとえば、アナリストはサード・パーティの顧客の人口統計ファイルをオブジェクト・ストレージにアップロードし、そのデータをウェアハウス内のデータとすぐに使用して顧客セグメンテーション分析を実行し、人口統計データを既存の顧客および販売データと混合します。

Autonomous Databaseのデータレイクとの緊密な統合は、最新のデータ管理における新しいカテゴリであるデータレイクハウスを表しています。Autonomous Databaseは、機械学習、グラフ、空間、JSONなどのリッチで高パフォーマンスのSQLアクセスと組み込み分析を提供することで、データレイクへのアクセスを簡素化します。このオープン・アクセスにより、SQLベースのビジネス・インテリジェンス・ツールまたはアプリケーションは、データレイクの複雑さを理解することなく、複数の場所に格納されているデータを使用することでメリットを得ることができます。

data-lake-architecture.pngの説明が続きます

Autonomous Databaseとデータレイクの統合

Autonomous Databaseは、Oracle Cloud Infrastructureだけでなく、Amazon、Azure、Googleなどでもデータレイクとの統合をサポートしています。データベースにデータをロードするか、ソース・オブジェクト・ストアでデータを直接問い合せるかを選択できます。どちらの方法でも、同じツールとAPIを使用してデータにアクセスします。Autonomous Databaseにデータをロードすると、通常、オブジェクト・ストレージに直接問い合せる場合と比較して、クエリ・パフォーマンスが大幅に向上します。ただし、オブジェクト・ストアに直接問い合せると、データをロードする必要がなくなり、新しいデータ・ソースに分析を拡張するためのアジャイルなアプローチが可能になります。これらの新しいソースが実証された価値があると判断されたら、データをAutonomous Databaseにロードするオプションがあります。

オブジェクト・ストアのデータにアクセスするためのセキュリティ資格証明

Autonomous Databaseは、Oracle Cloud Infrastructure、Azure、AWS、Googleなど、複数のクラウド・サービスおよびオブジェクト・ストアをサポートしています。これらのストアにアクセスする最初のステップは、セキュリティ・ポリシーが適用されていることを確認することです。たとえば、オブジェクト・ストレージのバケット内のファイルの読取りまたは書込み(あるいはその両方)を行う認可ルールを指定する必要があります。各クラウドには、ロール・ベースのアクセス制御を指定するための独自のプロセスがあります。

オブジェクト・ストレージ・プラットフォームに適切なポリシーを設定するには、次を確認します:

ノート

セキュリティ・プリンシパルは、パブリックに格納されているデータには必要ありません。

Autonomous Databaseは、資格証明オブジェクトを使用してアイデンティティを表し、クラウド・サービスにアクセスします。外部ソースへの接続に使用されるセキュリティ資格証明の詳細は、CREATE_CREDENTIALプロシージャを参照してください。

このアイデンティティは、Oracle Cloud Infrastructureユーザーまたはリソース・プリンシパル、Amazon WebサービスARN、Azureサービス・プリンシパルまたはGoogleサービス・アカウントです。資格証明は、Autonomous Database発行の各サービス・リクエストに含まれ、ユーザー・アクションはクラウド・リソースによって認可されます。適切な認可がないと、サービス・リクエストは失敗し、通常は「見つかりません」エラーになります。

様々なタイプのクラウド・サービス資格証明の使用についてさらに学習するには、次のブログ投稿を参照してください:

セキュリティ・ポリシーが設定されたら、Autonomous DatabaseツールまたはDBMS_CLOUD APIを使用してサービスにアクセスできます。

Data Studioを使用したデータのロードおよびリンク

Data Studioはビジネス・ユーザー向けに設計されており、データ・ソースからデータを効率的にロードするデータ・ロード機能と、データの動的な問合せに使用される外部表を作成するデータ・リンク機能を提供します。

まず、クラウド・ストレージの場所へのポインタを作成します。クラウド・ストレージの場所は、オブジェクト・ストア内のバケットです。次に、データベース・ツールを使用してデータをドラッグ・アンド・ドロップし、オブジェクト・ストレージ・ソースをターゲット表にマップします。

マッピングを作成すると、基礎となるオブジェクト・ストア・オブジェクトのスキーマ(列およびデータ型)が自動的に導出され、ジョブ定義が簡略化されます。このカバーの下では、Data StudioはAutonomous Database DBMS_CLOUD APIを使用してデータにリンクおよびロードします。

詳細は、「「データ・ロード」ページ」を参照してください。

ロード・データ

DBMS_CLOUDデータ・ロードAPIをETL処理フローの一部として使用できます。DBMS_CLOUD APIは、様々なデータ・ソースを処理する複雑さをカプセル化し、非常に効率的なロード・ジョブを生成することで、ロード・プロセスを簡素化します。ソース・プロパティ(データの場所、ファイル・タイプ、非構造化ファイルの列など)と、ターゲット表へのマッピングを指定します。このドキュメントでは、様々なソースからデータをロードする詳細について説明し、検出された処理ステップや不良レコードなど、データ・ロードのデバッグについて説明します。

データのロードには、次のものが必要です。

  • 資格証明を作成しています
  • JSON、データ・ポンプ、デリミタ付きテキスト、Parquet、Avro、ORCなど、様々なタイプのファイルをロードしています。
  • Oracle GoldenGateなどを使用したレプリケーション。

データをロードするための主要なDBMS_CLOUD APIの一部を次に示します。

  • COPY_DATAプロシージャ: オブジェクト・ストレージ・ソースからデータをロードします。ソースとそのソースがターゲット表にどのようにマップされるかを指定します。APIでは、デリミタ付きテキスト、Parquet、AvroおよびORCなど、様々なファイル・タイプがサポートされます。処理のロギングには多数の機能があります。

  • COPY_COLLECTIONプロシージャ: オブジェクト・ストレージからコレクションにJSONデータをロードします。

  • SEND_REQUESTファンクションおよびプロシージャ: 最も柔軟なアプローチであるDBMS_CLOUD.SEND_REQUESTは、RESTリクエストをWebサービス・プロバイダに送信して処理します。DBMS_CLOUD.SEND_REQUESTを独自のPL/SQLプロシージャで使用して、アクセス可能なファイル・ストアで使用できないデータ(政府サービスからの天気データなど)をロードします。

データ・パイプラインを使用して、データ・レイクからの継続的な増分データ・ロードを行うこともできます(データがオブジェクト・ストアに到着すると、データベース表にロードされます)。データ・インポート・パイプラインは、DBMS_CLOUDで提供されるものと同じ基礎となるロード機能を利用します。

DBMS_CLOUD_PIPELINEパッケージは、次のようなパイプラインを作成、管理および実行するためのAPIのセットを提供します:

詳細は、「継続的なロードおよびエクスポートのためのデータ・パイプラインの使用」を参照してください。

データのリンク

Autonomous Database外部表は、データへのリンクに使用されます。外部表は、データをロードせずにオブジェクト・ストア内のファイルに直接アクセスします。これは、オブジェクト・ストレージ内のデータを迅速に調査してその価値を理解する場合に最適です。アプリケーションは、Autonomous Databaseの他の表と同様に外部表を問い合せます。ソースの場所は透過的です。つまり、SQLベースのツールまたはアプリケーションは、データ・ウェアハウスとデータ・レイク全体でクエリを行い、そうでなければ達成が困難であった新しいインサイトを見つけることができます。

外部表では、デリミタ付きテキスト、JSON、Parquet、Avro、ORCなど、様々なファイル・タイプがサポートされています。このドキュメントを参照して、外部表タイプ、ソースの検証、Oracle Cloud Infrastructureデータ・カタログの活用による外部表の自動生成など、外部の概念についてさらに学習します。

次に、外部表を使用するためのDBMS_CLOUD APIの一部を示します。

  • CREATE_EXTERNAL_TABLE: オブジェクト・ストレージ・データに対する外部表を作成します。

  • CREATE_EXTERNAL_PART_TABLE: オブジェクト・ストレージ・データに対するパーティション化された外部表を作成します。

    パーティション化された外部表は、問合せ時にパフォーマンス上の利点を提供します。パーティション・プルーニングにより、処理に必要のないデータファイルをスキャンする必要がなくなります。たとえば、12個のパーティションがあり、2021年には各月に1つずつあります。2021年3月の問合せでは、その1か月(1/12)のデータのみがスキャンされ、パフォーマンスが大幅に向上します。

    DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEプロシージャは、各パーティションのデータが独自のフォルダに格納される、標準のデータ・レイク・パーティション化パターンを理解します。このプロシージャは、基礎となるデータ編成に基づいてパーティションを自動的に作成します。SYNC_EXTERNAL_PART_TABLEを使用して、基礎となるデータが変更された場合に表のパーティションを更新します。

  • CREATE_HYBRID_PART_TABLE: ハイブリッド・パーティション表を作成します。

    ハイブリッド・パーティション表を使用すると、Autonomous Databaseに格納する必要があるパーティション・データと、外部に格納されるパーティション・データの両方を指定できます。これにより、アーカイブされたデータがオブジェクト・ストアに格納される間、問合せのパフォーマンスと更新を高速化するために、データベースにホット・データを保持できます。アプリケーションは、データがどこにあるかを理解することなく、ハイブリッド表を問い合せます。

SQLを使用したデータ・レイクハウスの問合せ

Autonomous Databaseをデータレイクと統合した後、幅広いOracle SQLを使用して、データベースとオブジェクト・ストレージの両方にわたってデータをクエリできます。

data-lake-features.pngの説明が続きます

データの場所は、アプリケーションに対して完全に透過的です。アプリケーションは、Autonomous Databaseに接続してから、すべてのOracle SQL問合せ言語を使用してデータ・セット全体にわたって問合せを実行します。

これにより、次のことができます:

  • データ・レイクとデータ・ウェアハウスからの情報を関連付けます。
  • 任意のSQLツールまたはアプリケーションからデータにアクセスします。
  • ツールやスキルセットへの投資を維持します。
  • Oracle Databaseの高度なセキュリティ・ポリシーを使用して機密データを保護します。
adb_lakehouse_graph.pngの説明が続きます

詳細分析

様々なタイプのデータを統合することで、ビジネス・アナリストは、すべてのデータにAutonomous Databaseの組込み分析を適用でき、特殊な分析エンジンをデプロイする必要はありません。

Autonomous Databaseをデータレイクハウスとして使用すると、コストのかかるデータ・レプリケーション、セキュリティ上の課題、管理オーバーヘッドがなくなります。最も重要なことは、クロスドメイン分析を可能にすることです。たとえば、機械学習モデルでは、空間分析を簡単に活用して、「ハリケーンの移動が製品出荷に与える影響を予測できるかどうか」などの質問に答えることができます。

次の表に、Autonomous Databaseで利用できる高度な分析機能のスナップショットを示します。

拡張分析タイプ 機能
グラフ分析

グラフ・アルゴリズム: コミュニティの検出と評価、リンク予測、パス検索、ランキングおよびウォーキングのための50以上の組込みアルゴリズムのライブラリ

グラフ問合せ:

  • エンティティ間の関係に基づいて新しいメトリックを計算
  • 予測結果を評価し、新しい接続を検出します。

グラフを使用するためのツール:

  • リレーショナル・データをグラフにマップするグラフ・モデリング・ツール
  • インタラクティブな分析とコラボレーションのためのブラウザベースのノートブック
  • 統合されたグラフ・ビジュアライゼーション

詳細は、Oracle Graphを参照してください。

空間分析

地理空間データ処理:

  • アドレスデータまたは場所名の変換先

    地理空間データ

  • 地理空間データの準備、検証およびクレンジング

地理空間データ分析: 位置および近接性に基づいて分類またはフィルタします

マップ視覚化: 対話型の分析およびレポート

詳細は、Oracle Spatialを参照してください。

機械学習

MLアルゴリズム

  • 高速なモデル構築とリアルタイム・スコアリング
  • 言語の選択: SQL、R、Python

コラボレーション可能なツール

  • ノーコードAutoMLにより、モデルの構築、チューニング、導入を自動化
  • ノートブックはインタラクティブな分析とビジュアライゼーションを提供します
  • ノートブックとテンプレートの共有

詳細は、Oracle Machine Learningを参照してください。

分析ビュー

共有ビジネス・モデル:

  • ビジネス階層の定義
  • ビジネス階層を活用したメトリックの作成
  • ツールやアプリケーションで共有されるモデル(Oracle Analytics Cloud、Tableauなど)
  • モデルを活用するためのSQLの拡張

分析ビューを使用するためのツール: データ分析ツールにより、多次元モデルの作成が簡素化されます

詳細は、分析ビューを参照してください。

共通メタデータを使用したコラボレーション

従来、データ管理ソリューションの主な課題の1つは、データそのものを理解することです。

データに関する重要な質問がある場合があります。

  • 表に含まれるデータ
  • 列の意味は何ですか。
  • データの信頼性について教えてください。財務報告に十分な正確性がない場合、マーケティングの目的で役立ちますか?
  • データが最後に更新されたのはいつですか?
  • オブジェクト・ストレージに含まれるファイルのスキーマは何ですか。

Oracle Cloud Infrastructureは、これらの質問に対する回答を提供する一元化されたデータ・カタログOracle Cloud Infrastructure Data Catalog (データ・カタログ)を提供します。データ・カタログを使用すると、オブジェクト・ストレージ、Autonomous Database、Oracle Databases、MySQL、Kafka、Hiveなどのデータを迅速に検出できます。

自動メタデータ収集(表や列の定義など)は、これらのソースから技術メタデータを導出します。また、オブジェクト・ストレージ・データレイク内の非構造化ソースからメタデータを導出することもできます。ソースが収集されると、ビジネス・アナリストとデータ・スチュワードはビジネス用語とカテゴリをデータに適用します。これで、データ・プロバイダ/コンシューマが名前、ビジネス用語、タグおよびカスタム・プロパティに基づいてアセットを検索するためのコラボレーション環境が整いました。

Autonomous Databaseはデータ・カタログと統合されているため、管理プロセスが簡素化され、レイクハウス全体でセマンティックの一貫性が促進されます。データ・カタログによって収集されたデータレイク・メタデータは、Autonomous Databaseと自動的に同期されます。これにより、ビジネス・アナリストは、オブジェクト・ストア内のデータをすぐに問い合せ、お気に入りのSQLベースのツールおよびアプリケーションを使用してその情報をAutonomous Databaseのデータと組み合せることができます。

データ・カタログへの接続の設定方法に関する詳細の表示

Autonomous DatabaseでのSpark

オブジェクト・ストレージ・データに対する単一の処理または分析エンジンはありません。ただし、主要な処理エンジンの1つはApache Sparkです。

Sparkは、ETLおよびデータ・サイエンスのワークロードで頻繁に使用される分散データ処理フレームワークです。Sparkは、次のものを含むOracle Cloud Infrastructureサービスで使用されます:

  • Oracle Cloud Infrastructure Data Flow: fully managed Apache Spark service.
  • Oracle Cloud Infrastructure Data Integration: 完全管理型のクラウド・サービスで、様々なソースからのデータの取込み、そのデータのクレンジング、変換およびリシェイプ、ターゲット・データ・ソースへの効率的なロードなどの一般的な抽出、ロードおよび変換(ETL)タスクに役立ちます。
  • Oracle Cloud Infrastructure Data Science: JupyterLabノートブック環境を提供し、数百もの一般的なオープン・ソース・ツールおよびframeworks.Sparkベースにアクセスできる機械学習(ML)サービス。

Autonomous Databaseとの深いSpark統合があります。Spark on Oracleは、SparkベースのアプリケーションからのAutonomous Databaseへのアクセスを最適化するオープン・ソース・プロジェクトです。Sparkカタログは、データベース・データ・ディクショナリで拡張されます。データベースは、使用可能な追加のネームスペースと考えてください。Sparkを介して実行される問合せは、Autonomous Databaseに対してSparkを書き換えることで、高効率のOracle SQLに自動的に変換されます。つまり、Autonomous Databaseでは、ほとんどのSparkのコネクタ(つまり、基礎となるシステムに投影およびフィルタをプッシュする)よりも統合が進みます。Spark on Oracleは、Spark SQLのすべての分析関数および演算子を含む複雑な分析パイプラインを完全にプッシュできます。たとえば、TPC-DS問合せの90%以上が処理のためにOracle Databaseに完全にプッシュ・ダウンされました。

Oracle上のSparkのブログおよびオープン・ソース・プロジェクトを表示します。