申し訳ございません。検索条件に一致するものが見つかりませんでした。

お探しのものを見つけるために、以下の項目を試してみてください。

  • キーワード検索のスペルを確認してください。
  • 入力したキーワードの同義語を使用してください。たとえば、「ソフトウェア」の代わりに「アプリケーション」を試してみてください。
  • 新しい検索を開始してください。
お問い合わせ Oracle Cloudにサインイン

アプリケーション開発用のコンバージド・データ・アーキテクチャ

リファレンス・アーキテクチャは、モダン・アプリケーション開発のコア要件を満たすために特定の設計原則を適用するものです。これらの原則により、開発者は、AI/ML、データドリブンの分析、およびメッセージング・プラットフォームを統合したWebアプリケーションやモバイル・アプリを構築できます。イベントドリブンのアーキテクチャは、イベントにリアルタイムで対処できます。これらのアーキテクチャ・パターンは、財務、小売、医療、エネルギー、製造の各分野におけるカスタム・アプリ開発の促進に役立ち、パッケージ化されたオラクルのアプリケーションの拡張にも役立ちます。ほとんどのエンタープライズ・アプリケーションはデータ中心型で、さまざまなデータが含まれており、コンバージド・データベースでの開発が適しています。これらのアーキテクチャ・パターンでは、Java、Python、Javascript、Goなどの一般的な言語でのプログラミングもサポートされています。ローコード・アプリケーション開発は、必要なテクノロジー層を圧縮するもので、一部のアプリケーションに適しています。Kubernetesによって管理されるアプリケーションおよびデータベース・コンテナは、Oracle Cloud(OCI)、スタンドアロン環境、その他の主要なパブリック・クラウドにデプロイできます。

Web/モバイルのガイダンス

通常、Webアプリケーションやモバイル・アプリには、ユーザーに表示されるフロント・エンド、クエリ・ジェネレータ、およびデータの計算を行いフロント・エンドを支援するバック・エンドが含まれています。Webアプリケーションは、ユーザーまたはAPIのリクエストに応じて、データベースに格納されている永続的なデータやAPIとやりとりします。アプリケーションは、ブラウザやモバイル・デバイスなどのさまざまなクライアントをサポートし、APIおよびイベントを使用して他のシステムおよびアプリケーションとやりとりする必要があります。バックエンドは安全である必要があることに加え、オンデマンドでスケールする必要があります。

Webアプリケーションは、さまざまなアプリケーション・チームで個別にテスト、デプロイ、所有できるマイクロサービスのセットとして構築します。イベントおよびメッセージ用の組み込みイベント・メッシュ、またはマイクロサービスごとに作成されたAPIを使用して、サービスをREST APIとして公開し、他のマイクロサービスと通信します。データベース内のRESTエンドポイントを通じて、機械学習をMLモデルとともにインテリジェント・アプリケーションに組み込みます。

Webアプリケーションやモバイル・アプリは、需要の急増に対処し、ストレスがかかった状態でも低レイテンシで動作するようにスケーラブルである必要があります。また、24時間365日利用可能で、回復性が高くリクエストに応じてデータを生成でき、保存された情報が失われないことが必要です。

モバイル・アプリの構築には、React NativeやSwiftUIなどのフロントエンド・フレームワークを使用でき、すべてのデータおよびエンリッチメント・サービスを使用するためのバックエンドとやりとりするユーザー・インタフェースを作成できます。開発者は、回復性が高く、安全で、自律的にスケールされる、明確に定義されたAPIを通じてバックエンドにアクセスできるため、ワークフローとアプリケーション・ロジックに注力できます。

インターネットに公開されるWebアプリケーションでは、セキュリティが最も重要です。データの暗号化、TLS、DDoS保護、ファイアウォール、ユーザーおよびデータ・アクセスの詳細な管理が不可欠です。データベース・セキュリティとアプリケーション・セキュリティの両方が重要であり、これらのセキュリティは、Oracle Database WalletおよびOCI Vaultサービスを通じてアクセスされるパスワードとキーを使用して処理されます。

設計原則

軽量なオープンソース・フレームワークと成熟度の高いプログラミング言語を使用する

Javascript(React)またはSwiftUIでモバイル・フロントエンドおよびWebフロント・エンドを作成します。バックエンドのデータおよびアプリケーション・サービスを使用するために、多言語サポート(Python、Node.js、Java、PL/SQL、Goなど)を組み込み、これらの言語で記述されたユース・ケースおよびマイクロサービスを有効にします。データは、保存されている場所の近くで処理します。

APIを介して通信するサービスとしてアプリケーションを構築する

多くの場合、Webアプリケーションやモバイル・アプリは、組織外にある他のビジネス・システムやビジネス・サービスとやりとりする必要があります。Webアプリケーションの一部であるサービスは、明確に定義されたAPIを介して、やりとりとコラボレーションを実現する必要があります。Oracle REST Data Services(ORDS)を使用してデータAPIを使用するか、新しいデータAPIを作成します。OML ServicesとOML4Py Embedded Python Executionを介して既製のRESTエンドポイントを使用し、機械学習を有効にします。Oracle Cloudで使用可能なAPIゲートウェイをすべてのクライアントの単一のエントリ・ポイントとして使用し、APIリクエストを適切なサービスにルーティングします。マイクロサービス間のセキュアなAPI通信を確立するために、ロード・バランサ・サービスとイングレス・コントローラーを構成します。

フルマネージドのサービスを使用して、アプリケーション開発の複雑さの排除、ランタイムの低減、およびデータ管理の簡素化を実現する

Webアプリケーションまたはモバイル・アプリのインフラストラクチャの保守には、設定のデプロイ、アップグレード、パッチ適用、スケーリング、および保護を行う責任が伴います。Oracle Autonomous Databaseなどのマネージド・サービスとOracle Cloud上の他のマネージド・サービスのホストを使用して、可用性とスケーラビリティを最大化し、Webアプリケーションやモバイル・アプリに関する要求の変化に対応します。マネージド・サービスにより、アプリケーションが24時間365日利用可能になり、インフラストラクチャがホストされているデータセンターで障害が発生した場合でも、アプリケーションが保護されます。セルフ・マネージング・サービスは、ベンダー・マネージド・サービスが使用できない場合にのみ使用します。

アプリケーション層をステートレスに維持する

アプリケーションの中間層コンポーネントをステートレスに維持します。アプリケーションの状態を保存する場合は、Oracle Autonomous Databaseを使用して、アプリケーションのデータと状態を保存し、アプリケーション状態の一貫性、永続性、およびルートからの高速リカバリ性を確保します。1つのデータベースに状態を保持すると、アプリケーションのリカバリ全体がよりシンプルかつ効率的になります。

すべてのデータに対するフル機能をサポートしたコンバージド・データベースを使用する

Webアプリケーションやモバイル・アプリでは、さまざまな形式のデータを使用するため、データストア内のデータの格納、検索、処理を行う必要があります。データは、表形式(リレーショナル)データ、非構造化データ、XMLおよびJSON形式のデータ、空間データ、またはグラフである可能性があります。従来は、このような異なるデータを扱うために、リレーショナル・データにはリレーショナル・データベース、非構造化データにはドキュメント・ストア、階層リンク・データにはグラフ・データベースが使用されていました。しかし、複数のデータベースを使用すると、運用が複雑になり、データの一貫性が失われてしまう可能性があります。この問題を解決するため、コンバージドOracle Autonomous Databaseを使用して、複数タイプのデータを格納し、インデックス作成を行います。これにより、データを検索する方法が得られ、すべてのデータにわたる統合的な分析を使用できます。

エンドツーエンドの監視と追跡を実装する

Webアプリケーションやモバイル・アプリには、異なるアプリケーション・チームやビジネス・チームが所有する何百ものサービスが含まれる場合があります。本質的に分散しているこれらのシステムの動作を可視化するには、オープン・ツール・インタフェースによる統合的な可観測性が重要になります。アプリケーション層とデータ層のすべてのレイヤーからエクスポートされた指標、ログ、トレースを使用して、可観測性ソリューションを一元化します。これらのサービスは、フロントエンドからバックエンドまでスタック全体を監視し、アプリケーションの問題の迅速な検出と修正を助け、継続的なパフォーマンス・チューニングを実現するプラットフォームとして機能します。

自動化されたデータ・レプリケーションと障害回復によって単一障害点を排除

Webアプリケーションやモバイル・アプリは、障害からの高い回復性が必要であり、ダウンタイムを最小限に抑え、データ損失を排除できる必要があります。冗長化は単一障害点の排除に役立ちます。Kubernetesを使用して、データベース・コンテナとアプリケーション・コンテナの回復性を管理します。Oracle Database Kubernetes演算子は、この目的のために設計されており、データ層を含むCI/CDパイプラインを使用しています。Kubernetesクラスタで、各ノードがOCIのマルチ可用性ドメイン・リージョン内の異なる可用性ドメインにあるような3つ以上のノードを使用してノード・プールを設定します。OCIの単一可用性ドメイン・リージョンで、それぞれが異なるフォルト・ドメインにあるノードを使用して、Kubernetesにノード・プールを設定します。単一のパブリック・ロード・バランサと複数のプライベート・ロード・バランサに加え、複数のイングレス・コントローラーを使用して、Kubernetesの冗長性を確保します。

可用性を最大限に高めるために、Autonomous Databaseを設定し、Autonomous Data Guardを使用して運用上のダウンタイムとデータの損失を最小限に抑えます。

最小権限の原則に従って、タスクの実行に必要な最小限の権限をユーザーとサービス・アカウントに割り当てます。Cloud Identity and Access Management(IAM)を使用して、データベースを含むWebアプリケーション・コンポーネントにアクセスできるユーザーを制御します。IAMでマルチファクタ認証を使用して強力な認証を強制することで、管理者はアプリケーション・コンポーネントおよびデータベースへのアクセスを制限できます。

アーキテクチャ

Webアプリケーションまたはモバイル・アプリ用のこのコンバージド・データ・アーキテクチャ・パターンは、フロントエンドと、Oracle Autonomous Databaseに組み込まれたアプリケーションおよびデータ・サービスを使用するバックエンドのマイクロサービスで構成されます。オプションで、データベース内にないサービスについては、コンテナ内のマイクロサービスとしてKubernetesクラスタで管理されます。

次のダイアグラムは、このリファレンス・アーキテクチャを示しています。

Webリファレンス・アーキテクチャ

このアーキテクチャには、次のコンポーネントが含まれています(コンポーネントは、Oracle Cloud Infrastructure上のフルマネージドのサービス、または他のデプロイ環境の同等サービスです。たとえば、Oracle Autonomous DatabaseはOCI上のマネージド・サービスで、Oracle Databaseは他の環境で実行されます)。

  • Oracle Autonomous Database
    Oracle Autonomous Databaseは、あらゆるタイプのデータを格納、処理、分析するためのデータ・サービス(運用データベース、データ・ウェアハウス、および分析)を提供します。また、組み込みのイベントおよびメッセージング・プラットフォーム(Transactional Event Queues)、機械学習、REST API、およびローコード開発環境を含むアプリケーション・サービスも提供します。これは、マイクロサービスとして記述される最新のWebアプリケーションおよびモバイル・アプリ向けのフル機能データ・プラットフォームです。
  • Container Engine for Kubernetes(OKE)
    Kubernetesサービスは、コンテナ化されたアプリケーションをクラウドにデプロイするために使用できるフルマネージドでスケーラブルな可用性の高いサービスです。アプリケーションに必要なコンピュート・リソースを指定すると、Container Engineが既存のテナンシのOCIにそれらのリソースをプロビジョニングします。Container Engineは、Kubernetesを使用して、ホストのクラスタ間で、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化します。
  • ロード・バランサ
    Oracle Cloud Infrastructure Load Balancingサービスは、1つのエントリ・ポイントからバックエンド内の複数のサーバーへの自動トラフィック分散を実現します。
  • Oracle Cloud Infrastructure Identity and Access Management(OCI IAM)
    OCI IAMは、堅牢な認証、MFA、ソーシャル・ログイン、エンドユーザーへの自動登録、アイデンティティ管理、シングル・サインオン(SSO)、およびアプリケーションのアイデンティティ・ガバナンスを提供します。

ユースケース

このユース・ケースでは、GrabDishというモバイル・フード・デリバリ・サンプル・アプリについて説明します。このアプリは、Autonomous Databaseによるマイクロサービス・アーキテクチャと、その各サービス用のコンテナ化データベース(コンテナ・データベース内のプラガブル・データベース)を使用します。また、組み込みメッセージング・プラットフォームであるTransactional Event Queues(TEQ)を使用して、開発者のために一般的なマイクロサービス・パターンを簡素化しています。GrabDishでは、AI/MLサービスに加え、さまざまな種類のデータを使用しており、アプリが複数の言語でプログラミングされています。詳細については、GrabDishのLivelabs(http://bit.ly/simplifymicroservices)を参照してください。

詳細を確認する

関連リソースで詳細をご確認ください。

イベントドリブンのガイダンス

メッセージング・ソリューションでは、既存のオンプレミス・システムを含むアプリケーション・コンポーネントをクラウド・ソリューションに接続します。メッセージ・ペイロードは、アプリケーション生成イベント、ユーザー入力、データ変更、またはデバイス生成イベントなどのイベントです。メッセージングは、明確に定義された分散処理パイプラインの一部として、またはデータを処理、エンリッチ、および分析する複数の独立したダウンストリーム・システムにメッセージおよびイベントを公開するために、イベントおよびデータの転送を有効にします。マイクロサービスで構築されるモダン・アプリケーションは、イベント・ドリブンなアーキテクチャに依存しています。イベント・メッシュを使用すると、システム内で生成された任意のイベントを、1つまたは複数のイベント・ブローカを通じて、そのイベントをほぼリアルタイムで必要とする分散システム内の他のどの場所でも安全に利用できます。イベントが処理された後、データ(ペイロード)は、分析およびAI/MLモデル・トレーニングのためにデータ・レイクハウスに保存されます。

可用性と信頼性が高く、柔軟なメッセージング・ソリューションを構築します。オラクルのコンバージド・データベース・プラットフォーム、クラウド・サービス、およびベストプラクティスを使用して、ビジネス・ニーズに基づくメッセージング・ソリューションおよびイベントドリブンのソリューションを提供します。これらの推奨事項は、開発の統合、デプロイのオーバーヘッド、および長期的な管理に伴う負担を最小限に抑えるのに役立ちます。

メッセージング・ソリューションは、既存のオンプレミス・システムを含むアプリケーション・コンポーネントをクラウド・ソリューションに接続します。これらのソリューションは、適切に定義された分散処理/コンバージド処理パイプラインの一部としてデータ転送を有効にしたり、個別に進化している複数の独立したダウンストリーム・システムにメッセージおよびイベントを公開したりします。

また、これらのソリューションは、データをバッファリングし、プロセス・リソースを動的に調整することによって、メッセージ負荷の計画外の急増に透過的に対応する必要があります。これまでは、企業が、過度の複雑さと費用を発生させずに、これらの目標を満たす信頼性の高いメッセージング・ソリューションを導入し管理するのは困難でした。しかし、規模とパフォーマンスを考慮して設計されたメッセージング・サービスを使用することで、この実装をクラウドで簡単に実現できるようになりました。

設計原則

以下の設計原則を使用して、コンバージド・データ・アーキテクチャに基づくメッセージング・アプリケーションやメッセージング・プラットフォームを構築してください。

APIを通じて通信するサービスとしてアプリを構築

Oracle Transactional Event QueuesとのメッセージングにJMS APIまたはKafka APIを使用します。標準のAPIを使用すると、アプリケーションの移植性が確保され、ハイブリッド・クラウドおよびマルチクラウドのメッセージング・アプリケーションをシームレスに構築できます。

フルマネージドのサービスを使用して、アプリケーション開発、ランタイム、およびデータ管理に関する複雑さを排除する

インフラストラクチャ・メンテナンスとセキュリティ・パッチ適用が組み込まれたフルマネージドのサービス上でアプリケーションを実行します。スケーリングの自動化を活用して、変化する負荷に対応できます。フルマネージドのOracle DatabaseサービスであるOracle Autonomous DatabaseをOCI上で使用します。Oracle Transactional Event Queuesは、すべてのOCIリージョンで使用可能なデータベースの組み込み機能です。

すべてのデータに対するフル機能をサポートするコンバージド・データベースを使用する

JSON、リレーショナル・データ、グラフ・データ、空間データなど、さまざまなタイプのデータをネイティブにサポートしているOracle Autonomous Databaseを使用します。データベース機能を使用して、アプリケーション・ロジックを簡素化します。たとえば、クエリ、結合、分析にSQLを使用します。トランザクションを使用して整合性と独立性を担保し、組み込みの機械学習アルゴリズムと分析機能を使用することで、不要なデータ転送を回避します。データベースのセキュリティ機能とアクセス制御を使用して機密データを保護し、レプリケーションを使用してアプリケーションの可用性、スケーラビリティ、回復性を高めます。

エンドツーエンドの監視と追跡を実装する

メッセージング・アプリケーションには、異なるアプリケーション・チームやビジネス・チームが所有する何百ものサービスが含まれる場合があります。複雑で分散しているこれらのシステムの動作を可視化するには、オープン・ツール・インタフェースによる統合的な可観測性ソリューションが重要になります。各チームが独自のソリューションを構築する代わりに、アプリケーションのすべてのレイヤーからエクスポートされた指標、ログ、およびトレースを一元化します。TEQの指標はPrometheusにエクスポートできます。Prometheusは、デバッグおよびパフォーマンス・チューニング・ワークフロー用のGrafanaダッシュボードをサポートしています。

水平スケーリングを通じて単一障害点を排除し、障害回復を自動化します。

TEQはOracle Autonomous Databaseの一部であるため、追加の作業なしで、組み込まれた高可用性機能およびリージョン間のディザスタ・リカバリ機能をアプリケーションで利用できます。

また、TEQのトランザクション・メッセージングにより、外部障害からのリカバリも簡素化されます。

アプリケーションのライフサイクルを保護する多層防御アプローチを導入する

権限のあるユーザーのみがストリームからデータを作成、送信、または受信できるように、Identity and Access Control(IAM)ポリシーを実装します。インターネットからのアクセスを制限するmTLSおよびサービス・ゲートウェイを使用して、メッセージング・エンドポイントへのアクセスを保護することで、エンドポイントに到達可能性の最小化の原則を適用します。保管中および転送中のデータを暗号化して、データの秘密保護を実現します。データベースに接続するための認証情報を保護するには、Database Walletを使用します。

アーキテクチャ

コンバージド・データベース・アーキテクチャは、最新のアプリケーションでメッセージング・パターンを実現するための設計を提供します。このパターンでは、Oracle Autonomous Databaseに組み込まれたTransactional Event Queues(TEQ)を使用します。

このアーキテクチャは、外部ストリーミング・サービスやキューイング・サービスを活用する必要性を排除することにより簡素化を実現します。また、一般的なマイクロサービス・パターンを簡素化するトランザクション・メッセージング機能を提供します。

コンバージド・データベース・アーキテクチャの画像

アプリケーション・アーキテクトは、このアーキテクチャのスケーラビリティ、パフォーマンス、および簡素化を考慮する必要があります。

  • 非同期メッセージングのためにOracle DatabaseでTransactional Event Queues(TEQ)を使用
    コンバージドOracle Databaseは、スケーラブルなインフラストラクチャでデータとメッセージの処理を結合し、データベース内のすべてのデータおよびメッセージのライフサイクル管理およびセキュリティを簡素化します。データ処理がデータストアの近くで行われるため、個別のメッセージング・インフラストラクチャを管理する場合と比較して、パフォーマンスとセキュリティが向上し、アップグレードやメンテナンスが容易になります。

    データベース内のTransactional Event Queuesにより、メッセージングおよびデータベース操作に関するトランザクションが提供されるため、マイクロサービスの構築が簡素化されます。Transactional Outboxパターンは、追加コードなしで、Exactly-Once(正確に1 回)のメッセージングにより暗黙的にサポートされ、このパターンを使用すると、アプリケーションの記述が簡単になります。ネットワークまたはサーバーの障害は、トランザクションのロールバックによって簡単にリカバリできます。
  • Oracle TEQの高スループット・メッセージングでは、1日当たり最大1兆件のメッセージをスケールアップ可能
    最も要求の厳しいメッセージング・ワークロードの場合、Oracle TEQでは、エンキューおよびデキュー操作に使用されるインメモリ・アクセラレータ・キャッシュにより、高スループット・パフォーマンスを実現します。TEQでは、イベント処理で典型的な小さいメッセージと、ビジネス・ワークフローに関連する大きなペイロードの両方がサポートされます。TEQでは、ペイロードをメッセージ・キャッシュのメタデータ管理から分離することで、大きなメッセージをサポートします。
  • Oracle TEQはイベント・メッシュとしても機能
    メッセージングに加えて、TEQは、セキュアなイベント・メッシュとしてKafkaと相互運用され、クラウド上に構築されたエンタープライズ・アプリケーションのために、適切なイベントを適切なアプリケーションにリアルタイムで転送します。イベント変換は、組み込みのルール・エンジンによりサポートされ、イベント処理は、メッセージのエンキューとデキューの両方で利用できるコールバック・メカニズムによりサポートされます。これらのコールバック・メカニズムでは、Java、PL/SQL、またはOCIの関数を実行できます。

    TEQでは、Kafkaコネクターを使用して、さまざまなイベント・プロデューサ・タイプおよびコンシューマ・タイプと相互運用できます。これにより、イベント・メッシュが確立され、企業全体にわたるスケーラブルなマイクロサービス・アプリケーション開発環境のバックボーンになります。
  • Oracle TEQは、単一のプラットフォームでJMSメッセージングとKafkaのようなPub/Subを最大限に活用
    Oracle TEQを備えた単一のメッセージング・システムに、最適なJMSメッセージングとPub/Subストリーミングを実装します。Oracle TEQは、Kafkaのトピック/パーティションと同様にパーティショニングされた、最新のメッセージング・エンジンであり、コンバージドOracle Databaseと併用することにより、イベント交換用のメッセージング・パターンを使用する、最も要求の厳しいデータ集約的なイベントドリブン・アプリケーションを実現できます。

ユースケース

FedExでは、Oracle E-Business Suiteと、Oracle TEQを使用して構築されたビジネス・イベント・マネージャを使用して、毎日提供されている1,550万件の荷物の売掛金を処理しています。

  • FedExは、Exadata Cloud Serviceを使用してE-Business SuiteをOracle Cloud Infrastructureに移行しました。E-Business Suiteのワークフローとビジネス・イベント・システムは、すべてOracle Advanced Queuing(AQ)メッセージングで構築されています。
  • Oracle AQは使いやすく、高パフォーマンス・キューの場合、Oracle TEQが、キューごとに複数のイベント・ストリームを持つ高パフォーマンスのドロップイン置換になります。

ワンタイム・パスワード(OTP)を使用するさまざまな2要素認証(2-FA)シナリオは、Oracle Transactional Event Queuesによって実現しています。

  • 2-FAは、世界中の小売業界で荷物の配送を検証するために使用されています。メッセージが小売業者のアプリケーションから認証対象となる顧客や配送担当者のアプリに送信されます。
  • 2-FAは、ATMから現金を引き出す際の本人確認にも使用されています。この場合、ATMアプリ、銀行アプリ、および顧客のモバイル・アプリが、認証のためにメッセージを交換しています。

詳細を確認する

関連リソースで詳細をご確認ください。

ローコードのガイダンス

ローコード・プラットフォームは、ビジネスのステークホルダーとのコラボレーションによる日常的なアプリケーションの構築、データ・レポートおよび分析アプリケーションの構築、SaaSアプリケーションの拡張、レガシー・アプリケーションの最新化に適しています。コードのすべての行には、作成するためのコスト、メンテナンス、デバッグ、アップグレードおよび保護のためのコストが関連付けられています。Oracle Application Express (APEX)は、直感的でグラフィカルな開発エクスペリエンスを通じて、高レベルのコンポーネントと共通設計パターンを提供することによって、開発者がこのコストを削減できるよう支援します。

ローコード・プラットフォームを使用すると、従来のハンド・コーディングと比べて高速にエンタープライズ・アプリケーションを構築できます。これらのプラットフォームは、ビジネス関係者とのコラボレーションによる適時アプリケーションの構築、データ・レポートおよび分析アプリケーションの構築、SaaSアプリケーションの拡張、レガシー・アプリケーションの最新化に適しています。

ローコード・プラットフォームを使用することで、Webアプリケーションの開発の複雑さから解放され、ビジネス上の問題の解決に注力できます。このような複雑さには、セキュリティ、アクセシビリティ、効率的なデータ・アクセス、パフォーマンス、およびグローバリゼーションが含まれます。ローコード・プラットフォームにより、メンテナンスが必要なコードの量が大幅に削減され、このような複雑さが排除されます。

Oracle Application Express(APEX)は、直感的でグラフィカルな開発エクスペリエンスを通じて、高レベルのコンポーネントと共通設計パターンを提供することで、開発者が従来のアプリケーション開発に関連するコストを削減するのを支援します。

Oracle Cloud Infrastructure(OCI)は、最も要求の厳しいアプリケーションに必要な、セキュアで信頼性が高く、スケーラブルで高パフォーマンスのインフラストラクチャを提供します。これらのアプリケーションをスケールすることで、小規模なワークグループから数百万人のエンドユーザーまで幅広くサポートできます。このドキュメントでは、ローコード・アプリケーションを設計する際の設計原則と最適な実装パスについて説明します。

設計原則

ローコード・パターンを実装するときは、以下に示すモダン・アプリケーション開発の設計原則を使用します。

フルマネージドのサービスを使用して、アプリケーション開発、ランタイム、およびデータ管理に関する複雑さを排除する

アプリケーション開発時にメタデータドリブンのローコード・アプローチを採用します。可能な場合はアプリケーション・ロジックを宣言的に指定し、必要な場合にのみコードを記述します。SQLを使用して、データベース内のデータを直接操作します。Oracle Autonomous DatabaseやOracle APEX Application Development(APEXサービス)などのフルマネージドのサービスを使用することで、可用性とスケーラビリティを最大化し、ローコード・アプリケーションの需要の変化に対応できます。また、Oracle Real Application Clusters(RAC)やOracle Data Guardなどのデータベース機能を使用することで、24時間365日利用可能なローコード・アプリケーションを実現し、インフラストラクチャがホストされているデータセンターで障害が発生しても、確実にフェイルオーバーを行うことができます。

ビルド、テストおよびデプロイメントの自動化

OCI Resource Managerを使用して、Oracle Autonomous DatabaseおよびAPEX環境のプロビジョニングを自動化します。Oracle SQL Developer Command Line(SQLcl)とLiquibaseを併用して、データ・モデル変更のデプロイを自動化します。APEXのワンクリック・アプリケーション・デプロイ機能を使用して、環境間で変更を手動によりデプロイします。

アプリケーション層をステートレスに維持する

Oracle APEXはステートレスかつサーバーレスであり、ランタイム・アプリケーションの状態は表に格納されるため、ユーザー間で接続を再利用できます。これにより、高いユーザー同時実行性をサポートできる接続が大幅に削減されます。

すべてのデータに対するフル機能をサポートしたコンバージド・データベースを使用する

ローコード・アプリケーションでは、通常、構造化(リレーショナル)形式、非構造化(XML/JSONドキュメント)形式、空間形式などのさまざまな形式のデータを処理する必要があります。APEXがAutonomous Databaseに組み込まれているため、SQL、PL/SQL、およびサーバー・サイドJavaScriptを使用して、これらのすべてのデータ形式を処理できます。また、APEXの独自アーキテクチャにより、アプリケーションでは、ゼロレイテンシのデータ・アクセスが実現され、最適なパフォーマンスを提供できます。

エンドツーエンドの監視と追跡を実装する

ユーザーごとの詳細なトレースおよびデバッグ情報を含む組み込みのアクティビティ・モニタリング機能を使用して、APEXアプリケーション・アクティビティを監視およびトレースします。APEX管理サービスからワークスペース・レベルおよびインスタンス・レベルのアクティビティを確認します。パフォーマンス・ハブを使用して、データベース・アクティビティを監視し、自動ワークロード・リポジトリ(AWR)レポートを確認することにより、最上位のリソース・コンシューマを特定したり、チューニングの推奨事項を特定したりします。

自動化されたデータ・レプリケーションと障害回復によって単一障害点を排除する

Oracle Autonomous DatabaseのAPEXは、データ層(ExadataおよびRAC)と中間層(冗長なOracle REST Data Servicesノード)を含む高可用性アーキテクチャを使用してデプロイされます。Autonomous Data Guardを使用して、アプリケーションの可用性をさらに高め、可用性ドメインの障害から保護します

アプリケーションのライフサイクルを保護する多層防御アプローチを導入する

APEXアプリケーションの認証スキームには、OCI Identity and Access Management(IAM)を使用します。APEXアプリケーションとアプリケーション・コンポーネントに認証スキームを割り当て、ユーザーの役割または権限に基づいてアクセス制御を適用します。APEXの組み込み宣言機能を使用して、セッション・ステート保護(SSP)およびアイテム・レベルの暗号化を処理し、アプリケーションとデータを保護します。SQLクエリにバインド変数を使用して、SQLインジェクションから保護します。アプリケーションに適したタイムアウトを設定して、非アクティブなセッションが自動的に終了するようにします。組み込みのAPEXアドバイザを実行して、保護されていないページ、アイテム、ボタンなどの潜在的なセキュリティ上の懸念を検出します。宣言的なエスケープとプログラムによるエスケープAPIを使用して、クロスサイト・スクリプティング(XSS)から保護します。

アーキテクチャ

このアーキテクチャは、Oracle APEX Application Development(APEXサービス)およびすべてのOracle Autonomous Databaseサービスを使用したローコード・アプリケーション開発およびデプロイに適しています。これらのサービスをデプロイすることで、フルスタックの提供に必要なすべてのコンポーネントが自動的にプロビジョニングされ、完全に管理されます。これらのコンポーネントには、ゲートウェイ、ロード・バランサ、およびOracle REST Data Servicesが含まれます。

ローコード・アーキテクチャ

この図は、Oracle APEX Application DevelopmentとすべてのOracle Autonomous Databaseサービスを使用したローコード・アプリケーション開発およびデプロイの基礎となるアーキテクチャを示しています。フルマネージドの環境には、パブリック・サブネットとプライベート・サブネットが含まれています。フルマネージドの環境の外には、APEXアプリケーション、Oracle REST Data Services API、および外部REST APIのサービスがあります。これらのサービスは、インターネット・ゲートウェイまたはNATゲートウェイを介してフルマネージドの環境にアクセスします。

パブリック・サブネットにはロード・バランサが含まれ、プライベート・サブネットにはOracle REST Data ServicesインスタンスとOracle Autonomous Databaseが含まれており、その上にOracle APEX on Autonomous Databaseのインスタンスがあります。

APEXアプリケーションとOracle REST Data Services APIからのトラフィックは、インターネット・ゲートウェイを介してロード・バランサにルーティングされます。これにより、プライベート・サブネット内のOracle REST Data Servicesインスタンスとの双方向の転送が実現します。さらに、このサービスは、Oracle Autonomous Databaseと双方向に通信します。Oracle APEX on Autonomous Databaseからのトラフィックは、NATゲートウェイを介して外部REST APIに直接ルーティングされます。

すべてのアプリケーション・アーティファクトは、データベース層にデプロイされ、アプリケーション層とデータベース層の間のネットワーク・トラフィックが不要であるため、ゼロレイテンシのデータ・アクセスが実現します。

  • ゲートウェイとロード・バランサ
    このインフラストラクチャは、自動的にプロビジョニングされ、フルマネージドであり、APEXサービスへのアクセスをサポートするために提供されます。これらのサービスは、ローコードAPEXアプリケーション開発者に対して完全に透過的です。
  • Oracle APEX
    Oracle APEX on Autonomous Databaseは、アプリケーションの開発とデプロイのための、事前構成済みでフルマネージドかつセキュアな環境を提供します。
  • Autonomous Database
    Oracle Autonomous Databaseは、トランザクション処理ワークロード用に最適化された、自律運転、自己保護、自己修復が可能なデータベース・サービスです。ハードウェアの構成や管理、ソフトウェアのインストールが不要です。OCIがデータベースを作成し、バックアップ、パッチ適用、アップグレード、およびチューニングを管理します。Autonomous Databaseは、さまざまなデータ・タイプについて格納、インデックス作成、検索、操作を行うことができるコンバージド・データベースを実現します。
  • Oracle REST Data Services
    Oracle REST Data Services(ORDS)は、HTTPSとOracle Databaseの橋渡しを行います。中間層JavaアプリケーションであるOracle REST Data Servicesは、Database Management REST API、SQL Developer Web、APEXアプリケーションへのPL/SQLゲートウェイ、およびOracle Databaseのデータおよびストアド・プロシージャを操作するためのRESTful Webサービスを公開する機能を提供します。

その他の考慮事項

ローコード・パターンを実装する場合は、以下の点も考慮する必要があります。

  • APEXを使用して開発したアプリケーションは、REST APIを直接使用するか、RESTデータをローカルで自動的に同期することで、外部のサービスおよびシステムと統合できます。
  • 組み込みのRESTデータ・ワークショップとOracle REST Data Servicesを使用して、APEXで開発された機能を外部で使用するためのREST APIとして公開することもできます。

代替パターンとアンチパターン

ここに示したパターンで説明されているアーキテクチャの代替パターンについて検討してください。また、アンチパターンの実装を避けてください。

  • 代替パターン
    特定のエッジ・ケースのために、制御性に優れたテクノロジーを使用して、ローコード・アプリケーションを拡張することがよく行われます。アプリケーション・コンポーネントがローコード・アプリケーション開発に適していない場合は、JavaまたはJavaScriptアプリケーションを使用して同じデータにアクセスし、一般的な単一のデータ・ストアを実現します。このパターンでは、特定のユース・ケースに対して最適なテクノロジーを使用し、残りのユース・ケースにはローコードを使用するという柔軟性が得られます。
  • アンチパターン
    ほとんどのビジネス・アプリケーションでは、ハンドコーディングを推奨しません。適時アプリケーションの開発では、セキュリティ、アクセシビリティ、効率的なデータ・アクセス、パフォーマンス、グローバリゼーションなど非常に多くの複雑さを伴います。ただし、ローコード・プラットフォームを使用することで、これらの複雑さにより効率的に対処できます。

ユースケース

ローコード・パターンの有効性を示す例には、次のようなものがあります。

  • アプリケーションの適時性
    新しいビジネス・チャンスが生じると、新しいアプリケーションの迅速な構築が必要になる場合があります。組織では、変化するビジネス・ニーズに対応し、競争力を維持するために必要な、アプリに関する大量のバックログを抱えています。これらのバックログは適切に定義されていない場合があり、またビジネスの優先順位が急速に変化する可能性があるため、アプリケーションは、必要に応じて、すぐに構築でき、簡単に更新できる必要があります。APEXを使用することで、このようなアプリケーションを簡単に構築および保守できます。
  • データ・レポートと分析
    組織全体は言うまでもなく部門の範囲内であっても、全体像を正確に把握することは多くの場合、容易ではありません。データは多数のシステムに保持されていて、既存のレポートには限界があり、十分な情報に基づくビジネス上の意思決定に必要な詳細を提供できない場合があるため、だれが何を閲覧できるかを制限したり、データ漏えいを回避したりするのが難しく、また定型レポートの処理に何時間もかかることがあります。APEXとその幅広いレポート機能やデータ可視化機能を使用すると、さまざまなユーザー・コミュニティに適したダッシュボードをはるかに簡単に開発できます。
  • SaaSおよびEBS拡張
    ERPシステムは、幅広い機能を提供しますが、必要な特定のレポートを常に提供できるわけではなく、業界や組織に固有の機能がない場合もあります。一般的なビジネス・プロセスにおいて、完了する必要があるステップが多すぎて、非効率である場合もあります。そのような場合、APEXを使用して拡張機能を構築することで、適切な情報の提供や、生産性とユーザー・エクスペリエンスの大幅な向上を実現できます。
  • レガシー・アプリケーションのモダナイゼーション
    多くの場合、Oracle Formsアプリケーションのクライアント/サーバー・ユーザー・エクスペリエンスは時代にそぐわないものになっています。このようなレガシー・システムでは、ユーザビリティやアクセシビリティの問題が発生したり、各種ブラウザとの連携が困難であったり、モバイル対応が不十分であったりすることがよくあります。Oracle APEXは、Oracle Formsアプリケーションを最新のWebアプリケーションに簡単に移行させるのに最適なプラットフォームです。同じストアド・プロシージャやPL/SQLパッケージがAPEXでネイティブに動作するため、開発が容易になります。
  • スプレッドシートの代替
    ほぼすべての組織が、スプレッドシートを使用してデータの配布とレポート作成を行っています。なぜなのでしょうか。スプレッドシートは簡単に作成できるからです。データがあれば、だれでもスプレッドシートにまとめることができます。作成されたスプレッドシートは、更新のために社内でやり取りされることが多く、異なるデータが含まれるコピーが多数発生することやビジネス・プロセスの不備につながることは避けられません。これよりもはるかに優れたソリューションは、データを管理するためにだれもが利用できるブラウザベース・アプリケーションを使用して、完全に保護されたデータベースに単一のデータソースを格納することです。

詳細を確認する

関連リソースで詳細をご確認ください。

AI/MLのガイダンス

ビッグ・データは、データベース、ビデオ、フォーム、ドキュメント、ログ・ファイル、Webページ、イメージなどのソースから来たデータ・タイプ(非構造化、半構造化、構造化)を管理、収集、格納、カタログ化、準備、処理および分析できる一連の機能とパターンです。さらに、機械学習プラットフォームはフルマネージドで、データ・エンジニアおよびデータ・サイエンティストがモデル開発ライフサイクルのすべてのステップを実行できる必要があります。

Oracleのビッグ・データ機能は、さまざまなサービスやツールにわたり、スキルと好みに基づいたビッグ・データ・ジャーニーを始めることができます。コンバージドOracle Databaseを使用すると、各種のデータをデータベースに格納し、最大で数PBのボリュームにスケールアップでき、データの取り込みとイベントの処理(Transactional Event Queuesを使用)が高速化し、組み込みのセキュリティですべてのデータを保護できます。コンバージド・データ・アーキテクチャでは、Oracle Autonomous Databaseを使用することで、コンバージド・データベース・プラットフォーム内のデータのボリューム、多様性、速度、正確性に対処できます。

データ・サイエンティストや機械学習エンジニアは、インフラストラクチャのプロビジョニング、アップグレード、パッチ適用、保護に時間をかけたくありません。ビジネスに影響を与えるモデルを構築、トレーニング、デプロイすることに時間を費やしたいと考えています。機械学習プラットフォームはフルマネージドで、データ・サイエンティストや機械学習エンジニアがモデル開発ライフサイクル(構築、トレーニング、デプロイ、および監視)のすべてのステップを実行できる必要があります。機械学習に使用するデータは、ソースに依存するべきではなく、データ・サイエンティストがモデルを構築、トレーニング、デプロイする際に、一貫性のある信頼性の高いデータにアクセスできる必要があります。

最新の機械学習ツールキットのほとんどはオープン・ソースであり、Pythonで記述されています。そのため、機械学習プラットフォームは、オープン・ソース・フレームワークとPythonをネイティブにサポートする必要があります。また、ユーザーが独自のライブラリをインストールするか、既にインストールされているライブラリをアップグレードすることで、機械学習環境をカスタマイズできる機能も提供する必要があります。プラットフォームでは、データ・サイエンティストが構造化、非構造化、半構造化データでモデルをトレーニングできるとともに、抽出、変換、ロード(ETL)またはトレーニングのステップを多数のコンピュート・リソースにわたって垂直方向または水平方向にスケールできることが求められます。

さらに、機械学習プラットフォームは、最小限の負担で(できれば単純なRESTコールを通じて)リアルタイムでの使用のためにモデルを簡単にデプロイでき、また、監査および再現を行うことができるように、デプロイされたモデルの系統を保持する必要があります。

設計原則

ビッグデータおよび分析のパターンを実装する場合は、以下に示すモダン・アプリケーション開発の設計原則を使用してください。

フルマネージドのサービスを使用して、アプリケーション開発、ランタイム、およびデータ管理に関する複雑さを排除する

データからどれだけの価値を引き出すことができるかは、データを活用する能力にかかっています。ビッグデータ・ツールはオープン・ソース・コミュニティで評価が高く、データウェアハウス、分析、AI/MLモデルのトレーニングとデプロイを始めとする、そのほとんどの機能は最新のデータベースと同等です。コンバージドOracle Databaseは、このようなビッグデータ・プラットフォームの1つです。

Oracle Autonomous Data Warehouseの外部表およびSQLなどのオラクルのネイティブ・プレミアム機能では、Oracle DatabaseとOCIオブジェクト・ストアでデータ・レイクハウスを使用して数ペタバイトのデータをリアルタイムに格納および分析できます。

ビルド、テストおよびデプロイメントの自動化

ビッグデータ・パイプラインの利点を最大限に活用するには、DataOpsが重要です。Oracle Cloud Infrastructure Data Integrationサービスを使用して、データを取り込み、ETL処理とELTプッシュダウンを実装し、さらに、タスクを順番にまたは並列に接続するパイプラインを作成してプロセスを簡素化します。パイプラインには、Oracle Cloudの内外にある各種の一般的なデータソースを含めることができます。データ統合スケジューリング機能を使用して、各タスクを実行するタイミングと頻度を定義します。Oracle Database Cloud Service Managementを使用して、スケジュール上の一連のデータベースに対して実行するデータベース・ジョブを定義します。CI/CDパイプラインと統合的な可観測性を組み込んで、アプリケーション開発者のための強化を行います。

すべてのデータに対するフル機能をサポートしたコンバージド・データベースを使用する

ビジネス価値を最大限に高めるために、データの統合を簡素化、自動化、高速化するのに最適なツールを使用します。データウェアハウス、部門データマート、および構造化データを使用する提供レイヤーやプレゼンテーション・レイヤーの場合は、これらのシナリオ用に最適化されたAutonomous Databaseを使用します。Autonomous Data Warehouse機能では、Oracle Analytics Cloudのような分析ツール、ビジネス・インテリジェンス・ツール、およびレポート・ツールに接続することもできます。

アプリケーションのライフサイクルを保護する多層防御アプローチを導入する

データを保護するための計画を立てます。データを取り込むすべてのジョブを追跡し、データレイクからデータを取得します。データ系統メタデータを保持し、アクセス制御ポリシーが更新されていることを確認します。

最小権限の原則に従って、タスクの実行に必要な最小限の権限をユーザーとサービス・アカウントに割り当てます。Oracle Cloud Infrastructure Identity and Access Managementを使用して、データ・プラットフォーム・コンポーネントにアクセスできるユーザーを制御します。Oracle Cloud Infrastructure Identity and Access Managementのマルチファクタ認証を使用して、管理者に強力な認証を適用します。Oracle Datasafeのデータベース・セキュリティを使用して、すべてのデータ、ユーザー、およびアクセス・パターンのセキュリティ状態を取得します。パスワードや認証トークンなどの機微な情報をVaultサービスに格納します。

アーキテクチャ

データの生成、すべてのタイプのデータの格納および分析を行うエンタープライズ運用のために、スケーラブルなコンバージド・データベース(トランザクション処理およびデータウェアハウス)を使用します。このアーキテクチャでは、さまざまなデータソース(エンドユーザー、デバイス、イベント、センサー、およびアプリケーション)が、データ・ストリーミング用のデータ統合(Oracle GoldenGate)およびOracle Transactional Event Queuesを介してデータベースにデータをフィードします。データは、SQLと外部表を使用してビッグデータのOCIオブジェクト・ストアをサポートするOracle Autonomous Database(Oracle Autonomous Transaction ProcessingおよびOracle Autonomous Data Warehouse)に格納されます。モデルを構築およびデプロイするためにOracle Machine Learningを使用し、データに関するインサイトを取得するためにOracle Analytics Cloudを使用します。

データの探索と準備、機械学習モデルの構築、評価、デプロイには、Oracle Autonomous Database上のOracle Machine Learning(OML Notebooks、OML AutoML UI、OML Services、OML4Py)を使用します。

このアーキテクチャ・パターンは、モデルのトレーニングに必要なデータがデータベースに取り込まれ、データに近い場所で処理が行われる場合に強力な能力を発揮します。このパターンには、OMLトレーニング用のデータ探索で探索や準備を行うことができるさまざまなデータソースとイベントが含まれているため、SQL、Python(OML4Pyを使用)、またはノーコードのAutoMLをOMLと併用してモデルの作成、トレーニング、デプロイを行うことができます。OCI Data Science(TensorflowやPyTorchなど)とOML Servicesを使用して他の場所でトレーニングされたモデルを、ONNXモデル形式を使用してインポートします。

このパターンでは「データへのアルゴリズムの移動」アプローチを使用します。すべてのデータは、ソースで(外部表を使用して)アクセスされて、または取り込まれてから、処理され、MLモデル用のコンバージド・データベースに保存されます。データベースでモデルのトレーニングが完了すると、SQLクエリ(PREDICTION演算子を使用)またはOML4Py APIを通じて、モデルを直接デプロイできます。外部でトレーニングされたモデルは、OML Servicesを使用してデプロイできます。また、Autonomous Databaseでは、テキスト分析、空間分析、およびグラフ分析の機械学習を使用できます。

AI/MLのアーキテクチャ

このアーキテクチャでは、以下のコンポーネントを使用します。

  • 自律型データベース
  • OCIデータ・カタログ
  • Oracle Machine Learning(OML)- SQL、OML4Pyを使用
  • OMLサービス
  • Oracle Transactional Event Queues(TEQ)
  • GoldenGateデータ統合
  • Oracle Spatial Studio
  • Oracle Graph Studio
  • Oracle Text

以下のデータソースを使用できます。

  • エンタープライズ・アプリケーション
  • デバイス
  • エンドユーザー
  • イベント
  • センサー
  • あらゆるデジタル資産

このアーキテクチャでは、VCN内に次のコンポーネントがあります。

  • 仮想クラウド・ネットワーク(VCN)
    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータセンター・ネットワークと同様に、VCNでは、ネットワーク環境を完全に制御できます。VCNには、重複のないCIDRブロックを複数含めることができ、VCNの作成後に変更できるます。VCNはサブネットにセグメント化でき、これにより、スコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続したアドレス範囲で構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにも設定できます。
  • データ統合
    Oracle Cloud Infrastructure Data Integrationは、フルマネージドのサーバーレス・クラウド・サービスで、データを取り込み、データ・サイエンスや分析のためにデータを変換します。オラクルの最新のノーコード・データフロー・デザイナにより、データレイクおよびウェアハウスにおいて複雑なETLおよびELTを簡素化できます。結合、集約、式など、すぐに使える演算子を使用して、データを調整できます。
  • ADBのOracle Cloud Infrastructure Transactional Event Queues(TEQ)
    自律型データベース内のOracle Transactional Event Queuesは、データベースに統合されたメッセージ・キューイング機能を提供します。この高度に最適化されパーティショニングされた実装では、Oracle Databaseの機能を利用して、メッセージを永続的に格納することによって、プロデューサとコンシューマがメッセージを高スループットで交換でき、異なるデータベースのキュー間でメッセージを伝達できます。Oracle Transactional Event Queuesは、キューごとに複数のイベント・ストリームを持つ、高パフォーマンスのパーティショニングされた実装です。
  • Oracle Autonomous Database
    Oracle Autonomous Databaseは、データウェアハウス・ワークロード用に最適化された、自律運転、自己保護、自己修復が可能なデータベース・サービスです。ハードウェアの構成や管理、ソフトウェアのインストールが不要です。Oracle Cloud Infrastructureは、データベースの作成を処理します。

    このクラウド・データウェアハウス・サービスは、データウェアハウスの運用、データの保護、データドリブンのアプリケーションの開発といったあらゆる複雑さを解消します。データウェアハウスのプロビジョニング、設定、保護、チューニング、スケーリング、およびバックアップを自動化します。このサービスには、セルフサービスのデータ読み込み、データ変換、ビジネスモデリング、自動インサイト、組み込みの統合データベース機能のためのツールが含まれており、複数のデータ型にまたがるよりシンプルなクエリと機械学習分析が可能です。
  • OCI Object Storage
    オブジェクト・ストレージでは、データベースのバックアップ、分析データ、および画像や動画などのリッチ・コンテンツを含む、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。データを安全かつセキュアに保存でき、インターネットから直接またはクラウド・プラットフォームからデータを取得できます。パフォーマンスやサービスの信頼性を低下させることなく、シームレスにストレージをスケールできます。迅速に、即時に、または頻繁にアクセスする必要がある「ホット」ストレージには、標準ストレージを使用します。長期間保持し、ほとんどアクセスしない「コールド」ストレージにはアーカイブ・ストレージを使用します。

    このインターネット規模の高パフォーマンス・ストレージ・プラットフォームは、信頼性とコスト効率の高いデータ永続性を提供します。オブジェクト・ストレージ・サービスは、分析データや、画像および動画などのリッチ・コンテンツを含む、あらゆるコンテンツ・タイプの非構造化データを無制限に格納できます。
  • Oracle Autonomous Database上のOracle Machine Learning
    Oracle Autonomous Database(Autonomous Transaction ProcessingおよびAutonomous Data Warehouse)上のOracle Machine Learning。MLでは、空間処理およびグラフ処理に加えて、荷物配送のルーティングの簡素化や、マネー・ロンダリング対策業務での迅速な異常検出など多数のユース・ケースを実現できます。
  • Oracle Analytics Cloud
    クラウドで最新の分析を実現するこのクラス最高のプラットフォームは、ビジネス・アナリストとコンシューマの役に立ちます。Oracle Analytics Cloudは、AIを搭載した最新のセルフサービス分析機能を備え、データの準備、データ・ディスカバリ、データの可視化、強化された分析によるインテリジェントなエンタープライズ・レポートやオンデマンド・レポート、自然言語処理、および自然言語生成に対応しています。ビジネス・アナリスト、データ・エンジニア、企業内データ・サイエンティスト、部門マネージャー、ドメイン・エキスパートまたはエグゼクティブなどだれであっても、Oracle Analytics Cloudはデータからインサイトを得るのに役立ちます。
  • 分析、ML、およびカスタム・アプリケーション
    ビッグデータをカタログ化、準備、処理、および分析する分析サービス、Oracle Machine Learning、およびカスタム・アプリケーション。
  • OCI Data Catalog
    Oracle Cloud Infrastructure Data Catalogは、エンタープライズ・データに関するフルマネージドのセルフサービス・データ・ディスカバリおよびガバナンス・ソリューションです。組織の技術メタデータ、ビジネス・メタデータ、および運用メタデータを管理するための単一のコラボレーション環境をデータ・エンジニア、データ・サイエンティスト、データ・スチュワード、および最高データ責任者に提供します。

    Oracle Cloud Infrastructure Data Catalogは、データのプロフェッショナルがデータ・ディスカバリを行ったり、データ・ガバナンスをサポートしたりするのに役立つメタデータ管理サービスです。
  • Oracle GoldenGate
    このフルマネージドのサービスは、リアルタイムかつログベースのチェンジ・データ・キャプチャ(CDC)およびレプリケーション・ソフトウェア・プラットフォームを提供し、現在のトランザクション・ドリブンのアプリケーションのニーズに応えます。このソフトウェアは、異種環境間でのトランザクション・データの取得、ルーティング、変換、および配信をリアルタイムで提供します。

考慮事項とアンチパターン

ビッグデータと分析については、以下の点を考慮してください。

  • データのコピーと移動を削減する
    データの移動はコストがかかり、リソースと時間を消費し、データの正確さを低減させる可能性があります。データ・タイプ、データ品質、および必要な変換に応じて、データを格納および処理する適切なサービスを選択しまず。あらゆるタイプの生データのデータレイク・ストレージにコンバージドOracle Databaseを使用して、最大で数ペタバイトの運用データと分析データをリアルタイムで管理できます。適切なオブジェクト・ストアを使用することで、このストレージを拡張します。変換されたデータをプレゼンテーション用に保存するには、Oracle Autonomous Data Warehouseを使用します。適切なストアを使用すると、データのコピーと移動を回避でき、保守および同期の維持が困難な場合があるデータの重複コピーを削減できます。
  • ユーザーに必要なデータ・インタフェースを提供する
    エンタープライズ・データおよび分析プラットフォームは、データ・エンジニア、データ・アナリスト、アプリケーション開発者、ビッグデータ・エンジニア、データベース管理者、ビジネス・アナリスト、データ・サイエンティスト、データ・スチュワード、その他のコンシューマなど、さまざまなタイプのユーザーが利用します。ユーザーごとに、データの利用に関するさまざまなニーズや好みがあります。すべてのユース・ケースとデータ・コンシューマ要件を理解することが重要です。SQLクエリおよびビジネス・インテリジェンス・ツールとのインタフェースには、Autonomous Data Warehouseを使用します。

機械学習と人工知能を実装する際には、以下の点を考慮してください。

  • モデル開発ライフサイクルの各ステップで水平方向のスケーラビリティを提供します。また、ETLおよびデータ処理ステップ、モデル・トレーニング自体、およびモデル・デプロイにも、水平方向のスケーラビリティを提供します。モデルの再現性を確保します。モデルは監査されるため、再現できる必要があります。モデルを再現するには、モデルの保存時にソース・コード、トレーニング・データセット、検証データセット、および環境(サードパーティ・ライブラリおよびアーキテクチャ)への参照を提供する必要があります。コードの追跡にはGitリポジトリへの参照とコミット・ハッシュを使用します。トレーニングおよび検証のデータセットのスナップショットの保存には、オブジェクト・ストレージを使用します。
  • バージョン管理コード、機能、およびモデル。この考慮事項は、モデルの再現性に関連しています。
  • サードパーティのランタイム依存関係をパッケージ化、共有、および再利用します。同じPythonノートブック、ジョブ、およびモデル・デプロイを再利用します。このようにすることで、これらのステップ間でサードパーティ依存関係の不一致が発生するリスクも最小限に抑えられます。
  • データ転送を制限する際にデータソースに依存しないようにします。モデル・トレーニング環境へのデータ転送は時間がかかります。ノートブック環境またはトレーニング・ジョブ間で共有できるデータベース内のデータをできるだけ使用します。モデルのトレーニングと検証の目的で、ローカル・データセット・スナップショットを保持します。

アンチパターン

実装を設計する際には、以下の点を考慮してください。

  • コンバージド・データベースを使用しない場合、データの断片化、コピーの伝ぱ、データ・セキュリティのリスクが発生します。
  • データ・カタログ化とデータ・ガバナンスの欠如は、データレイクをデータ・スワンプにしてしまう可能性があります。

代替パターンとアンチパターン

ここに示したパターンで説明されているアーキテクチャの代替パターンについて検討してください。また、アンチパターンの実装を避けてください。

  • 代替パターン
    特定のエッジ・ケースのために、制御性に優れたテクノロジーを使用して、ローコード・アプリケーションを拡張することがよく行われます。アプリケーション・コンポーネントがローコード・アプリケーション開発に適していない場合は、JavaまたはJavaScriptアプリケーションを使用して同じデータにアクセスし、一般的な単一のデータ・ストアを実現します。このパターンでは、特定のユース・ケースに対して最適なテクノロジーを使用し、残りのユース・ケースにはローコードを使用するという柔軟性が得られます。
  • アンチパターン
    ほとんどのビジネス・アプリケーションでは、ハンドコーディングを推奨しません。適時アプリケーションの開発では、セキュリティ、アクセシビリティ、効率的なデータ・アクセス、パフォーマンス、グローバリゼーションなど非常に多くの複雑さを伴います。ただし、ローコード・プラットフォームを使用することで、これらの複雑さにより効率的に対処できます。

ユースケース

以下に、Oracle Cloud Infrastructure(OCI)のデータおよび分析サービスを使用してビッグデータの取り込み、格納、カタログ化、準備、処理、および分析を行う実装の例を示します。

  • データウェアハウスおよびビジネス分析

    Oracle Analytics Cloudと組み合わせて、Oracle Autonomous Data Warehouseをデータウェアハウスまたはデータマートとして使用します。

    • データ統合により、目的のソースからデータを取り込みます。使用するデータ統合のタイプは、データがバッチ・レコード、ストリーミング・レコード、または同期データベース・レコードのいずれであるか、およびデータがオンプレミスにあるかクラウドにあるかによって異なります。
    • データをオブジェクト・ストレージに提供することで、クラウド・サービスで共有アクセスしたり、Autonomous Data Warehouseまたはビッグデータに格納する前に処理したりできます。データをAutonomous Data Warehouseに直接提供し、ELT機能を使用して変換したり、他のデータベースのレコードを直接取り込んだりすることもできます。
    • Oracle Analytics Cloudは、機械学習の結果など、データベース内のデータを可視化します。Oracle Analytics Cloudは、データフロー処理のために、Autonomous Data Warehouseに可能な限り多くの処理をプッシュ・ダウンします。
    • アクティブなアーカイブまたはデータ共有では、オブジェクト・ストレージはオプションです。アクティブなアーカイブとは、使用頻度の低いデータをADWから低コストのストレージ層(オブジェクト・ストレージ)に移動した場所です。オブジェクト・ストレージからデータをクエリすることもできますが、パフォーマンスが劣ります。オブジェクト・ストレージは、クラウド・サービス間で共有されるデータの格納にも使用できます。
    • Oracle Cloud Infrastructure Data Catalogは、Autonomous Data Warehouseおよびオブジェクト・ストレージのデータソースからメタデータを収集します。Data Catalogとやりとりして、カタログの利用と管理を行うことができます。
  • レイク・ハウス・パターンを実現するためにデータレイクとデータウェアハウスを使用して、あらゆるタイプのデータを管理する

    Autonomous Data Warehouseでデータを管理し、Oracle Analytics Cloudを使用してデータを可視化します。

    • データ統合により、目的のソースからデータを取り込みます。使用するデータ統合のタイプは、データがバッチ・レコード、ストリーミング・レコード、または同期データベース・レコードのいずれであるか、およびデータがオンプレミスにあるかクラウドにあるかによって異なります。
    • データはAutonomous Data Warehouseに格納されているので、データをコンバージドOracle Databaseに提供し、クラウド・サービスで使用したり、データおよびイベントを処理したりできます。データをAutonomous Data Warehouseに直接提供し、ELT機能を使用して変換したり、他のデータベースのレコードを直接取り込んだりすることもできます。
    • Autonomous Data Warehouseでは、オブジェクト・ストレージからデータをクエリしたり、SQLまたはOracle Cloud Infrastructure Data Integrationを使用してオブジェクト・ストレージからデータを取り込んだりできます。

詳細を確認する

関連リソースで詳細をご確認ください。