Tag Archives: doRedis

Will Microsoft OpenTech put Redis into #1 status for in memory NOSQL database? For Linux, Window, and Mac OS X?

Wow! I almost crapped my pants when I read these links:

http://www.zdnet.com/blog/microsoft/microsoft-makes-improvements-to-redis-on-windows-in-memory-database/12563
http://stackoverflow.com/questions/6476945/how-do-i-run-redis-on-windows
https://github.com/rgl/redis/downloads  <–best download
http://blogs.msdn.com/b/interoperability/archive/2012/04/26/here-s-to-the-first-release-from-ms-open-tech-redis-on-windows.aspx
https://github.com/MSOpenTech/Redis

The amazing thing is Microsoft Azure is now the #1 division within Microsoft thanks to their new adoption of the open source languages like Python, Java, Ruby, PHP, etc. Now they want to move into NOSQL databases like Redis. This is big.

Anyhow, I tried getting MongoDB running on a multiplatform within a cluster. What a nitemare thanks to the very primitive documentation. It was rendered useless! As you know, I am now able to see my $100K saving as I switch from Matlab to R. It was so easy to do with Redis for Windows. Compared to MongoDB with a clusters was well useless. Junk. Dead on arrival compared to Redis.Well at least compared to my needs.

As with Redis available for Windows, it can be instantly installed as a service which makes it very easy to start. The GitHub.com link will get you there. I was able to connect into the Redit repository so simply with doRedis.R package.

Watch this Youtube at this link to learn more: http://bigcomputing.com/doredis.html

For clustering and parallelization from R’s perspective is so simple. Scary simple. Compare to MongoDB. Ugly as hell.I can say without hesitation, this is the best stack to go with or my needs. No more wasted days with MongoDB and MYSQL. Too bad they don’t understand how to properly document compared to doRedis and the Redis comminity. I can now move forward onto other steps without worrying about broken stuff from the other options I thought I had to tackle!

I can assure you my Premium membership would expext nothing less of me to deliver. Also, as Borat would say. Very nice!

As in the Youtube video, register your subsequent doRedis R jobs in the host Redis but doing within your secondary R environment: redisWorker(host=’192.168.1.10′,queue=’jobs’) where you register to the host id with the queue being run.

[youtube_sc url=”http://www.youtube.com/watch?v=RtbAk-n-tqM” title=”NOSQL%20Redis%20on%20Windows%20and%20Linux%20clusterto%20parallelize%20with%20R%20and%20doRedis%20package”]

 

 

 

Advantages of R in high frequency trading with Redis NOSQL, doRedis, dot NET C# HFT on Linux and Windows

Advantages of R in high frequency trading with Redis NOSQL, doRedis, dot NET C# HFT on Linux and Windows

I talk about the advantages of this stack for an High Frequency Trading environment. This of couse includes the advantages of R over something like Matlab.

[youtube_sc url=”9QsWeqwyxa0″ playlist=”HFT with Redis NOSQL, R doRedis dot NET C Sharp trading platform on Linux and Windows ” title=”HFT%20with%20Redis%20NOSQL,%20R%20doRedis%20dot%20NET%20C%20Sharp%20trading%20platform%20on%20Linux%20and%20Windows%20″]

Here is an example doRedis R interation in RStudio with a remote Redis server:

registerDoRedis(queue=’jobs’,host=”192.168.2.15″,port=6379)
> library(‘doRedis’)
Loading required package: rredis
Loading required package: foreach
foreach: simple, scalable parallel programming from Revolution Analytics
Use Revolution R for scalability, fault tolerance and more.
http://www.revolutionanalytics.com
Loading required package: iterators
> registerDoRedis(‘jobs’)

> registerDoRedis(‘jobs’,’92.168.2.15′,’6379′)

> registerDoRedis(queue=’jobs’,host=’92.168.2.15′,port=’6379′)

> registerDoRedis(queue=’jobs’,host=’192.168.2.15′,port=’6379′)
> startLocalWorkers(n=2,queue=’jobs’,host=’192.168.2.15′,port=’6379′)
> removeQueue(‘jobs’)
[1] TRUE
> startLocalWorkers(n=2,queue=’jobs’,host=’192.168.2.15′,port=’6379′)
> startLocalWorkers(n=2,queue=’jobs’,host=’192.168.2.15′,port=’6379′)
> removeQueue(‘jobs’)
[1] TRUE
> startLocalWorkers(n=2,queue=’jobs’,host=’192.168.2.15′,port=’6379′)
> foreach(icount(10),.combine=sum,.multicombine=TRUE,.inorder=FALSE) %dopar% 4*sum((runif(1000000)^2 + runif(1000000)^2)<1)/10000000
[1] 3.141388

From http://cran.r-project.org/web/packages/doRedis/vignettes/doRedis.pdf

How to get R connect to NOSQL scalable database Redis with doRedis R package for parallelization

How to get R connect to NOSQL scalable database Redis with doRedis R package for parallelization

I managed to accomplish R connecting to a NOSQL database namely Redis. I wish I could get Cassandra going but no luck. I have a video on how I got it going. Do note the links below that helped me accomplish this:
Discussion on various NOSQL databases including Redis:

http://stackoverflow.com/questions/4720508/redis-couchdb-or-cassandra

For installing Redis Server on CentOS Linux: (I could not get this successfully working with wget and untarring  was downloaded)

https://github.com/causes/redis-centos/blob/master/README.markdown

As said in my video, follow the downloaded packages INSTALL readme guide. You need to make to build from the source of Redis. It ain’t that bad. You also need to run a test on the settings of Redis.
For doRedis R package video demo and instructions on how to use it in within R:

http://bigcomputing.com/doredis.html

[youtube_sc url=”http://www.youtube.com/watch?v=p0PO6IAwe-w” title=”r%20redis%20nosql%20integration”]