1.2.1 Oracle Machine Learning for R Architecture for Oracle Database
OML4R has a client/server architecture based on Oracle Database and Oracle Client.
R engines run on the server computer and on each client computer. OML4R supports three key capabilities:
-
R Transparency
OML4R packages on the client support R transparency, which enables Oracle tables to appear "transparently" as native R objects. OML4R packages provide transparent access to Oracle Database tables and views, enabling users to invoke standard R functions, which are translated into SQL transparently to the user for in-database execution.
-
Predictive Analytics and Machine Learning
OML4R supports a wide range of parallel and distributed algorithms supporting predictive analytics and machine learning. This enables both scalability and improved performance, while leveraging a convenient R interface to in-database and database server-side algorithms.
-
Embedded R Execution
OML4R packages, libraries, and R and SQL APIs on the server support the execution of user-defined R functions within SQL queries and PL/SQL statements. Embedded R execution spawns R engines that can run in parallel, for data-parallel and task-parallel execution. With embedded R execution, you can run user-defined R functions, possibly leveraging third-party packages. With facilities like the
DBMS_SCHEDULER
database package, you can schedule the execution of user-defined R functions for lights-out processing.
Figure 1-1 Client/Server Architecture of OML4R