1.2.1 Oracle Databaseの場合のOracle Machine Learning for Rのアーキテクチャ

OML4Rは、Oracle DatabaseおよびOracle Clientに基づくクライアント/サーバー型アーキテクチャを採用しています。

Rエンジンは、サーバー・コンピュータおよび各クライアント・コンピュータ上で動作します。OML4Rは、次の3つの主要機能をサポートしています。

  • Rの透過性

    OML4Rのクライアント・パッケージでRの透過性がサポートされていることにより、Oracle表が、ネイティブRオブジェクトであるかのように「透過的に」表示されます。OML4Rパッケージは、Oracle Database表およびビューへの透過的なアクセスを提供します。これにより、データベース内で実行するためにユーザーに透過的にSQLに翻訳される標準R関数が起動されます。

  • 予測分析と機械学習

    OML4Rは、予測分析および機械学習をサポートする広範囲な並列アルゴリズムおよび分散アルゴリズムをサポートしています。これにより、スケーラビリティおよびパフォーマンスの向上が可能になり、インデータベース・アルゴリズムおよびデータベース・サーバー側アルゴリズムに対するRインタフェースの使いやすさも向上します。

  • 埋込みRの実行

    サーバー上のOML4Rのパッケージ、ライブラリとRおよびSQLのAPIでは、SQL問合せおよびPL/SQL文内でのユーザー定義のR関数の実行がサポートされています。埋込みRの実行により、データ・パラレル実行およびタスク・パラレル実行のためにパラレルで実行できるRエンジンが生成されます。埋込みRの実行では、ユーザー定義のR関数を実行できます(サードパーティのパッケージを利用する場合があります)。DBMS_SCHEDULERデータベース・パッケージなどの機能を使用すると、完全自動処理のための、ユーザー定義のR関数の実行をスケジュールできます。

図1-1 OML4Rのクライアント/サーバー型アーキテクチャ