7

In David Fowler's blog, SQL Server has been added to the list of scale out providers for service bus.

I am in the process of implementing Redis on our Windows servers. Based on what I know about Redis, I'm guessing it will be significantly faster than using SQL Server - is that a fair assumption?

If so, how does the Windows version of Redis implement fail-over?

ElHaix
  • 12,846
  • 27
  • 115
  • 203

2 Answers2

12
  • Redis is ~x200 faster than SQL, mainly because it's in-memory and the protocol is designed for speed.
  • If that helps, Redis Cloud is now offered on Windows Azure, and HA is a built-in capability of the service.

Disclosure - I'm the Co-Founder & CTO of Garantia Data, the company behind the Redis Cloud service.

Dan McGrath
  • 41,220
  • 11
  • 99
  • 130
Yiftach
  • 504
  • 3
  • 5
4

Based on what I know about Redis, I'm guessing it will be significantly faster than using SQL Server - is that a fair assumption?

It will be faster than SQL Server since it's optimized for in-memory based operations, however its speed isn't the only advantage. Support of advanced data structures offers a great deal of flexibility when dealing with various scenarios.

If so, how does the Windows version of Redis implement fail-over?

There is a link in download section to unofficial windows based port of redis which however isn't meant to be used for production purpose. Official version of redis supports replication and sentinel has automatic failover, but it's hard to say what's the state of these features in windows port. In general I wouldn't recommend to use redis on windows machine but rather use virtual machine with linux distro and run it there.

Roy Tinker
  • 10,044
  • 4
  • 41
  • 58
yojimbo87
  • 65,684
  • 25
  • 123
  • 131
  • yes, I have seen the Windows port, but was unclear about the sentinel functionality. So for prod, best to go with some Linux VM's. I would prefer to keep everything on the MS stack though. Other options? If going with Redis on Linux, how much memory (typically) should be allocated on the VM (to start), and which Linux distro is recommended - this for a SignalR simple message bus for roughly 6000 clients? Do I really need the support for more complex data structures if this is just for a SignalR message bus? – ElHaix Nov 14 '12 at 15:51
  • SignalR is probably using redis pub-sub functionality under the hood so it serves the needs. How much memory - it's hard to say but I guess 1GB (or even less) should be enough if you are using it only for signalr. As of linux distro I would recommend ubuntu server edition. – yojimbo87 Nov 14 '12 at 16:24
  • If using the Windows Azure Service Bus backplane for SignalR (http://vasters.com/clemensv/2012/02/13/SignalR+Powered+By+Service+Bus.aspx), can I use our own SQL Server VM's instead of MS's cloud (or should I post this as another question? – ElHaix Nov 14 '12 at 16:42
  • This would be better as a separate question. – yojimbo87 Nov 14 '12 at 16:53
  • http://stackoverflow.com/questions/13383489/how-to-create-a-local-windows-based-service-bus-outside-of-azure-similar-to-red – ElHaix Nov 14 '12 at 16:59
  • With the least amount of code change, and since we want to host all of our own servers, the Azure route is not an option. Since there are already documented methods or using Redis, this would probably be quicker to market, yes? – ElHaix Nov 14 '12 at 17:10
  • Probably yes, community around redis is big with rich knowledge base and signalr is becoming popular in .net world. – yojimbo87 Nov 14 '12 at 17:33