Opal delegates many of its computation and data source connection capabilities to the attached R server(s).
See the Rock R server documentation to install and configure one or more instances of R server that Opal will use to balance the computation load.
Read also the Apps documentation to know how to interconnect Opal with some R servers.
R Server Scalability¶
Opal can interact with several R servers, grouped in a cluster. All R servers from a cluster are expected to be the same (version of R, R packages installed), i.e. Opal can create new R sessions in one or another. This allows load balancing between R servers, especially useful in a multi-user environment when computation intensive R operations are done (omics analysis for instance).
R Server Profiles¶
Opal supports multiple clusters of R servers, each one is designated by a profile name. This allows to have different flavors of R servers living aside of each others: different versions of R, different R packages installed, in different versions. Such configuration is easy to setup when deploying Rock with Docker. As the footprint of a Rock server is small, using a containerized deployment it is possible to have several versions of R servers running on the same host.
Based on Opal’s capability to handle different profiles (clusters) of R servers, it is also possible to define several DataSHIELD profiles. A DataSHIELD profile is a R server profile combined with a DataSHIELD configuration (allowed functions, options and permissions). DataSHIELD users can then decide in which environment their analysis are to be performed, for a better reproducible science. DataSHIELD administrators can also fine tune the DataSHIELD configurations for advanced usages. Such configuration is easy to setup when deploying Rock with Docker, eliminating the burden of dealing with several versions of R and packages, and of installing potentially hundreds of R packages.