SlideShare a Scribd company logo
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle Advanced Analytics
Oracle R Enterpriseの使い方
~ データベースで大量データ分析をするために ~
日本オラクル株式会社
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 2
Safe Harbor Statement
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、
情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。
以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するもの
ではないため、購買決定を行う際の判断材料になさらないで下さい。
オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊
社の裁量により決定されます。
Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。
他社名又は製品名は、それぞれ各社の商標である場合があります。
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
Oracle R Enterprise概要
Oracle R Enterpriseのアーキテクチャ
Oracle R Enterpriseの実行方式
Oracle R Enterpriseの使い方
まとめ
3
素材のプチッチ
http://putiya.com/
イラストわんパグ
http://www.wanpug.com/
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Big Data Management System
4
SOURCES
DATA RESERVOIR DATA WAREHOUSE
Oracle Database
Oracle Industry
Models
Oracle Advanced Analytics
Oracle Spatial & Graph
Big Data Appliance
Apache
Flume
Oracle
GoldenGate
Oracle Event
Processing
Cloudera Hadoop
Oracle Big Data SQL
Oracle NoSQL
Oracle R Distribution
Oracle Big Data
Spatial and Graph
Oracle Database
In-Memory, Multi-tenant
Oracle Industry Models
Oracle Advanced
Analytics
Oracle Spatial and Graph
Exadata
Oracle
GoldenGate
Oracle Event
Processing
Oracle Data
Integrator
Oracle Big Data
Connectors
Oracle Data
Integrator
B
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle Database Enterprise Edition
Advanced Analytics
Oracle Data Mining
• データベース内部でマイニング処理
• 12個のマイニング・アルゴリズム
• 予測分析のためのアプリケーションの開発
• Oracle Data Miner (SQL Developer) を
用いたGUIによる解析ワークフローの構築
• PL/SQL API と Java API の提供
• Exadataのパワーを利用したモデルの生成
Oracle Advanced Analytics オプション
高度な分析プラットフォームをデータベースに内包
Oracle R Enterprise
• オープンソースの統計言語
• 一部の処理をデータベースにオフロード
することで大規模なデータを分析可能
• 広範で高度な統計解析のための関数を提供
• Rの機能をアプリケーションやOBIEEに統合
• 対話的なデータ分析と優れたグラフ描画機能
• オープンソースRパッケージ (CRAN) の利用
5
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle Advanced Analytics
製品概要
6
ODM/ORE 共通のメリット
• In-Database Analyticsの実現
– データ移動コスト(時間)をカット
– パワフルなデータベースサーバ内で処理
• 堅牢なDBセキュリティによるデータ保護
用途
– 大量データ,全量データに対する分析
– 生データでのリアルタイムな分析
他オプションや製品との連
携で更に高度な分析が可能
・Big Data Appliance
・Big Data SQL
・Big Data Connecters
・Spatial and Graph
etc..
ビッグデータ時代の
エンタープライズな
分析基盤を提供
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle Advanced Analytics - Oracle R Enterprise
Oracle R Enterprise 製品概要
7
特長
• Rでの分析処理をデータベースへオフロード
– データ移動コスト(時間)をカット
– パワフルなデータベースサーバ内で処理
• エンタープライズなRユーザのための機能
– R関数の並列実行のためのインターフェイスを用意
– Rオブジェクト、モデルをDBに保存、Rからデータベースの操作も可能
– Oracle Data Mining機能をRから呼び出して利用が可能
– 大規模分析のため並列処理実装されたR関数(オリジナルパッケージ)
デスクトップ利用のRの限
界を超え、大規模なデータ
セットでの利用を可能に
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
補足: Oracle R Distribution
Oracle R Distribution
8
• Oracle は Rのディストリビューターです
– Oracle は Rのディストリビューションを提供しています
• Oracle R Distribution(ORD)はRに対して性能面の改善や拡張
を行ったものになります
• ORDは無償でご利用頂けます
※ディストリビューションとはOSSのソフトウェアなどをパッケージングし利用しやすい形態で提供/配
布しているものになります。Linuxの場合、Red Hat Linux, Debian, Ubuntu, SUSEなどがあります。
Oracle R Distribution
http://www.oracle.com/technetwork/database/database-technologies/r/r-distribution/downloads/index.html
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
Oracle R Enterprise概要
Oracle R Enterpriseのアーキテクチャ
Oracle R Enterpriseの実行方式
Oracle R Enterpriseの使い方
まとめ
9
イラストわんパグ
http://www.wanpug.com/
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
R言語の処理を透過的にOracle Database内で実行します。
R言語の処理をOracle Database内の処理に変換することで、大規模な分析を実現します。
またDB内処理に変換できない部分もDBサーバ上でRプロセスを実行します。
R EngineR EngineR Engine
Rの処理をDB内の処理に変換・オフロードします
Oracle R Enterprise
packages
R Engine
Oracle R Enterprise
packages
SQL R
結果 結果
DBサーバ内で外部プロセスとしてRを実行することも可能です
Other R
packages
Rクライアント
• RスクリプトをOracle Databaseで実行す
るようにスクリプトを発行します。
• グラフの描画や処理フローの制御は、通常
のRの機能を利用し、クライアント側で実
行します。
Oracle Database内部での実行
• Rの関数をSQLに変換して実行します。
• Oracle Databaseの並列実行の仕組みを活用
し、大量のデータに対応します。
• Oracle Databaseの持つ統計関数、データマ
イニング機能を内部的に活用します。
Oracle DatabaseサーバでのR実行
• データベースが複数のRのプロセスをデー
タベースサーバ上に外部プロセスとして
起動しますので、追加機器が不要です。
• SQLやPL/SQLからRのスクリプトを呼び
出し可能です。
分析者
DB
Oracle DB サーバ
外部
プロセス
Other R
packages
10
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
全体感:コンポーネント
11
Server SideClient Side
OS
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Client Oracle
DB
Client
OS
Oracle R
Enterprise
supporting
Packages
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Server
Oracle R
Enterprise
supporting
Packages
Oracle
DB
/w
AA
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
全体感:コンポーネント:OS
12
Server SideClient Side
OS
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Client Oracle
DB
Client
OS
Oracle R
Enterprise
supporting
Packages
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Server
Oracle R
Enterprise
supporting
Packages
Oracle
DB
/w
AA
OSについてはマニュアルのシステム要件に記載がございます。ORE 1.5の
場合、どのOSに関しても 64 bit版であることが必須となります。詳しくは
下記をご覧ください。Oracle Enterprise Linuxの場合にはyumのレポジト
リがあり、セットアップが少し効率的です。
https://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD120
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
全体感:コンポーネント:Rの動作環境
13
Server SideClient Side
OS
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Client Oracle
DB
Client
OS
Oracle R
Enterprise
supporting
Packages
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Server
Oracle R
Enterprise
supporting
Packages
Oracle
DB
/w
AA
Rの動作環境及び基本機能を提供する部分です。
Oracle R Distributionをご利用頂くとスムースですが、Open R を利用す
ることも可能です。Open R を利用する際には ソースからのbuildが必要と
なるケースがあります。
※マニュアルに記載がありますが、linpackの利用やshlibの利用などを有効にして
buildする必要があります
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
全体感:コンポーネント:Oracle R Enterprise Client
14
Server SideClient Side
OS
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Client Oracle
DB
Client
OS
Oracle R
Enterprise
supporting
Packages
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Server
Oracle R
Enterprise
supporting
Packages
Oracle
DB
/w
AA
Oracle R Enterprise Clientには OREの基本パッケージやR関数の
SQL変換wraperとなるパッケージ、一部RパッケージのOracle実装版、
ORE独自機能、Oracle Data Mining機能の呼び出しなどのRパッケー
ジが含まれます。
含まれるパッケージ(一部抜粋)
- ORE (トップレベルパッケージ)
- OREbase (Rのbase相当)
- OREcommon(OREの共通低レベル機能/DB接続や操作など)
- OREdm(Oracle Data Mining用のアルゴリズム利用)
- OREeda(探索型データ解析用パッケージ)
- OREgraphics(Rのgraphics相当)
など
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
全体感:コンポーネント:Oracle R Enterprise Supporting Packages
15
Server SideClient Side
OS
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Client Oracle
DB
Client
OS
Oracle R
Enterprise
supporting
Packages
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Server
Oracle R
Enterprise
supporting
Packages
Oracle
DB
/w
AAOracle R Enterprise Supporting Packageには、Oracle Database 通信用のインターフェ
イス定義やOCIインターフェイス、R関数のOracle実装などのパッケージが含まれます。これ
はServer, Clientともに共通になります。
含まれるパッケージ(一部抜粋)
- DBI(データベース通信インターフェイス),ROracle(OCIインターフェイス),Cairo(グラ
フィックスのレンダリング),png(png画像の読み込み、書き込み用)など
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
全体感:コンポーネント:Oracle Database Client
16
Server SideClient Side
OS
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Client Oracle
DB
Client
OS
Oracle R
Enterprise
supporting
Packages
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Server
Oracle R
Enterprise
supporting
Packages
Oracle
DB
/w
AA
Oracle Database Client はOracle Database
のクライアントライブラリを含み、Rからのデー
タベース接続(OCI)用のNativeライブラリを提供
します。(実際にはDynamic Linkerでリンクされ
利用されます)
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise アーキテクチャ
全体感:コンポーネント:Oracle Database Client
17
Server SideClient Side
OS
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Client Oracle
DB
Client
OS
Oracle R
Enterprise
supporting
Packages
Oracle R
Distribution
Open R
(/w shared
lib,lapack..)※
Oracle R
Enterprise Server
Oracle R
Enterprise
supporting
Packages
Oracle
DB
/w
ORE
Server
Oracle R Enterprise Server は Oracle R
Enterprise用のRパッケージとOracleデータ
ベース内のスキーマ(RQSYS)やプロシージャ、
操作権限などのメタデータ群で構成されます。
これらを用いてRオブジェクトをデータベースに格納
したり、埋め込みRによる実行などを実現しています。
Rパッケージとしては、ORE Clientに
OREserverパッケージが加わっています。
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
ご参考:ORE 1.5 matrix
Oracle R Enterprise Server Support Matrix
Oracle R Enterprise
Open source R
or Oracle R Distribution
Oracle Database (see Note)
1.5 3.2.x 11.2.0.4, 12.1.0.1, 12.1.0.2
1.4.1 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.1
1.4 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.1
1.3.1 2.15.1, 2.15.2, 2.15.3 11.2.0.3, 11.2.0.4, 12.1.0.1
1.3 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.1
1.2 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.1
1.1 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1
1.0 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1
18
R Enterprise Installation and Administration Guide - Oracle R Enterprise System Requirements
https://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD335
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
Oracle R Enterprise概要
Oracle R Enterpriseのアーキテクチャ
Oracle R Enterpriseの実行方式
Oracle R Enterpriseの使い方
まとめ
19
:
素材のプチッチ
http://putiya.com/
イラストわんパグ
http://www.wanpug.com/
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterpriseの実行方式
概要
うまく組み合わせ活用することで分析処理を高速にできます
主たる機能は以下になります
–大量データ処理の分割による並列化
–DB内でのデータアクセス、演算
スクリプト実装時に以下を意識していると少しスムースです
• どこにデータがあるのか
• どこで実行するのか
• データは分割利用可能か
• 処理順の依存性や冪等性
20
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterpriseの実行方式
全体感
• OREでの主要な実行方式は3種類あります
• OREでの関数の実装形態によって選択肢の有無が変わります
• 実行方式
– 透過型実行
– 埋め込み型(Embeded)実行
– クライアント実行(ore.pullの利用)
• 実装形態
– 透過型の実装( cor, mean,IQR,table,head...)
– オリジナル実装 (ore.neural, ore.m,ore.glmなどのore.xx)
– ORE実装無し
21
※DB内のデータにアクセスする前提で記述していま
す。DBのデータをクライアントにコピー(代入)して
実行する場合には、通常のRと同じです
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterpriseの実行方式
実行方式概略
• 透過型実行
– データベースのデータをRプログラムから透過的に利用する実行方式です
• data.frameの指定にOracleの表やDB上のオブジェクトを指定できます
• 埋め込み型(Embeded)実行
– データベース側にスクリプトを送り込んでデータベースで実行する方式です
• データベースサーバ内で外部プロシージャ形式でRが起動します
• クライアント実行(ore.pullの利用)
– データベースのデータをクライアントに持ってきて実行する方式です
• OREのメリットはあまりないですが、使用感に差がでにくいです
22
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterpriseの実行方式
実装形態概略
• 透過型の実装( cor, mean,IQR,table,head...)
– Rの関数と同名の関数で透過的にデータベースのデータを利用し、処理をデータベースへオフ
ロードできます
– 関数名の書き換えはほぼ発生しません (一部オプションの非対応などがあります)
• オリジナル実装 (ore.neural, ore.lm,ore.glmなど)
– Oracleが独自に実装した機能群になります
– データベースのデータを利用し、処理をデータベースへオフロードすることができますが、R
関数と書式などに違いがある場合があります
• ORE実装無し
– Oracleが実装を提供していない関数になります
23
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
ご参考:サポートされるR演算子およびR関数(ORE 1.4.1)
• 数学的変換: abs、sign、sqrt、ceiling、floor、trunc、cummax、cummin、
cumprod、cumsum、log、 loglo、log10、log2、log1p、acos、acosh、asin、
asinh、atan、atanh、exp、expm1、cos、 cosh、sin、sinh、tan、atan2、tanh、
gamma、lgamma、digamma、trigamma、factorial、 lfactorial、round、signif、
pmin、pmax、zapsmall、rank、diff、besselI、besselJ、 besselK、besselY
• 基本統計: mean、summary、min、max、sum、any、all、median、range、IQR、
fivenum、mad、quantile、 sd、var、table、tabulate、rowSums、colSums、
rowMeans、colMeans、cor、cov
• 算術演算子: +、-、*、/、^、%%、%/%
• 比較演算子: ==、>、<、!=、<=、>=
• 論理演算子: &、|、xor
• 集合演算子: unique、%in%、subset
• 文字列演算: tolower、toupper、casefold、toString、chartr、sub、gsub、substr、
substring、paste、nchar、grepl
• データ・フレームの結合: cbind、rbind、merge
• ベクトルの結合: append
• ベクトルの作成: ifelse
• サブセットの選択: [、[[、$、head、tail、window、subset、Filter、na.omit、
na.exclude、complete.cases
• サブセットの置換: [<-、[[<-、$<-
• データの再編成: split、unlist
• データ処理: eval、with、within、transform
• applyのバリアント: tapply、aggregate、by
• 特別な値のチェック: is.na、is.finite、is.infinite、is.nan
• メタデータ関数: nrow、NROW、ncol、NCOL、nlevels、names、names<-、row、
col、dimnames、 dimnames<-、dim、length、row.names、row.names<-、
rownames、 rownames<-、colnames、levels、reorder
• グラフィック: arrows、boxplot、cdplot、co.intervals、coplot、hist、identify、
lines、matlines、 matplot、matpoints、pairs、plot、points、polygon、polypath、
rug、segments、 smoothScatter、sunflowerplot、symbols、text、xspline、
xy.coords
• 変換関数: as.logical、as.integer、as.numeric、as.character、as.vector、
as.factor、as.data.frame
• 型チェック関数: is.logical、is.integer、is.numeric、is.character、is.vector、
is.factor、is.data.frame
• 文字の操作: nchar、tolower、toupper、casefold、chartr、sub、gsub、substr
• その他のore.frame関数: data.frame、max.col、scale
• 仮説検定: binom.test、chisq.test、ks.test、prop.test、t.test、var.test、
wilcox.test
• 各種分布: 密度、累積分布、および標準分布のクォンタイル関数
• ore.matrix関数: show、is.matrix、as.matrix、%*% (マトリクスの乗算)、t、
crossprod (マトリクスのクロス積)、tcrossprod (BをA回転置したマトリクスのクロ
ス積)、solve (反転)、backsolve、forwardsolve、すべての適切な算術関数(abs、
signなど)、summary (max、min、allなど)、mean
24
これらに加えてオリジナル実装系の関数があります
ex: ore.lm, ore.glm,ore.neural,ore.predictなど...
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterpriseの実行形式
実装形態と実行形式
• データベース内のデータに対する実行方式と実装形態の対応
– 書き方などで対応させることができるものもありますが、概ね以下の通りです。
25
関数の種類(実装形態) 実行方式
透過型実行 埋め込み型実行 クライアント実行
透過型の実装 ◎ ◎ ×△
オリジナル実装 ◎ ◎ 〇
ORE実装なし × 〇 △
凡例:◎ =OREのメリット(DB内データ処理、並列処理)を生かせる
〇 =OREのメリットを部分的に生かせる
△ = OREのメリットがあまり生かせないが実行はできる
× = 実行ができない
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
補足:ore.frame
大量データをDB内で処理させるための仕組み
• 実行方式が分類される理由はデータのクラスの違いにあります
– データベース内のデータをクライアントに持ってくることなく処理させるための実装です
• ore.frameというdata.frameの subclassを定義しています
– ore.frameを利用できる関数に関してはマニュアルの以下に記載があります
26
ORE 1.4.1 ユーザーズガイド A Oracle R EnterpriseでサポートされるR演算子およびR関数
http://docs.oracle.com/cd/E59151_01/doc.141/e57720/appaopf.htm#CIHFJAAF
ORE 1.5 User's Guide R Operators and Functions Supported by Oracle R Enterprise
https://docs.oracle.com/cd/E67822_01/OREUG/GUID-C3F098F0-EE9F-45CB-B9F5-C8D4AF963D90.htm#OREUG566
Client R 環境
ore.frame DB表
SQL
> class(TITANIC01)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
> colnames(TITANIC01)
[1] "Class" "Sex" "Age" "Survived" "Freq"
> mean(TITANIC01$Freq)
[1] 68.78125
ORE実装の関数は適宜データアクセス部などをSQLに変換し結
果だけを貰うプロキシのような役割を果たします
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 関数のデータ指定部に表などのDBオブジェクトを指定できます
• 表以外にもDBやDBセッションに保存されたRオブジェクトなども対象にできます
– ユーザからの見え方では ore.frameが data部にそのまま使える形になります
• DB内でデータを取り扱い、処理もDBにオフロードされます
Client
Oracle R Enterpriseの実行形式
透過型実行
27
R Client
( RStudioなど)
Server
Oracle
DB
SQL
結果セット
長所:
・データ移動コスト無(結果セット除く)
・データアクセスの並列化
・分析並列化の実装(一部関数)
・DBサーバリソースの活用
弱点:
・対応関数のみ
・書き換えが必要なケースあり
・データが小さいとメリットが見えない
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• スクリプトや関数をDBに送り込み、DBサーバ上でRを実行します
– 外部プロシージャコールでDB上のRが動作するイメージです
• 透過型実行可能な関数をこの形式で動かすこともできます
– DBサーバにRパッケージを追加することで色々なパッケージに対応できます。
– また保存済みスクリプトをSQL/トリガーなどから実行することもできます
Client
Oracle R Enterpriseの実行形式
埋め込み型実行
28
R Client
( RStudioなど)
Server
Oracle
DB Rプロセス
結果セット
外部プロシージャSQL Client
スクリプト
exec
長所:
・データ移動コスト小
・データアクセスの並列化
・分析並列化の実装(一部関数)
・DBサーバリソースの活用
弱点:
・DBサーバリソース活用以外にメ
リットが無いケースがある
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• データを分割し複数のRプロセスを起動し並列処理させることがで
きます
– オラクル提供外のパッケージの処理も高速化できる可能性があります
• 特に行単位の処理(例:モデルを利用したデータの分類など)では特に威力を発揮します
Client
Oracle R Enterpriseの実行形式
埋め込み型実行(応用): Apply Interface
29
R Client
( RStudioなど)
Server
Oracle
DB
結果セット
SQL Client
スクリプト
exec
Rプロセス外部プロシージャ
外部プロシージャ
外部プロシージャ
長所:
・分析結果の適用を高速化
・DBサーバリソースをフル活用
弱点:
・データ分割が不可なものでは利用
できない
Rプロセス
Rプロセス
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• データをDBからクライアントに持ってきて、処理を実行します
– ore.pull関数でDB上のデータを取得しRのdata.frameに強制Castします
– DBへの処理オフロードもされず、データの移動も発生しクライアントにも負
荷がかかりますが、通常のRの使い方(doGetQuery)に似ています
Client
Oracle R Enterpriseの実行形式
クライアント型実行
30
R Client
( RStudioなど)
Server
Oracle
DB処理
データ
※埋め込み型実行の場合にもore.pullの利用
が必要な場合があります
長所:
・既存スクリプトがそのまま使える
・わかりやすい
弱点:
・OREのメリットは皆無
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterpriseの実行方式
実行方式選択の指針
OREのメリットを享受するために以下の優先度で考えます
• 大規模データ処理を優先的にDB側の実行に置き換えます
• Oracleが実装を提供している関数の利用をご検討ください
– 透過型の実装のある関数 (cor, meanなど)
– Oracle実装パッケージ ore.xx (ore.neuralなど)
– いずれもない場合
• 埋め込み型での実行 ( 非サポート関数のデータベースでの実行 )
• ore.pull()を利用した実行
クライアント側メモリで利用可能な範囲のデータに対して分析をする際にはORE利用によるメ
リットは度外視し、クライアント型実行を選択して頂く方がよいケースもあります
31
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterpriseの実行方式
まとめ
• OREの実装形態によって可能な実行方式に差があります
– 全てがOracle提供のものでできない場合にもなるべくOracle実装のものを利
用する(特に大規模なデータ処理部分など)ことでより高速に処理すること
が可能となります
– スクリプトをそのまま利用したい場合には埋め込み型実行もご検討ください
32
関数の種類(実装形態) 実行方式
透過型実行 埋め込み型実行 クライアント実行
透過型の実装 ◎ ◎ ×△
オリジナル実装 ◎ ◎ 〇
ORE実装なし × 〇 △
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
Oracle R Enterprise概要
Oracle R Enterpriseのアーキテクチャ
Oracle R Enterpriseの実行方式
Oracle R Enterpriseの使い方
まとめ
33
:
素材のプチッチ
http://putiya.com/
イラストわんパグ
http://www.wanpug.com/
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
全体感
• 基本操作
– OREの機能を使う基本的な操作方法をご紹介します
• 透過型実行
• 埋め込み型実行
• クライアント型実行
34
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
基本操作:接続と確認
• Oracleデータベースへの接続
– OREライブラリのロード
– データベースへの接続 (ore.connect)
• ore.frame(DB上のデータへのプロキシ)の確認
– 上記で all=TRUEとした場合、スキーマの表名などがそのまま見えます
35
library(ORE)
ore.connect(
user="scott",sid="orcl",host="dbserv",password="tiger",port=1521,all=TRUE)
ore.ls()
※all=TRUEとすると接続時に当該スキーマのオブ
ジェクト(表,Viewなど)がore.frameクラスで生成さ
れます
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
基本操作:SQLクエリの実行など
• ore.execを利用してOracleにSQLを投げられます。
– クエリの結果セットを持ってこない(※)ので一旦表に入れるなどの工夫が必要です
• selectの結果をhoge01に入れたい時
– こんな感じの使い方でデータの切り出し操作や変換もDB内で完結できます
• select句にSQLの変換関数を利用することで様々な変換が可能です
• ore.syncを利用してore.frameの作成や再定義ができます
– 引数なしで実行した場合には全てのオブジェクトがrefreshされます
– 実体の表のデータの変更への追従にはsyncの必要はありませんが、表構造の変更にはore.syncによる明
示的な同期が必要になります(列追加など)
36
× hoge01 <- ore.exec(" select sysdate ts from dual ")
〇 ore.exec("create table hoge01 as select sysdate ts from dual ")
※不用意にDBのデータをローカルに持ってこないためです
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• ore.pushでローカルにあるRオブジェクトをDB側に置きます
– このオブジェクトはセッション内のみ有効です
– data.frameオブジェクトをDBに置き、ore.frameにCASTしています
– これを利用することでore.frameを引数とする関数が使えます
• ore.pullでDB上のオブジェクトをローカルに持ってこれます
– クライアントのメモリが十分にない場合、失敗します
– これを利用することでore.frameに対応してない関数を動作させることができます
Oracle R Enterprise の使い方
基本操作:データの移動
37
test01db <- ore.push(test01)
> class(test01)
[1] "data.frame"
> test01db <- ore.push(test01)
> class(test01db)
[1] "ore.frame"
attr(,"package")
[1] "OREbase"
yabou_local <- ore.pull(YABOU03)
test01というローカルデータをtest01dbとしてDBに保持します
YABOU03表の中身をyabou_localに持ってきます
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
基本操作:表/Viewの作成と削除
• ore.createでローカルのデータをDBに表/Viewで作成できます
• ore.dropで表/Viewの削除ができます
38
ore.create(yabou01,table="YABOU02") ローカルのデータ(data.frame)のyabou01をYABOU02表として
DB上に作成します
ore.create(YABOU02,view="YABOU03") DB上の表(ore.frame)YABOU02をYABOU03 View としてDB上
に作成します
ore.drop(table="YABOU02") DB上の表(ore.frame)YABOU02表を削除します
ore.drop(view="YABOU03") DB上のView(ore.frame)YABOU03 Viewを削除します
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
基本操作:データストアの操作:全貌
• DB上にデータストアを作成しオブジェクトを格納できます
– 保存したデータを読み込んだり操作することができます
– 1つのデータストアに複数のデータを入れることができます
• 通常のRワークスペースで保存できないore.frameオブジェクトも保存することができます
• データストアの操作用関数
39
関数 説明
ore.save Rオブジェクトを新規または既存のデータストアに保存します。
ore.load データストアからオブジェクトをR環境にリストアします。
ore.lazyLoad データストアからオブジェクトをR環境に遅延リストアします。
ore.delete 現行のOracle Databaseスキーマからデータストアを削除します。
ore.datastore 現行のOracle Databaseスキーマのデータストアに関する情報をリストします。
ore.datastoreSummary 現行のOracle Databaseスキーマの指定したデータストアに関する詳細な情報を提供します。
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
基本操作:データストアの操作
• ore.saveでデータストアの作成と同時にデータの保存ができます
– ore.datastoreでデータストアを確認できます
– ore.datastoreSummaryでデータストアの中身が確認できます
40
ore.save(yabou01,YABOU03,name="yabou_20160126",description="2016/01/26 using")
yabou01(クライアント上のRオブジェクト(data.frame) と YABOU03(DB上の表
(ore.frame) をyabou_20160126というデータストア名で保存しています。
ore.datastore() datastore.name object.count size creation.date description
1 mydata01 2 1512 2016-01-08 13:06:50 test data for save
2 solmatch 1 812081 2016-01-13 17:34:18 Confidential data
3 yabou_20160126 1 153720 2016-01-27 21:22:27 2016/01/26 using
ore.datastoreSummary("yabou_20160126")
object.name class size length row.count col.count
1 yabou01 data.frame 153720 22 1192 22
2 YABOU03 ore.frame 2130 24 NA 24
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
基本操作:データストアの操作
• ore.loadでデータストアの読み込みができます
–ore.deleteでデータストアを削除できます
41
ore.load(name="yabou_20160126")
yabou_20160126というデータストアを読み込みます。
ore.delete(name="yabou_20160126")
yabou_20160126というデータストアを削除します
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
全体感
• 基本操作
– OREの機能を使う基本的な操作方法をご紹介します
• 透過型実行
• 埋め込み型実行
• クライアント型実行
42
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 大抵、利用時にdata.frameの代わりにore.frameを指定するだけな
ので、特別何かすることはあまりありません。
– Oracleで実装済みの関数で構成されているかが問題になるケースがあります
• CRANから入れるパッケージはほぼこのモードで動作しません
• パッケージによりエラーは異なりますが、「型が違うよ」的なものが多いです
この場合、要件に応じた対応が必要となります
Oracle R Enterprise の使い方
透過型実行
43
> glm(TOTAL~.,data=YABOU_PARAM)
Error in terms.formula(formula, data = data) :
'data' argument is of the wrong type
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
以下のいずれかの対応が必要になります
• Oracle提供のパッケージへの書き換え(工数:小~大)
– lm の場合 ore.lm
– glm の場合 ore.glm / ore.odmGLM など、、
• 他の実行形式の利用
–埋め込み型実行の利用(工数:小)
• 後述の方式で実行します
–クライアント型実行の利用 (工数:小~中)
• 後述しますが、ore.pullを利用してローカル変数化するか、入れ込むかになります
Oracle R Enterprise の使い方
透過型実行:非対応関数への対処
44
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
全体感
• 基本操作
– OREの機能を使う基本的な操作方法をご紹介します
• 透過型実行
• 埋め込み型実行
• クライアント型実行
45
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• DBサーバ上にインストールされたRが実行されます
– そのためDBサーバへのRパッケージの追加が必要となるケースがあります
• Oracle実装関数も利用可能です
– Rスクリプトをレポジトリに保存することでOracle Clientやトリガーなどの
SQLインターフェイスからRのスクリプトの実行が可能になります
• データを分割(パーティショニング)して複数のRプロセスで並列同
時実行するインターフェイスをご用意しています
• OREが提供するインターフェイスは基本的なものになります
– うまく組み合わせることで高速化や大量データ分析に威力を発揮します
Oracle R Enterprise の使い方
埋め込み型実行
46
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 埋め込み型実行の際に起動される外部プロシージャの設定情報は以
下のsys.rq_config 表から確認できます
• 埋め込み型実行の際に利用されるメモリー量などの制御ができます
– sys.rqconfigsetを使います
補足:埋め込み型実行
埋め込み型実行の設定
47
SQL> SELECT * FROM sys.rq_config;
キーワード デフォルト値 説明
MIN_VSIZE 32M 最小のRベクター・ヒープ・メモリー
MAX_VSIZE 4G 最大のRベクター・ヒープ・メモリー
MIN_NSIZE 1M Rコンス・セルの最小値
MAX_NSIZE 20M Rコンス・セルの最大値
SQL> EXEC sys.rqconfigset('MIN_VSIZE', '20M');
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 埋め込み型実行には以下の関数を利用します
Oracle R Enterprise の使い方
埋め込み型実行:関連する関数
48
RのAPI SQLのAPI 説明
ore.scriptCreate sys.rqScriptCreate 指定されたR関数をRスクリプト・リポジトリに指定された名前でロードします。
ore.scriptDrop sys.rqScriptDrop 指定されたR関数をRスクリプト・リポジトリから削除します。
ore.doEval rqEval データを自動転送せずにfを実行します。
ore.indexApply 該当するものはありません。 データの自動転送なしでfを実行しますが、1からnまで(nは関数を呼び出す回数)の
呼出しの索引を提供します。データベース・サーバーで稼働するRエンジンのプー
ルでの各f呼出しのパラレル実行をサポートします。
ore.tableApply rqTableEval fの最初の引数として指定された入力ore.frameのすべての行を渡すことでfを実行し
ます。fの最初の引数をdata.frameとして指定します。
ore.rowApply rqRowEval 指定された入力ore.frameの指定された行数(チャンク)を渡すことでfを実行します。
各チャンクをfの最初の引数にdata.frameとして指定します。データベースのサー
バー側Rエンジンで各f呼出しのパラレル実行をサポートします。
ore.groupApply rqGroupEval
この関数は、ユーザーが明示的に
定義する必要があります。
グループ化列の値に応じてデータをパーティショニングすることでfを実行します。
各データ・パーティションをfの最初の引数にdata.frameとして指定します。デー
タベースのサーバー側Rエンジンで各f呼出しのパラレル実行をサポートします。
管理
実行
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• ore.scriptCreateで関数を作成できます
– いきなり差し込み型でもいいですし、当て込んでから入れてもいいです
• ore.scriptDropで関数を削除できます
Oracle R Enterprise の使い方
埋め込み型実行:関連する関数
49
ore.scriptCreate( "testScript_01",
function(){
library(psych)
x <- 1:20
describe(x)
}
)
ore.scriptDrop("testScript_01")
func01 <- function(){
library(psych)
x <- 1:20
describe(x)}
ore.scriptCreate( "testScript_01",
func01
)
=
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• スクリプトの管理(保存/削除)が必要な場合、権限付与が必要です
• その権利をまとめた RQADMINロールが用意されています
(OREのサーバインストール時にロールは作成されています)
– スクリプトを管理するユーザにgrantするだけです
補足:埋め込み型実行
RQADMIN
50
SQL> grant RQADMIM to [対象DBユーザ] ;
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 埋め込み型実行での利用関数は大きく2つに分けられます
• 非自動転送タイプ
– データベースから自動的にデータを受け取りません(必要な場合は手書きで対応)
• 自動転送タイプ
– データベースから自動的にデータを受け取ります
– 引数にそのままDBのオブジェクト(ore.frameなど)の指定ができます
• 更に並列化の有無や方式をごとに関数が用意されています
Oracle R Enterprise の使い方
埋め込み型実行:関連する関数
51
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• まとめると以下のようになります
対象データ件数の大きな操作でデータ分割が可能なものはなるべくrowApplyやgroupApplyを
利用することで劇的な効果が得られる可能性があります
Oracle R Enterprise の使い方
埋め込み型実行:関連する関数
52
埋め込み実行関数
DBデータ
自動転送 並列実行 データ分割 データ分割方法
ore.doEval × × × N/A
ore.indexApply × 〇 × N/A
ore.tableApply 〇 × × N/A
ore.rowApply 〇 〇 〇 指定行数
ore.groupApply 〇 〇 〇 指定列の値
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 単独単発実行(ore.doEval)
– あちらの世界(DBサーバ)で version関数が実行されます
– FUN.NAMEで保存した関数(testScript_01)を指定して実行します
– 普通にRが起動するのでライブラリのロードも入れ込めます
Oracle R Enterprise の使い方
埋め込み型実行:ore.doEval
53
ore.doEval(function(){ version })
res <- ore.doEval( function(){
library(psych)
x <- c(1:10)
describe(x)}
)
ore.doEval(FUN.NAME="testScript_01")
※戻り値resは ore.frameになります
ore.doEval(実行関数)
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 並列繰り返し実行(ore.indexApply)
– 日付け取得を3回ほぼ同時並列に実行します
• indexApplyは自動的に並列化され実行されます
• doEvalと同様にFUN.NAMEで保存したスクリプトを指定できます
注意点
• ore.indexApplyの第一引数で関数の実行回数を指定します
• indexApplyに利用する関数は最低1つの引数を必要とします
• 暗黙的に第一引数に自動採番のindex番号が引き渡されます
Oracle R Enterprise の使い方
埋め込み型実行:ore.indexApply
54
ore.indexApply(実行回数, 実行関数)
> ore.indexApply( 3,
function(index){ date()})
$`1`
[1] "Thu Jan 28 19:52:26 2016"
$`2`
[1] "Thu Jan 28 19:52:26 2016"
$`3`
[1] "Thu Jan 28 19:52:26 2016"
ore.indexApply( 3, function(index){ date()})
ore.indexApply( 3, FUN.NAME="testScript_02")
例
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 単独単発のDB読込実行(ore.tableApply)
– YABOU_PARAM表に対してcor(x) を実行する関数を埋め込み型で実行します
• doEvalと同様に保存したスクリプトはFUN.NAMEで指定できます
注意点
– tableApplyに利用する関数は最低1つの引数を必要とします
– 関数の第一引数に指定したOREオブジェクト(上記例のYABOU_PARAM)が引き渡されます
– ore.tableApplyではデータは分割されず、並列実行もされません
Oracle R Enterprise の使い方
埋め込み型実行:ore.tableApply
55
ore.tableApply(YABOU_PARAM, function(x){cor(x)})
ore.tableApply(YABOU_PARAM, FUN.NAME="yabouScript01")
ore.tableApply(対象OBJ, 実行関数)
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 指定行数分割によるDB読込並列実行(ore.rowApply)
– 以下の例ではYABOU_PARAM表を300件づつ分割し個々の集計結果を戻します
• 結果は分割ごとにリストに入ります(勝手にマージしてくれたりはしないです)
• doEvalと同様に保存したスクリプトはFUN.NAMEで指定できます
注意点
– rowApplyに利用する関数は最低1つの引数を必要とします
– 関数の第一引数に指定したOREオブジェクト(上記例のYABOU_PARAM)が引き渡されます
– データは指定行数で分割され並列で実行され、リスト形式で返ります
Oracle R Enterprise の使い方
埋め込み型実行:ore.rowApply
56
ore.rowApply(YABOU_PARAM, function(x){c(sum(x$TOTAL),nrow(x))},rows=300)
ore.rowApply(YABOU_PARAM, FUN.NAME="yabouScript04",rows=300)
ore.rowApply(対象OBJ, 実行関数,rows=行数)
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 列指定分割によるDB読込並列実行(ore.groupApply)
– ore.rowApplyの発展版と思うと少し理解しやすいです
• rowApplyでは指定した行数で分割しますが、こちらは指定した列の値によってデータを分割して並列実行します
• doEvalと同様に保存したスクリプトはFUN.NAMEで指定できます
注意点
– groupApplyに利用する関数は最低1つの引数を必要とします
– 関数の第一引数に指定したOREオブジェクト(上記例のTEST02)が引き渡されます
– データは指定列の値で分割され並列で関数が実行され、リスト形式で返ります
Oracle R Enterprise の使い方
埋め込み型実行:ore.groupApply
57
ore.groupApply(TEST02,INDEX=TEST02$GENDER,
function(x){c(nrow(x),mean(x$"年齢"))})
ore.groupApply(対象OBJ,対象列, 実行関数)
NO NAME 年齢 性別
10 織田信長 25 男性
22 真田幸隆 22 男性
30 淀君 19 女性
42 木下藤吉郎 24 男性
55 立花誾千代 22 女性
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 並列実行(rowApply,groupApply,indexApply)の結果はore.listクラスで戻されます
– ore.listクラスはOracle DBにストアされたリストになります
– 個々のリストの索引は以下のものになります
• indexApply は指定した索引の数字(=試行回数ごと採番)
• rowApply は指定した件数1つづつ採番した数値
• groupApplyは指定した列の値
– ore.listの操作は基本的にRのリストに倣います
• ore.pullを利用して普通のRのlistにすることもできます
埋め込み型実行補足:ore.list
ore.listについて
58
> test02.ga <- ore.groupApply(TEST02,INDEX=TEST02$性別,function(x){c(nrow(x),mean(x$"年齢"))})
> class(test02.ga)
[1] "ore.list"
attr(,"package")
[1] "OREembed"
> test02.ga
$女性
[1] 14.00000 19.42857
$男性
[1] 6.00000 19.16667
> test02.ga[["女性"]]
[1] 14.00000 19.42857
> test02.ga2 <- ore.pull(test02.ga)
> class(test02.ga2)
[1] "list"
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 埋め込み型実行での利用関数は大きく2つに分けられます
Oracle R Enterprise の使い方
埋め込み型実行
59
埋め込み実行関数
DBデータ
自動転送 並列実行 データ分割 データ分割方法
ore.doEval × × × N/A
ore.indexApply × 〇 × N/A
ore.tableApply 〇 × × N/A
ore.rowApply 〇 〇 〇 指定行数
ore.groupApply 〇 〇 〇 指定列の値
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle R Enterprise の使い方
全体感
• 基本操作
– OREの機能を使う基本的な操作方法をご紹介します
• 透過型実行
• 埋め込み型実行
• クライアント型実行
60
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• クライアント型実行は簡単です
– クライアントにデータを持ってきてクライアント上で普通のRのオブジェ
クトする方法です
– データベース内のデータは通常ストレージ上に格納されていてサイズの大きなものが多く、
クライアントのメモリに展開しきれないことがあります。その場合、サンプリングを行う
か、埋め込み型などの他の実行形式をご検討ください
•ore.pullするだけです
– ore.pullは DB上のオブジェクトのデータをクライアントに持ってきて、標準Rのクラスに強制
キャストします
– BRANDIMAGE01表のデータをore.pullして心理統計パッケージのdescribeで見てみます
Oracle R Enterprise の使い方
クライアント型実行
61
x <- ore.pull(BRANDIMAGE01)
describe( x )
describe(ore.pull(BRANDIMAGE01))
=
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
Oracle R Enterprise概要
Oracle R Enterpriseのアーキテクチャ
Oracle R Enterpriseの実行方式
Oracle R Enterpriseの使い方
まとめ
62
:
素材のプチッチ
http://putiya.com/
イラストわんパグ
http://www.wanpug.com/
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
• 基本的なアーキテクチャと使い方について記載しました
• OREはRに大量データ処理を実現する為の機能を追加しています
– OREはRにオラクルがパッケージを追加し、データベース上で様々な処理
を実行させるための機能を盛り込んだものになります
• サーバ側に処理をオフロードする方法を複数用意しています。
• 是非、使いこなしていただければ幸いです
まとめ
63
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 64

More Related Content

What's hot

Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料
オラクルエンジニア通信
 
Oracle で SPARQL!
Oracle で SPARQL!Oracle で SPARQL!
Oracle で SPARQL!
オラクルエンジニア通信
 
20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社
20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社
20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社
オラクルエンジニア通信
 
Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介
オラクルエンジニア通信
 
脱Excelで部門のデータ管理業務を 効率化するデータ活用クラウド
脱Excelで部門のデータ管理業務を効率化するデータ活用クラウド脱Excelで部門のデータ管理業務を効率化するデータ活用クラウド
脱Excelで部門のデータ管理業務を 効率化するデータ活用クラウド
オラクルエンジニア通信
 
Oracle Labs 発! Parallel Graph AnalytiX(PGX)
Oracle Labs 発! Parallel Graph AnalytiX(PGX)Oracle Labs 発! Parallel Graph AnalytiX(PGX)
Oracle Labs 発! Parallel Graph AnalytiX(PGX)
オラクルエンジニア通信
 
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始めHadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
オラクルエンジニア通信
 
0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所
オラクルエンジニア通信
 
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
オラクルエンジニア通信
 
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
オラクルエンジニア通信
 
20160916 ビッグデータシンポジウム オラクル公開資料
20160916 ビッグデータシンポジウム オラクル公開資料20160916 ビッグデータシンポジウム オラクル公開資料
20160916 ビッグデータシンポジウム オラクル公開資料
オラクルエンジニア通信
 
つながる!クラウド・データベース間のリアルタイム・データ統合/連携とは
つながる!クラウド・データベース間のリアルタイム・データ統合/連携とはつながる!クラウド・データベース間のリアルタイム・データ統合/連携とは
つながる!クラウド・データベース間のリアルタイム・データ統合/連携とは
オラクルエンジニア通信
 
Oracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデート
オラクルエンジニア通信
 
Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要
オラクルエンジニア通信
 
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
オラクルエンジニア通信
 
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発
Oracle Cloud Platform - クラクドにおける新たなデータベース開発Oracle Cloud Platform - クラクドにおける新たなデータベース開発
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発
オラクルエンジニア通信
 
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
オラクルエンジニア通信
 
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
オラクルエンジニア通信
 
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
オラクルエンジニア通信
 
Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...
Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...
Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...
オラクルエンジニア通信
 

What's hot (20)

Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料
 
Oracle で SPARQL!
Oracle で SPARQL!Oracle で SPARQL!
Oracle で SPARQL!
 
20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社
20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社
20160301 5日でできるクラウドで始めるデータ利活用 新日鉄住金ソリューションズ株式会社
 
Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介
 
脱Excelで部門のデータ管理業務を 効率化するデータ活用クラウド
脱Excelで部門のデータ管理業務を効率化するデータ活用クラウド脱Excelで部門のデータ管理業務を効率化するデータ活用クラウド
脱Excelで部門のデータ管理業務を 効率化するデータ活用クラウド
 
Oracle Labs 発! Parallel Graph AnalytiX(PGX)
Oracle Labs 発! Parallel Graph AnalytiX(PGX)Oracle Labs 発! Parallel Graph AnalytiX(PGX)
Oracle Labs 発! Parallel Graph AnalytiX(PGX)
 
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始めHadoop Conference Japan 2016 LT資料 グラフデータベース事始め
Hadoop Conference Japan 2016 LT資料 グラフデータベース事始め
 
0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所
 
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
 
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
 
20160916 ビッグデータシンポジウム オラクル公開資料
20160916 ビッグデータシンポジウム オラクル公開資料20160916 ビッグデータシンポジウム オラクル公開資料
20160916 ビッグデータシンポジウム オラクル公開資料
 
つながる!クラウド・データベース間のリアルタイム・データ統合/連携とは
つながる!クラウド・データベース間のリアルタイム・データ統合/連携とはつながる!クラウド・データベース間のリアルタイム・データ統合/連携とは
つながる!クラウド・データベース間のリアルタイム・データ統合/連携とは
 
Oracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年5月度サービス情報アップデート
 
Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要
 
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年7月度サービス情報アップデート
 
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発
Oracle Cloud Platform - クラクドにおける新たなデータベース開発Oracle Cloud Platform - クラクドにおける新たなデータベース開発
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発
 
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
 
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年6月度サービス情報アップデート
 
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
クラウドを使って競争優位なビッグデータ活用の実現へ [Oracle Cloud Days Tokyo 2016]
 
Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...
Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...
Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッ...
 

Viewers also liked

Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)オラクルエンジニア通信
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
Masahiro Hayashi
 
Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
Kohta Ishikawa
 
R超入門
R超入門R超入門
R超入門
Sachiko Hirata
 
野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)
野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)
野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)
Takayori Takamoto
 
Oracle Data Miner Tutorial 03
Oracle Data Miner Tutorial 03Oracle Data Miner Tutorial 03
Oracle Data Miner Tutorial 03
オラクルエンジニア通信
 
Tortoise hgのすすめ
Tortoise hgのすすめTortoise hgのすすめ
Tortoise hgのすすめsuzzsegv
 
dashDB & R によるデータ分析 - In database Analytics 基礎編 -
dashDB & R によるデータ分析 - In database Analytics 基礎編 -dashDB & R によるデータ分析 - In database Analytics 基礎編 -
dashDB & R によるデータ分析 - In database Analytics 基礎編 -
IBM Analytics Japan
 
Oracle設計
Oracle設計Oracle設計
Oracle設計
Kouta Shiobara
 
dashDB local ご紹介
dashDB local ご紹介 dashDB local ご紹介
dashDB local ご紹介
IBM Analytics Japan
 
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
Taiji Suzuki
 
Oracle Data Miner Tutorial 02
Oracle Data Miner Tutorial 02Oracle Data Miner Tutorial 02
Oracle Data Miner Tutorial 02
オラクルエンジニア通信
 
バージョン管理システム比較資料
バージョン管理システム比較資料バージョン管理システム比較資料
バージョン管理システム比較資料
suzzsegv
 
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Go Maeda
 
Oracle database high availability solutions
Oracle database high availability solutionsOracle database high availability solutions
Oracle database high availability solutions
Kirill Loifman
 
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
Amazon Web Services Japan
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
Go Maeda
 
In-Database Analyticsの必要性と可能性
In-Database Analyticsの必要性と可能性In-Database Analyticsの必要性と可能性
In-Database Analyticsの必要性と可能性
Satoshi Nagayasu
 

Viewers also liked (18)

Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)Oracle Database Enterprise Edition で解決するデータベースシステムの課題 (12c対応版)
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 
Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
 
R超入門
R超入門R超入門
R超入門
 
野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)
野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)
野外センサネットワークに関する開発研究(東京農工大 大島浩太先生)
 
Oracle Data Miner Tutorial 03
Oracle Data Miner Tutorial 03Oracle Data Miner Tutorial 03
Oracle Data Miner Tutorial 03
 
Tortoise hgのすすめ
Tortoise hgのすすめTortoise hgのすすめ
Tortoise hgのすすめ
 
dashDB & R によるデータ分析 - In database Analytics 基礎編 -
dashDB & R によるデータ分析 - In database Analytics 基礎編 -dashDB & R によるデータ分析 - In database Analytics 基礎編 -
dashDB & R によるデータ分析 - In database Analytics 基礎編 -
 
Oracle設計
Oracle設計Oracle設計
Oracle設計
 
dashDB local ご紹介
dashDB local ご紹介 dashDB local ご紹介
dashDB local ご紹介
 
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
 
Oracle Data Miner Tutorial 02
Oracle Data Miner Tutorial 02Oracle Data Miner Tutorial 02
Oracle Data Miner Tutorial 02
 
バージョン管理システム比較資料
バージョン管理システム比較資料バージョン管理システム比較資料
バージョン管理システム比較資料
 
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
 
Oracle database high availability solutions
Oracle database high availability solutionsOracle database high availability solutions
Oracle database high availability solutions
 
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
[AWS初心者向けWebinar] AWSではじめよう、IoTシステム構築
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
 
In-Database Analyticsの必要性と可能性
In-Database Analyticsの必要性と可能性In-Database Analyticsの必要性と可能性
In-Database Analyticsの必要性と可能性
 

Similar to Oracle R Enterprise の使い方

Oracle RAC 25年の進化
Oracle RAC 25年の進化Oracle RAC 25年の進化
Oracle RAC 25年の進化
オラクルエンジニア通信
 
【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析
【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析
【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析
オラクルエンジニア通信
 
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
オラクルエンジニア通信
 
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
オラクルエンジニア通信
 
Japan it week_アプリケーション開発に最適なクラウド
Japan it week_アプリケーション開発に最適なクラウドJapan it week_アプリケーション開発に最適なクラウド
Japan it week_アプリケーション開発に最適なクラウド
オラクルエンジニア通信
 
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルエンジニア通信
 
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
オラクルエンジニア通信
 
Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介
オラクルエンジニア通信
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクルエンジニア通信
 
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
オラクルエンジニア通信
 
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
Kazuki Nakajima
 
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントSolarisJP
 
2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩
Miyuki Ishiwata
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
yoyamasaki
 
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
オラクルエンジニア通信
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
オラクルエンジニア通信
 
低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成
低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成
低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成オラクルエンジニア通信
 
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみるOracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
オラクルエンジニア通信
 
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
オラクルエンジニア通信
 
【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~
【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~
【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~
オラクルエンジニア通信
 

Similar to Oracle R Enterprise の使い方 (20)

Oracle RAC 25年の進化
Oracle RAC 25年の進化Oracle RAC 25年の進化
Oracle RAC 25年の進化
 
【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析
【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析
【OCP Summit 2016】ユースケースで解説、オラクルクラウドによるアプリケーション性能とログ分析
 
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
 
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
最強のデータベース基盤“Exadata”をパブリック・クラウドで活用!(Oracle Cloud Days Tokyo 2015)
 
Japan it week_アプリケーション開発に最適なクラウド
Japan it week_アプリケーション開発に最適なクラウドJapan it week_アプリケーション開発に最適なクラウド
Japan it week_アプリケーション開発に最適なクラウド
 
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
 
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
[Modern Cloud Day Tokyo 2019] Oracle Functions = サーバーレス × Dockerコンテナ:AWS Lamb...
 
Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
 
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
【旧版】Oracle Cloud Infrastructure:サービス概要のご紹介 [2020年4月版]
 
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
 
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
 
2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩
 
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTEMySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
 
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
[Modern Cloud Day Tokyo 2019] オラクルコンサルが語る!事例でみていくOracle Cloud Infrastructure設...
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
 
低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成
低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成
低コストな可用性構成を実現するポイント ~ SERACでは実現できない高可用性構成
 
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみるOracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
 
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
 
【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~
【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~
【OCP Summit 2016】データベース・クラウド ~活用事例とこれから~
 

More from オラクルエンジニア通信

Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートOracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートOracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートOracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデートOracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデートOracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
オラクルエンジニア通信
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデートOracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデートOracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
オラクルエンジニア通信
 
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
オラクルエンジニア通信
 

More from オラクルエンジニア通信 (20)

Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートOracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートOracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートOracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデートOracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデートOracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
 
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデートOracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデートOracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
 
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
 

Oracle R Enterprise の使い方

  • 1. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Advanced Analytics Oracle R Enterpriseの使い方 ~ データベースで大量データ分析をするために ~ 日本オラクル株式会社
  • 2. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 2 Safe Harbor Statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。 以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するもの ではないため、購買決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊 社の裁量により決定されます。 Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。 他社名又は製品名は、それぞれ各社の商標である場合があります。
  • 3. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda Oracle R Enterprise概要 Oracle R Enterpriseのアーキテクチャ Oracle R Enterpriseの実行方式 Oracle R Enterpriseの使い方 まとめ 3 素材のプチッチ http://putiya.com/ イラストわんパグ http://www.wanpug.com/
  • 4. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Big Data Management System 4 SOURCES DATA RESERVOIR DATA WAREHOUSE Oracle Database Oracle Industry Models Oracle Advanced Analytics Oracle Spatial & Graph Big Data Appliance Apache Flume Oracle GoldenGate Oracle Event Processing Cloudera Hadoop Oracle Big Data SQL Oracle NoSQL Oracle R Distribution Oracle Big Data Spatial and Graph Oracle Database In-Memory, Multi-tenant Oracle Industry Models Oracle Advanced Analytics Oracle Spatial and Graph Exadata Oracle GoldenGate Oracle Event Processing Oracle Data Integrator Oracle Big Data Connectors Oracle Data Integrator B
  • 5. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Database Enterprise Edition Advanced Analytics Oracle Data Mining • データベース内部でマイニング処理 • 12個のマイニング・アルゴリズム • 予測分析のためのアプリケーションの開発 • Oracle Data Miner (SQL Developer) を 用いたGUIによる解析ワークフローの構築 • PL/SQL API と Java API の提供 • Exadataのパワーを利用したモデルの生成 Oracle Advanced Analytics オプション 高度な分析プラットフォームをデータベースに内包 Oracle R Enterprise • オープンソースの統計言語 • 一部の処理をデータベースにオフロード することで大規模なデータを分析可能 • 広範で高度な統計解析のための関数を提供 • Rの機能をアプリケーションやOBIEEに統合 • 対話的なデータ分析と優れたグラフ描画機能 • オープンソースRパッケージ (CRAN) の利用 5
  • 6. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Advanced Analytics 製品概要 6 ODM/ORE 共通のメリット • In-Database Analyticsの実現 – データ移動コスト(時間)をカット – パワフルなデータベースサーバ内で処理 • 堅牢なDBセキュリティによるデータ保護 用途 – 大量データ,全量データに対する分析 – 生データでのリアルタイムな分析 他オプションや製品との連 携で更に高度な分析が可能 ・Big Data Appliance ・Big Data SQL ・Big Data Connecters ・Spatial and Graph etc.. ビッグデータ時代の エンタープライズな 分析基盤を提供
  • 7. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Advanced Analytics - Oracle R Enterprise Oracle R Enterprise 製品概要 7 特長 • Rでの分析処理をデータベースへオフロード – データ移動コスト(時間)をカット – パワフルなデータベースサーバ内で処理 • エンタープライズなRユーザのための機能 – R関数の並列実行のためのインターフェイスを用意 – Rオブジェクト、モデルをDBに保存、Rからデータベースの操作も可能 – Oracle Data Mining機能をRから呼び出して利用が可能 – 大規模分析のため並列処理実装されたR関数(オリジナルパッケージ) デスクトップ利用のRの限 界を超え、大規模なデータ セットでの利用を可能に
  • 8. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 補足: Oracle R Distribution Oracle R Distribution 8 • Oracle は Rのディストリビューターです – Oracle は Rのディストリビューションを提供しています • Oracle R Distribution(ORD)はRに対して性能面の改善や拡張 を行ったものになります • ORDは無償でご利用頂けます ※ディストリビューションとはOSSのソフトウェアなどをパッケージングし利用しやすい形態で提供/配 布しているものになります。Linuxの場合、Red Hat Linux, Debian, Ubuntu, SUSEなどがあります。 Oracle R Distribution http://www.oracle.com/technetwork/database/database-technologies/r/r-distribution/downloads/index.html
  • 9. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda Oracle R Enterprise概要 Oracle R Enterpriseのアーキテクチャ Oracle R Enterpriseの実行方式 Oracle R Enterpriseの使い方 まとめ 9 イラストわんパグ http://www.wanpug.com/
  • 10. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ R言語の処理を透過的にOracle Database内で実行します。 R言語の処理をOracle Database内の処理に変換することで、大規模な分析を実現します。 またDB内処理に変換できない部分もDBサーバ上でRプロセスを実行します。 R EngineR EngineR Engine Rの処理をDB内の処理に変換・オフロードします Oracle R Enterprise packages R Engine Oracle R Enterprise packages SQL R 結果 結果 DBサーバ内で外部プロセスとしてRを実行することも可能です Other R packages Rクライアント • RスクリプトをOracle Databaseで実行す るようにスクリプトを発行します。 • グラフの描画や処理フローの制御は、通常 のRの機能を利用し、クライアント側で実 行します。 Oracle Database内部での実行 • Rの関数をSQLに変換して実行します。 • Oracle Databaseの並列実行の仕組みを活用 し、大量のデータに対応します。 • Oracle Databaseの持つ統計関数、データマ イニング機能を内部的に活用します。 Oracle DatabaseサーバでのR実行 • データベースが複数のRのプロセスをデー タベースサーバ上に外部プロセスとして 起動しますので、追加機器が不要です。 • SQLやPL/SQLからRのスクリプトを呼び 出し可能です。 分析者 DB Oracle DB サーバ 外部 プロセス Other R packages 10
  • 11. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ 全体感:コンポーネント 11 Server SideClient Side OS Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Client Oracle DB Client OS Oracle R Enterprise supporting Packages Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Server Oracle R Enterprise supporting Packages Oracle DB /w AA
  • 12. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ 全体感:コンポーネント:OS 12 Server SideClient Side OS Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Client Oracle DB Client OS Oracle R Enterprise supporting Packages Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Server Oracle R Enterprise supporting Packages Oracle DB /w AA OSについてはマニュアルのシステム要件に記載がございます。ORE 1.5の 場合、どのOSに関しても 64 bit版であることが必須となります。詳しくは 下記をご覧ください。Oracle Enterprise Linuxの場合にはyumのレポジト リがあり、セットアップが少し効率的です。 https://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD120
  • 13. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ 全体感:コンポーネント:Rの動作環境 13 Server SideClient Side OS Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Client Oracle DB Client OS Oracle R Enterprise supporting Packages Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Server Oracle R Enterprise supporting Packages Oracle DB /w AA Rの動作環境及び基本機能を提供する部分です。 Oracle R Distributionをご利用頂くとスムースですが、Open R を利用す ることも可能です。Open R を利用する際には ソースからのbuildが必要と なるケースがあります。 ※マニュアルに記載がありますが、linpackの利用やshlibの利用などを有効にして buildする必要があります
  • 14. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ 全体感:コンポーネント:Oracle R Enterprise Client 14 Server SideClient Side OS Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Client Oracle DB Client OS Oracle R Enterprise supporting Packages Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Server Oracle R Enterprise supporting Packages Oracle DB /w AA Oracle R Enterprise Clientには OREの基本パッケージやR関数の SQL変換wraperとなるパッケージ、一部RパッケージのOracle実装版、 ORE独自機能、Oracle Data Mining機能の呼び出しなどのRパッケー ジが含まれます。 含まれるパッケージ(一部抜粋) - ORE (トップレベルパッケージ) - OREbase (Rのbase相当) - OREcommon(OREの共通低レベル機能/DB接続や操作など) - OREdm(Oracle Data Mining用のアルゴリズム利用) - OREeda(探索型データ解析用パッケージ) - OREgraphics(Rのgraphics相当) など
  • 15. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ 全体感:コンポーネント:Oracle R Enterprise Supporting Packages 15 Server SideClient Side OS Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Client Oracle DB Client OS Oracle R Enterprise supporting Packages Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Server Oracle R Enterprise supporting Packages Oracle DB /w AAOracle R Enterprise Supporting Packageには、Oracle Database 通信用のインターフェ イス定義やOCIインターフェイス、R関数のOracle実装などのパッケージが含まれます。これ はServer, Clientともに共通になります。 含まれるパッケージ(一部抜粋) - DBI(データベース通信インターフェイス),ROracle(OCIインターフェイス),Cairo(グラ フィックスのレンダリング),png(png画像の読み込み、書き込み用)など
  • 16. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ 全体感:コンポーネント:Oracle Database Client 16 Server SideClient Side OS Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Client Oracle DB Client OS Oracle R Enterprise supporting Packages Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Server Oracle R Enterprise supporting Packages Oracle DB /w AA Oracle Database Client はOracle Database のクライアントライブラリを含み、Rからのデー タベース接続(OCI)用のNativeライブラリを提供 します。(実際にはDynamic Linkerでリンクされ 利用されます)
  • 17. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise アーキテクチャ 全体感:コンポーネント:Oracle Database Client 17 Server SideClient Side OS Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Client Oracle DB Client OS Oracle R Enterprise supporting Packages Oracle R Distribution Open R (/w shared lib,lapack..)※ Oracle R Enterprise Server Oracle R Enterprise supporting Packages Oracle DB /w ORE Server Oracle R Enterprise Server は Oracle R Enterprise用のRパッケージとOracleデータ ベース内のスキーマ(RQSYS)やプロシージャ、 操作権限などのメタデータ群で構成されます。 これらを用いてRオブジェクトをデータベースに格納 したり、埋め込みRによる実行などを実現しています。 Rパッケージとしては、ORE Clientに OREserverパッケージが加わっています。
  • 18. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | ご参考:ORE 1.5 matrix Oracle R Enterprise Server Support Matrix Oracle R Enterprise Open source R or Oracle R Distribution Oracle Database (see Note) 1.5 3.2.x 11.2.0.4, 12.1.0.1, 12.1.0.2 1.4.1 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.1 1.4 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.1 1.3.1 2.15.1, 2.15.2, 2.15.3 11.2.0.3, 11.2.0.4, 12.1.0.1 1.3 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.1 1.2 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.1 1.1 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1 1.0 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1 18 R Enterprise Installation and Administration Guide - Oracle R Enterprise System Requirements https://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD335
  • 19. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda Oracle R Enterprise概要 Oracle R Enterpriseのアーキテクチャ Oracle R Enterpriseの実行方式 Oracle R Enterpriseの使い方 まとめ 19 : 素材のプチッチ http://putiya.com/ イラストわんパグ http://www.wanpug.com/
  • 20. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterpriseの実行方式 概要 うまく組み合わせ活用することで分析処理を高速にできます 主たる機能は以下になります –大量データ処理の分割による並列化 –DB内でのデータアクセス、演算 スクリプト実装時に以下を意識していると少しスムースです • どこにデータがあるのか • どこで実行するのか • データは分割利用可能か • 処理順の依存性や冪等性 20
  • 21. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterpriseの実行方式 全体感 • OREでの主要な実行方式は3種類あります • OREでの関数の実装形態によって選択肢の有無が変わります • 実行方式 – 透過型実行 – 埋め込み型(Embeded)実行 – クライアント実行(ore.pullの利用) • 実装形態 – 透過型の実装( cor, mean,IQR,table,head...) – オリジナル実装 (ore.neural, ore.m,ore.glmなどのore.xx) – ORE実装無し 21 ※DB内のデータにアクセスする前提で記述していま す。DBのデータをクライアントにコピー(代入)して 実行する場合には、通常のRと同じです
  • 22. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterpriseの実行方式 実行方式概略 • 透過型実行 – データベースのデータをRプログラムから透過的に利用する実行方式です • data.frameの指定にOracleの表やDB上のオブジェクトを指定できます • 埋め込み型(Embeded)実行 – データベース側にスクリプトを送り込んでデータベースで実行する方式です • データベースサーバ内で外部プロシージャ形式でRが起動します • クライアント実行(ore.pullの利用) – データベースのデータをクライアントに持ってきて実行する方式です • OREのメリットはあまりないですが、使用感に差がでにくいです 22
  • 23. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterpriseの実行方式 実装形態概略 • 透過型の実装( cor, mean,IQR,table,head...) – Rの関数と同名の関数で透過的にデータベースのデータを利用し、処理をデータベースへオフ ロードできます – 関数名の書き換えはほぼ発生しません (一部オプションの非対応などがあります) • オリジナル実装 (ore.neural, ore.lm,ore.glmなど) – Oracleが独自に実装した機能群になります – データベースのデータを利用し、処理をデータベースへオフロードすることができますが、R 関数と書式などに違いがある場合があります • ORE実装無し – Oracleが実装を提供していない関数になります 23
  • 24. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | ご参考:サポートされるR演算子およびR関数(ORE 1.4.1) • 数学的変換: abs、sign、sqrt、ceiling、floor、trunc、cummax、cummin、 cumprod、cumsum、log、 loglo、log10、log2、log1p、acos、acosh、asin、 asinh、atan、atanh、exp、expm1、cos、 cosh、sin、sinh、tan、atan2、tanh、 gamma、lgamma、digamma、trigamma、factorial、 lfactorial、round、signif、 pmin、pmax、zapsmall、rank、diff、besselI、besselJ、 besselK、besselY • 基本統計: mean、summary、min、max、sum、any、all、median、range、IQR、 fivenum、mad、quantile、 sd、var、table、tabulate、rowSums、colSums、 rowMeans、colMeans、cor、cov • 算術演算子: +、-、*、/、^、%%、%/% • 比較演算子: ==、>、<、!=、<=、>= • 論理演算子: &、|、xor • 集合演算子: unique、%in%、subset • 文字列演算: tolower、toupper、casefold、toString、chartr、sub、gsub、substr、 substring、paste、nchar、grepl • データ・フレームの結合: cbind、rbind、merge • ベクトルの結合: append • ベクトルの作成: ifelse • サブセットの選択: [、[[、$、head、tail、window、subset、Filter、na.omit、 na.exclude、complete.cases • サブセットの置換: [<-、[[<-、$<- • データの再編成: split、unlist • データ処理: eval、with、within、transform • applyのバリアント: tapply、aggregate、by • 特別な値のチェック: is.na、is.finite、is.infinite、is.nan • メタデータ関数: nrow、NROW、ncol、NCOL、nlevels、names、names<-、row、 col、dimnames、 dimnames<-、dim、length、row.names、row.names<-、 rownames、 rownames<-、colnames、levels、reorder • グラフィック: arrows、boxplot、cdplot、co.intervals、coplot、hist、identify、 lines、matlines、 matplot、matpoints、pairs、plot、points、polygon、polypath、 rug、segments、 smoothScatter、sunflowerplot、symbols、text、xspline、 xy.coords • 変換関数: as.logical、as.integer、as.numeric、as.character、as.vector、 as.factor、as.data.frame • 型チェック関数: is.logical、is.integer、is.numeric、is.character、is.vector、 is.factor、is.data.frame • 文字の操作: nchar、tolower、toupper、casefold、chartr、sub、gsub、substr • その他のore.frame関数: data.frame、max.col、scale • 仮説検定: binom.test、chisq.test、ks.test、prop.test、t.test、var.test、 wilcox.test • 各種分布: 密度、累積分布、および標準分布のクォンタイル関数 • ore.matrix関数: show、is.matrix、as.matrix、%*% (マトリクスの乗算)、t、 crossprod (マトリクスのクロス積)、tcrossprod (BをA回転置したマトリクスのクロ ス積)、solve (反転)、backsolve、forwardsolve、すべての適切な算術関数(abs、 signなど)、summary (max、min、allなど)、mean 24 これらに加えてオリジナル実装系の関数があります ex: ore.lm, ore.glm,ore.neural,ore.predictなど...
  • 25. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterpriseの実行形式 実装形態と実行形式 • データベース内のデータに対する実行方式と実装形態の対応 – 書き方などで対応させることができるものもありますが、概ね以下の通りです。 25 関数の種類(実装形態) 実行方式 透過型実行 埋め込み型実行 クライアント実行 透過型の実装 ◎ ◎ ×△ オリジナル実装 ◎ ◎ 〇 ORE実装なし × 〇 △ 凡例:◎ =OREのメリット(DB内データ処理、並列処理)を生かせる 〇 =OREのメリットを部分的に生かせる △ = OREのメリットがあまり生かせないが実行はできる × = 実行ができない
  • 26. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 補足:ore.frame 大量データをDB内で処理させるための仕組み • 実行方式が分類される理由はデータのクラスの違いにあります – データベース内のデータをクライアントに持ってくることなく処理させるための実装です • ore.frameというdata.frameの subclassを定義しています – ore.frameを利用できる関数に関してはマニュアルの以下に記載があります 26 ORE 1.4.1 ユーザーズガイド A Oracle R EnterpriseでサポートされるR演算子およびR関数 http://docs.oracle.com/cd/E59151_01/doc.141/e57720/appaopf.htm#CIHFJAAF ORE 1.5 User's Guide R Operators and Functions Supported by Oracle R Enterprise https://docs.oracle.com/cd/E67822_01/OREUG/GUID-C3F098F0-EE9F-45CB-B9F5-C8D4AF963D90.htm#OREUG566 Client R 環境 ore.frame DB表 SQL > class(TITANIC01) [1] "ore.frame" attr(,"package") [1] "OREbase" > colnames(TITANIC01) [1] "Class" "Sex" "Age" "Survived" "Freq" > mean(TITANIC01$Freq) [1] 68.78125 ORE実装の関数は適宜データアクセス部などをSQLに変換し結 果だけを貰うプロキシのような役割を果たします
  • 27. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 関数のデータ指定部に表などのDBオブジェクトを指定できます • 表以外にもDBやDBセッションに保存されたRオブジェクトなども対象にできます – ユーザからの見え方では ore.frameが data部にそのまま使える形になります • DB内でデータを取り扱い、処理もDBにオフロードされます Client Oracle R Enterpriseの実行形式 透過型実行 27 R Client ( RStudioなど) Server Oracle DB SQL 結果セット 長所: ・データ移動コスト無(結果セット除く) ・データアクセスの並列化 ・分析並列化の実装(一部関数) ・DBサーバリソースの活用 弱点: ・対応関数のみ ・書き換えが必要なケースあり ・データが小さいとメリットが見えない
  • 28. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • スクリプトや関数をDBに送り込み、DBサーバ上でRを実行します – 外部プロシージャコールでDB上のRが動作するイメージです • 透過型実行可能な関数をこの形式で動かすこともできます – DBサーバにRパッケージを追加することで色々なパッケージに対応できます。 – また保存済みスクリプトをSQL/トリガーなどから実行することもできます Client Oracle R Enterpriseの実行形式 埋め込み型実行 28 R Client ( RStudioなど) Server Oracle DB Rプロセス 結果セット 外部プロシージャSQL Client スクリプト exec 長所: ・データ移動コスト小 ・データアクセスの並列化 ・分析並列化の実装(一部関数) ・DBサーバリソースの活用 弱点: ・DBサーバリソース活用以外にメ リットが無いケースがある
  • 29. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • データを分割し複数のRプロセスを起動し並列処理させることがで きます – オラクル提供外のパッケージの処理も高速化できる可能性があります • 特に行単位の処理(例:モデルを利用したデータの分類など)では特に威力を発揮します Client Oracle R Enterpriseの実行形式 埋め込み型実行(応用): Apply Interface 29 R Client ( RStudioなど) Server Oracle DB 結果セット SQL Client スクリプト exec Rプロセス外部プロシージャ 外部プロシージャ 外部プロシージャ 長所: ・分析結果の適用を高速化 ・DBサーバリソースをフル活用 弱点: ・データ分割が不可なものでは利用 できない Rプロセス Rプロセス
  • 30. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • データをDBからクライアントに持ってきて、処理を実行します – ore.pull関数でDB上のデータを取得しRのdata.frameに強制Castします – DBへの処理オフロードもされず、データの移動も発生しクライアントにも負 荷がかかりますが、通常のRの使い方(doGetQuery)に似ています Client Oracle R Enterpriseの実行形式 クライアント型実行 30 R Client ( RStudioなど) Server Oracle DB処理 データ ※埋め込み型実行の場合にもore.pullの利用 が必要な場合があります 長所: ・既存スクリプトがそのまま使える ・わかりやすい 弱点: ・OREのメリットは皆無
  • 31. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterpriseの実行方式 実行方式選択の指針 OREのメリットを享受するために以下の優先度で考えます • 大規模データ処理を優先的にDB側の実行に置き換えます • Oracleが実装を提供している関数の利用をご検討ください – 透過型の実装のある関数 (cor, meanなど) – Oracle実装パッケージ ore.xx (ore.neuralなど) – いずれもない場合 • 埋め込み型での実行 ( 非サポート関数のデータベースでの実行 ) • ore.pull()を利用した実行 クライアント側メモリで利用可能な範囲のデータに対して分析をする際にはORE利用によるメ リットは度外視し、クライアント型実行を選択して頂く方がよいケースもあります 31
  • 32. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterpriseの実行方式 まとめ • OREの実装形態によって可能な実行方式に差があります – 全てがOracle提供のものでできない場合にもなるべくOracle実装のものを利 用する(特に大規模なデータ処理部分など)ことでより高速に処理すること が可能となります – スクリプトをそのまま利用したい場合には埋め込み型実行もご検討ください 32 関数の種類(実装形態) 実行方式 透過型実行 埋め込み型実行 クライアント実行 透過型の実装 ◎ ◎ ×△ オリジナル実装 ◎ ◎ 〇 ORE実装なし × 〇 △
  • 33. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda Oracle R Enterprise概要 Oracle R Enterpriseのアーキテクチャ Oracle R Enterpriseの実行方式 Oracle R Enterpriseの使い方 まとめ 33 : 素材のプチッチ http://putiya.com/ イラストわんパグ http://www.wanpug.com/
  • 34. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 全体感 • 基本操作 – OREの機能を使う基本的な操作方法をご紹介します • 透過型実行 • 埋め込み型実行 • クライアント型実行 34
  • 35. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 基本操作:接続と確認 • Oracleデータベースへの接続 – OREライブラリのロード – データベースへの接続 (ore.connect) • ore.frame(DB上のデータへのプロキシ)の確認 – 上記で all=TRUEとした場合、スキーマの表名などがそのまま見えます 35 library(ORE) ore.connect( user="scott",sid="orcl",host="dbserv",password="tiger",port=1521,all=TRUE) ore.ls() ※all=TRUEとすると接続時に当該スキーマのオブ ジェクト(表,Viewなど)がore.frameクラスで生成さ れます
  • 36. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 基本操作:SQLクエリの実行など • ore.execを利用してOracleにSQLを投げられます。 – クエリの結果セットを持ってこない(※)ので一旦表に入れるなどの工夫が必要です • selectの結果をhoge01に入れたい時 – こんな感じの使い方でデータの切り出し操作や変換もDB内で完結できます • select句にSQLの変換関数を利用することで様々な変換が可能です • ore.syncを利用してore.frameの作成や再定義ができます – 引数なしで実行した場合には全てのオブジェクトがrefreshされます – 実体の表のデータの変更への追従にはsyncの必要はありませんが、表構造の変更にはore.syncによる明 示的な同期が必要になります(列追加など) 36 × hoge01 <- ore.exec(" select sysdate ts from dual ") 〇 ore.exec("create table hoge01 as select sysdate ts from dual ") ※不用意にDBのデータをローカルに持ってこないためです
  • 37. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • ore.pushでローカルにあるRオブジェクトをDB側に置きます – このオブジェクトはセッション内のみ有効です – data.frameオブジェクトをDBに置き、ore.frameにCASTしています – これを利用することでore.frameを引数とする関数が使えます • ore.pullでDB上のオブジェクトをローカルに持ってこれます – クライアントのメモリが十分にない場合、失敗します – これを利用することでore.frameに対応してない関数を動作させることができます Oracle R Enterprise の使い方 基本操作:データの移動 37 test01db <- ore.push(test01) > class(test01) [1] "data.frame" > test01db <- ore.push(test01) > class(test01db) [1] "ore.frame" attr(,"package") [1] "OREbase" yabou_local <- ore.pull(YABOU03) test01というローカルデータをtest01dbとしてDBに保持します YABOU03表の中身をyabou_localに持ってきます
  • 38. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 基本操作:表/Viewの作成と削除 • ore.createでローカルのデータをDBに表/Viewで作成できます • ore.dropで表/Viewの削除ができます 38 ore.create(yabou01,table="YABOU02") ローカルのデータ(data.frame)のyabou01をYABOU02表として DB上に作成します ore.create(YABOU02,view="YABOU03") DB上の表(ore.frame)YABOU02をYABOU03 View としてDB上 に作成します ore.drop(table="YABOU02") DB上の表(ore.frame)YABOU02表を削除します ore.drop(view="YABOU03") DB上のView(ore.frame)YABOU03 Viewを削除します
  • 39. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 基本操作:データストアの操作:全貌 • DB上にデータストアを作成しオブジェクトを格納できます – 保存したデータを読み込んだり操作することができます – 1つのデータストアに複数のデータを入れることができます • 通常のRワークスペースで保存できないore.frameオブジェクトも保存することができます • データストアの操作用関数 39 関数 説明 ore.save Rオブジェクトを新規または既存のデータストアに保存します。 ore.load データストアからオブジェクトをR環境にリストアします。 ore.lazyLoad データストアからオブジェクトをR環境に遅延リストアします。 ore.delete 現行のOracle Databaseスキーマからデータストアを削除します。 ore.datastore 現行のOracle Databaseスキーマのデータストアに関する情報をリストします。 ore.datastoreSummary 現行のOracle Databaseスキーマの指定したデータストアに関する詳細な情報を提供します。
  • 40. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 基本操作:データストアの操作 • ore.saveでデータストアの作成と同時にデータの保存ができます – ore.datastoreでデータストアを確認できます – ore.datastoreSummaryでデータストアの中身が確認できます 40 ore.save(yabou01,YABOU03,name="yabou_20160126",description="2016/01/26 using") yabou01(クライアント上のRオブジェクト(data.frame) と YABOU03(DB上の表 (ore.frame) をyabou_20160126というデータストア名で保存しています。 ore.datastore() datastore.name object.count size creation.date description 1 mydata01 2 1512 2016-01-08 13:06:50 test data for save 2 solmatch 1 812081 2016-01-13 17:34:18 Confidential data 3 yabou_20160126 1 153720 2016-01-27 21:22:27 2016/01/26 using ore.datastoreSummary("yabou_20160126") object.name class size length row.count col.count 1 yabou01 data.frame 153720 22 1192 22 2 YABOU03 ore.frame 2130 24 NA 24
  • 41. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 基本操作:データストアの操作 • ore.loadでデータストアの読み込みができます –ore.deleteでデータストアを削除できます 41 ore.load(name="yabou_20160126") yabou_20160126というデータストアを読み込みます。 ore.delete(name="yabou_20160126") yabou_20160126というデータストアを削除します
  • 42. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 全体感 • 基本操作 – OREの機能を使う基本的な操作方法をご紹介します • 透過型実行 • 埋め込み型実行 • クライアント型実行 42
  • 43. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 大抵、利用時にdata.frameの代わりにore.frameを指定するだけな ので、特別何かすることはあまりありません。 – Oracleで実装済みの関数で構成されているかが問題になるケースがあります • CRANから入れるパッケージはほぼこのモードで動作しません • パッケージによりエラーは異なりますが、「型が違うよ」的なものが多いです この場合、要件に応じた対応が必要となります Oracle R Enterprise の使い方 透過型実行 43 > glm(TOTAL~.,data=YABOU_PARAM) Error in terms.formula(formula, data = data) : 'data' argument is of the wrong type
  • 44. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 以下のいずれかの対応が必要になります • Oracle提供のパッケージへの書き換え(工数:小~大) – lm の場合 ore.lm – glm の場合 ore.glm / ore.odmGLM など、、 • 他の実行形式の利用 –埋め込み型実行の利用(工数:小) • 後述の方式で実行します –クライアント型実行の利用 (工数:小~中) • 後述しますが、ore.pullを利用してローカル変数化するか、入れ込むかになります Oracle R Enterprise の使い方 透過型実行:非対応関数への対処 44
  • 45. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 全体感 • 基本操作 – OREの機能を使う基本的な操作方法をご紹介します • 透過型実行 • 埋め込み型実行 • クライアント型実行 45
  • 46. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • DBサーバ上にインストールされたRが実行されます – そのためDBサーバへのRパッケージの追加が必要となるケースがあります • Oracle実装関数も利用可能です – Rスクリプトをレポジトリに保存することでOracle Clientやトリガーなどの SQLインターフェイスからRのスクリプトの実行が可能になります • データを分割(パーティショニング)して複数のRプロセスで並列同 時実行するインターフェイスをご用意しています • OREが提供するインターフェイスは基本的なものになります – うまく組み合わせることで高速化や大量データ分析に威力を発揮します Oracle R Enterprise の使い方 埋め込み型実行 46
  • 47. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 埋め込み型実行の際に起動される外部プロシージャの設定情報は以 下のsys.rq_config 表から確認できます • 埋め込み型実行の際に利用されるメモリー量などの制御ができます – sys.rqconfigsetを使います 補足:埋め込み型実行 埋め込み型実行の設定 47 SQL> SELECT * FROM sys.rq_config; キーワード デフォルト値 説明 MIN_VSIZE 32M 最小のRベクター・ヒープ・メモリー MAX_VSIZE 4G 最大のRベクター・ヒープ・メモリー MIN_NSIZE 1M Rコンス・セルの最小値 MAX_NSIZE 20M Rコンス・セルの最大値 SQL> EXEC sys.rqconfigset('MIN_VSIZE', '20M');
  • 48. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 埋め込み型実行には以下の関数を利用します Oracle R Enterprise の使い方 埋め込み型実行:関連する関数 48 RのAPI SQLのAPI 説明 ore.scriptCreate sys.rqScriptCreate 指定されたR関数をRスクリプト・リポジトリに指定された名前でロードします。 ore.scriptDrop sys.rqScriptDrop 指定されたR関数をRスクリプト・リポジトリから削除します。 ore.doEval rqEval データを自動転送せずにfを実行します。 ore.indexApply 該当するものはありません。 データの自動転送なしでfを実行しますが、1からnまで(nは関数を呼び出す回数)の 呼出しの索引を提供します。データベース・サーバーで稼働するRエンジンのプー ルでの各f呼出しのパラレル実行をサポートします。 ore.tableApply rqTableEval fの最初の引数として指定された入力ore.frameのすべての行を渡すことでfを実行し ます。fの最初の引数をdata.frameとして指定します。 ore.rowApply rqRowEval 指定された入力ore.frameの指定された行数(チャンク)を渡すことでfを実行します。 各チャンクをfの最初の引数にdata.frameとして指定します。データベースのサー バー側Rエンジンで各f呼出しのパラレル実行をサポートします。 ore.groupApply rqGroupEval この関数は、ユーザーが明示的に 定義する必要があります。 グループ化列の値に応じてデータをパーティショニングすることでfを実行します。 各データ・パーティションをfの最初の引数にdata.frameとして指定します。デー タベースのサーバー側Rエンジンで各f呼出しのパラレル実行をサポートします。 管理 実行
  • 49. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • ore.scriptCreateで関数を作成できます – いきなり差し込み型でもいいですし、当て込んでから入れてもいいです • ore.scriptDropで関数を削除できます Oracle R Enterprise の使い方 埋め込み型実行:関連する関数 49 ore.scriptCreate( "testScript_01", function(){ library(psych) x <- 1:20 describe(x) } ) ore.scriptDrop("testScript_01") func01 <- function(){ library(psych) x <- 1:20 describe(x)} ore.scriptCreate( "testScript_01", func01 ) =
  • 50. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • スクリプトの管理(保存/削除)が必要な場合、権限付与が必要です • その権利をまとめた RQADMINロールが用意されています (OREのサーバインストール時にロールは作成されています) – スクリプトを管理するユーザにgrantするだけです 補足:埋め込み型実行 RQADMIN 50 SQL> grant RQADMIM to [対象DBユーザ] ;
  • 51. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 埋め込み型実行での利用関数は大きく2つに分けられます • 非自動転送タイプ – データベースから自動的にデータを受け取りません(必要な場合は手書きで対応) • 自動転送タイプ – データベースから自動的にデータを受け取ります – 引数にそのままDBのオブジェクト(ore.frameなど)の指定ができます • 更に並列化の有無や方式をごとに関数が用意されています Oracle R Enterprise の使い方 埋め込み型実行:関連する関数 51
  • 52. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • まとめると以下のようになります 対象データ件数の大きな操作でデータ分割が可能なものはなるべくrowApplyやgroupApplyを 利用することで劇的な効果が得られる可能性があります Oracle R Enterprise の使い方 埋め込み型実行:関連する関数 52 埋め込み実行関数 DBデータ 自動転送 並列実行 データ分割 データ分割方法 ore.doEval × × × N/A ore.indexApply × 〇 × N/A ore.tableApply 〇 × × N/A ore.rowApply 〇 〇 〇 指定行数 ore.groupApply 〇 〇 〇 指定列の値
  • 53. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 単独単発実行(ore.doEval) – あちらの世界(DBサーバ)で version関数が実行されます – FUN.NAMEで保存した関数(testScript_01)を指定して実行します – 普通にRが起動するのでライブラリのロードも入れ込めます Oracle R Enterprise の使い方 埋め込み型実行:ore.doEval 53 ore.doEval(function(){ version }) res <- ore.doEval( function(){ library(psych) x <- c(1:10) describe(x)} ) ore.doEval(FUN.NAME="testScript_01") ※戻り値resは ore.frameになります ore.doEval(実行関数)
  • 54. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 並列繰り返し実行(ore.indexApply) – 日付け取得を3回ほぼ同時並列に実行します • indexApplyは自動的に並列化され実行されます • doEvalと同様にFUN.NAMEで保存したスクリプトを指定できます 注意点 • ore.indexApplyの第一引数で関数の実行回数を指定します • indexApplyに利用する関数は最低1つの引数を必要とします • 暗黙的に第一引数に自動採番のindex番号が引き渡されます Oracle R Enterprise の使い方 埋め込み型実行:ore.indexApply 54 ore.indexApply(実行回数, 実行関数) > ore.indexApply( 3, function(index){ date()}) $`1` [1] "Thu Jan 28 19:52:26 2016" $`2` [1] "Thu Jan 28 19:52:26 2016" $`3` [1] "Thu Jan 28 19:52:26 2016" ore.indexApply( 3, function(index){ date()}) ore.indexApply( 3, FUN.NAME="testScript_02") 例
  • 55. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 単独単発のDB読込実行(ore.tableApply) – YABOU_PARAM表に対してcor(x) を実行する関数を埋め込み型で実行します • doEvalと同様に保存したスクリプトはFUN.NAMEで指定できます 注意点 – tableApplyに利用する関数は最低1つの引数を必要とします – 関数の第一引数に指定したOREオブジェクト(上記例のYABOU_PARAM)が引き渡されます – ore.tableApplyではデータは分割されず、並列実行もされません Oracle R Enterprise の使い方 埋め込み型実行:ore.tableApply 55 ore.tableApply(YABOU_PARAM, function(x){cor(x)}) ore.tableApply(YABOU_PARAM, FUN.NAME="yabouScript01") ore.tableApply(対象OBJ, 実行関数)
  • 56. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 指定行数分割によるDB読込並列実行(ore.rowApply) – 以下の例ではYABOU_PARAM表を300件づつ分割し個々の集計結果を戻します • 結果は分割ごとにリストに入ります(勝手にマージしてくれたりはしないです) • doEvalと同様に保存したスクリプトはFUN.NAMEで指定できます 注意点 – rowApplyに利用する関数は最低1つの引数を必要とします – 関数の第一引数に指定したOREオブジェクト(上記例のYABOU_PARAM)が引き渡されます – データは指定行数で分割され並列で実行され、リスト形式で返ります Oracle R Enterprise の使い方 埋め込み型実行:ore.rowApply 56 ore.rowApply(YABOU_PARAM, function(x){c(sum(x$TOTAL),nrow(x))},rows=300) ore.rowApply(YABOU_PARAM, FUN.NAME="yabouScript04",rows=300) ore.rowApply(対象OBJ, 実行関数,rows=行数)
  • 57. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 列指定分割によるDB読込並列実行(ore.groupApply) – ore.rowApplyの発展版と思うと少し理解しやすいです • rowApplyでは指定した行数で分割しますが、こちらは指定した列の値によってデータを分割して並列実行します • doEvalと同様に保存したスクリプトはFUN.NAMEで指定できます 注意点 – groupApplyに利用する関数は最低1つの引数を必要とします – 関数の第一引数に指定したOREオブジェクト(上記例のTEST02)が引き渡されます – データは指定列の値で分割され並列で関数が実行され、リスト形式で返ります Oracle R Enterprise の使い方 埋め込み型実行:ore.groupApply 57 ore.groupApply(TEST02,INDEX=TEST02$GENDER, function(x){c(nrow(x),mean(x$"年齢"))}) ore.groupApply(対象OBJ,対象列, 実行関数) NO NAME 年齢 性別 10 織田信長 25 男性 22 真田幸隆 22 男性 30 淀君 19 女性 42 木下藤吉郎 24 男性 55 立花誾千代 22 女性
  • 58. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 並列実行(rowApply,groupApply,indexApply)の結果はore.listクラスで戻されます – ore.listクラスはOracle DBにストアされたリストになります – 個々のリストの索引は以下のものになります • indexApply は指定した索引の数字(=試行回数ごと採番) • rowApply は指定した件数1つづつ採番した数値 • groupApplyは指定した列の値 – ore.listの操作は基本的にRのリストに倣います • ore.pullを利用して普通のRのlistにすることもできます 埋め込み型実行補足:ore.list ore.listについて 58 > test02.ga <- ore.groupApply(TEST02,INDEX=TEST02$性別,function(x){c(nrow(x),mean(x$"年齢"))}) > class(test02.ga) [1] "ore.list" attr(,"package") [1] "OREembed" > test02.ga $女性 [1] 14.00000 19.42857 $男性 [1] 6.00000 19.16667 > test02.ga[["女性"]] [1] 14.00000 19.42857 > test02.ga2 <- ore.pull(test02.ga) > class(test02.ga2) [1] "list"
  • 59. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 埋め込み型実行での利用関数は大きく2つに分けられます Oracle R Enterprise の使い方 埋め込み型実行 59 埋め込み実行関数 DBデータ 自動転送 並列実行 データ分割 データ分割方法 ore.doEval × × × N/A ore.indexApply × 〇 × N/A ore.tableApply 〇 × × N/A ore.rowApply 〇 〇 〇 指定行数 ore.groupApply 〇 〇 〇 指定列の値
  • 60. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle R Enterprise の使い方 全体感 • 基本操作 – OREの機能を使う基本的な操作方法をご紹介します • 透過型実行 • 埋め込み型実行 • クライアント型実行 60
  • 61. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • クライアント型実行は簡単です – クライアントにデータを持ってきてクライアント上で普通のRのオブジェ クトする方法です – データベース内のデータは通常ストレージ上に格納されていてサイズの大きなものが多く、 クライアントのメモリに展開しきれないことがあります。その場合、サンプリングを行う か、埋め込み型などの他の実行形式をご検討ください •ore.pullするだけです – ore.pullは DB上のオブジェクトのデータをクライアントに持ってきて、標準Rのクラスに強制 キャストします – BRANDIMAGE01表のデータをore.pullして心理統計パッケージのdescribeで見てみます Oracle R Enterprise の使い方 クライアント型実行 61 x <- ore.pull(BRANDIMAGE01) describe( x ) describe(ore.pull(BRANDIMAGE01)) =
  • 62. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda Oracle R Enterprise概要 Oracle R Enterpriseのアーキテクチャ Oracle R Enterpriseの実行方式 Oracle R Enterpriseの使い方 まとめ 62 : 素材のプチッチ http://putiya.com/ イラストわんパグ http://www.wanpug.com/
  • 63. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | • 基本的なアーキテクチャと使い方について記載しました • OREはRに大量データ処理を実現する為の機能を追加しています – OREはRにオラクルがパッケージを追加し、データベース上で様々な処理 を実行させるための機能を盛り込んだものになります • サーバ側に処理をオフロードする方法を複数用意しています。 • 是非、使いこなしていただければ幸いです まとめ 63
  • 64. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 64