Is the Microsoft R Client a…client?

RMicrosoft has recently been on a tear introducing R into, well, everything. And now there are several R offerings – from Microsoft R Server and Microsoft R Open to R Services in SQL Server (2016) and now the Microsoft R Client.

But is the Microsoft R Client a client? So it’s a command-line, or a GUI of some sort?

No. I mean, yes. OK, let’s take a closer look.

R is an interpreted language – that means you type some commands into a window (command line, GUI, or a script that you pass in) and the R program runs the commands. This is different than a compiled language, where you type in certain commands, and those are then changed into a different form that an operating system can run directly. It’s also different than how a server platform – like SQL Server for instance – runs continuously, waiting for properly formed packets to come in on a networking port, to change the code it gets and to finally run the commands sent.

Because R is an interpreted language, you need the engine to run it. “Open Source R”, or CRAN-R, is a free, open-source software installation you can use to run R code. It has a command-line, and a rather simple graphical environment (GUI) you can use to write and run code.

Microsoft R Open builds on top of that open-source installation. It is the same thing as Open-Source R, with access to thousands of libraries (called packages) and full community support. It does have some of the same limitations as Open-Source R, such as being memory bound for data-frames and so on. And – this is the important bit – it doesn’t have the ability to connect to a Microsoft R Server and send the code to run there rather than running locally.

diagram1Enter the Microsoft R Client. It includes Microsoft R Open, and adds in some of the ScaleR functions, which makes processing data faster and more efficient. And again, it’s a full R environment – you can write and run code, right there on your desktop. But the important bit is that it can connect to a Microsoft R Server (MRS) by seting something called the “Compute Context“, which tells the R environment to run on a more powerful, scalable server environment, like you may be used to with SQL Server.

So, does the Microsoft R Client have a client in it? Yes, it has a command line and a simple GUI. But the “Client” moniker comes from the fact that it can act as a client to MRS, not just that it has a client environment installed. (Just to blow your mind a little, the “Relational” in Relational Database Management System does *not* refer to relationships. I know, crazy, right? It’s not just Microsoft doing this sort of thing.)

For a “client” (little c) I use R Tools for Visual Studio (RTVS) and I like it a LOT. you can use that to hit MRS as well. And yes, if you install the Microsoft R Client software, and then use the popular RStudio GUI, that will talk to MRS as well.

Glad we had a chance to clear all that up. Good talk.


(Want to know more about what is in what? Check it:


2 thoughts on “Is the Microsoft R Client a…client?

  1. I don’t think I get what Microsoft R Client is. It seems to be Microsoft R with ScaleR packages built-in. So in effect, open source R + Intel’s math libraries + ScaleR all bundled together?

    R’s major limitation for me has always been the memory limit and not performance, so I don’t get what this is solving over base R. If some basic functions are now running faster than before then yeah good I guess, but hardly worth rejoicing for.

    Unless of course I’m being a dolt and completely missing something?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.