Rは、オープン・ソースの統計プログラミング言語および環境です。Rの詳細は、http://www.r-project.org
の「R Project for Statistical Computing」を参照してください。
Rは、次のような統計コンピューティング用の環境を提供します。
使いやすい言語
視覚化のための高性能なグラフィカル環境
そのままで使用できる多数の統計手法
Rパッケージ(Rパッケージは、関連する関数、ヘルプ・ファイルおよびデータ・ファイルからなるセットであり、現在、3340個を超えるRパッケージがあります。)
データをインタラクティブに分析するためのR Consoleグラフィカル・ユーザー・インタフェース
Rは、その採用が急速に拡大し、新しい統計ソフトウェアの標準としての評価を獲得しました。
Oracle R Enterpriseは、Oracle Database 12cリリース1 (12.1) Enterprise EditionのOracle Advanced Analyticsオプションのコンポーネントの1つです。ソフトウェア・ダウンロードのリンクなど、Oracle R Enterpriseの詳細は、http://www.oracle.com/technetwork/database/options/advanced-analytics/r-enterprise/index.htmlの「Oracle R Enterprise」
を参照してください。
Oracle R Enterpriseによって、ユーザーは、Oracle Databaseの表に格納されているデータに対して統計分析を実行できます。Oracle R Enterpriseには3つのコンポーネントがあります。
Oracle R Enterprise R透過層。透過層は、Oracle DatabaseオブジェクトへのRデータ型のマッピングをサポートし、マッピングされたデータ型に対してR式に応じてSQLを透過的に生成するパッケージの集まりです。透過層によって、Rユーザーは、R言語構文を使用してデータベースに格納されているデータと直接対話できます。これにより、Rユーザーは、大きすぎてユーザーのデスクトップ・システムのメモリーに収まりきらないデータを操作できます。
Oracle統計エンジン。よく使用される統計ライブラリに対応する統計関数とプロシージャの集まり。統計エンジンのパッケージはOracle Databaseで実行されます。
データベース・サーバー上のデータベースを介してRエンジンの実行をサポートするSQL拡張。これらのSQL拡張によって、Rスクリプトの製品化、つまり完全自動モードでのRスクリプトの実行が可能になります。
Oracle R Connector for Hadoopは、Rパッケージの1つであり、R言語で記述された計算を実行するOracle HadoopクラスタをRユーザーが直接操作できるようにするMapReduceジョブを実行し、HDFS、Oracle Databaseまたはローカル・ファイルに格納されているデータに対して機能します。
Oracle R Enterpriseのコンポーネントについては、第3章で説明します。
Oracle R Connector for Hadoopは、関連製品です。
Oracle R Enterpriseにも、最もよく使用される基本的な統計プロシージャを実行する関数が組み込まれています。詳細は、第5章を参照してください。
この章の残りの部分では、Oracle R Enterpriseのアーキテクチャ、Oracle R Enterpriseのデータ型およびOracle R Enterpriseでサポートされる構成について説明します。
Oracle R Enterpriseには、Connector for Hadoopなど次の3つのコンポーネントがあります。
クライアントRエンジンは、Oracle Databaseへの接続と、そのデータベース内のデータとの対話を可能にするRパッケージの集まりです。
どのRコマンドもクライアントから使用できます。さらに、クライアントは、次の関数を提供します。
R SQL透過層は、R関数をインターセプトし、データベース内の実行をスケーラブルにします
関数によって、データ変換、統計関数およびOracle R Enterprise固有関数がインターセプトされます
オープン・ソースRと同様のインタラクティブなグラフィカル結果表示およびフロー制御
Oracle Database内で実行するためのR閉包(関数)の送信。
サーバーは、Oracle Database 12cリリース1(12.1)をOracle R Enterpriseクライアントをサポートするために必要な機能で強化するPL/SQLプロシージャおよびライブラリの集まりです。Rエンジンは、埋込みRの実行をサポートするためにOracle Databaseにもインストールされます。Oracle Databaseは、Rエンジンを生成し、それによってデータの並列性を提供できます。
Oracle R Enterpriseのデータベース・エンジンは、次の機能を提供します。
大きなデータセットに対するスケーラビリティ
データベース内の表、ビュー、外部表、およびデータベース・リンクを介してアクセス可能なものへのアクセス。
SQL問合せのパラレル実行の使用
データベース内の統計およびデータ・マイニング機能の使用
Oracle Databaseによって生成されるRエンジンは、データベースによって管理される並列性をサポートし、Rスクリプトのスケジュールされた完全自動の実行、つまり、PL/SQLまたはSQL問合せ内にパッケージ化されたRスクリプトのスケジューリングまたは起動を提供します。Oracle R Enterpriseは、生成されたエンジンとの間の効率的な転送を提供します。埋込みRの実行を使用すると、MapReduceスタイルのプログラミングをエミュレートできます。
Oracle R Enterprise固有のデータ型がいくつかあります。詳細は、「Oracle R Enterpriseのデータ型」を参照してください。
Oracle R Connector for Hadoop (ORHC)は、ローカルR環境とHadoop間のインタフェースを提供するRパッケージです。このパッケージは、他のRパッケージの場合と同じようにインストールおよびロードします。R関数を使用して、Rメモリー、ローカル・ファイルシステム、HDFS間でデータをコピーできます。Hadoop MapReduceジョブとして実行し、それらの場所に結果を返すよう、Rプログラムをスケジュールできます。
ORHCは、Oracle Big Data Applianceにプリインストールされていますが、Oracle Big Data Connectorsの1つとして別にライセンスされています。ORHCは、Oracle Big Data Appliance上のもの以外のHadoopクラスタにインストールできます。
ORHCの詳細は、Oracle Big Dataドキュメント・ライブラリ(http://docs.oracle.com/cd/E27101_01/index.htm
)の一部であるOracle Big Data Connectorsユーザーズ・ガイド(http://docs.oracle.com/cd/E27101_01/doc.10/e27365/toc.htm
)を参照してください。
Oracle R Enterpriseでは、多数のRデータ型にバリアントが導入されています。Oracle R Enterpriseデータ型の名前は、対応するRデータ型の名前にore接頭辞を付けたものです。これらのデータ型によって、Rオブジェクトとデータベース表またはビューとの間のマッピングが確立されます。このマッピングによって、Oracleオブジェクトのメタデータが追跡され、それによってSQL問合せの生成が支援されます。これらのデータ型によって、Oracle R Enterprise透過層の基盤が構築されます。
次のRデータ型が、データベース内での透過的な実行のために、オーバーロードされています。
文字、整数、数値および論理ベクトル、
ファクタ
データ・フレーム
マトリクスは、次の2つの状況でオーバーロードされます。
線形代数クロス積
高度な分析のための入力マトリクスの作成
詳細と例は、「Oracle R Enterprise透過層」を参照してください。
Oracle R Enterpriseは、クライアントとサーバーで構成されています。クライアントとサーバーは、どちらもMicrosoft Windows (32-bitおよび64-bit)、Oracle Linux、Red Hat Linux、SolarisおよびIBM AIX上で稼働します。サーバーは、Oracle Database 12cリリース1 (12.1)にインストールされ、それにクライアントが接続します。Oracle R Enterpriseは、LinuxまたはSolarisオペレーティング・システムを実行しているOracle Exadataマシン、およびSPARC SuperCluster上でも稼働します。詳細は、「前提条件」を参照してください。
Oracle R Enterpriseのインストールについては、第2章で説明します。