Is Redis a better option for SignalR scale out over SQL Server, and do each support failover?
Asked Answered
M

2

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?

Molliemollify answered 13/11, 2012 at 22:3 Comment(0)
R
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.

Rueful answered 14/11, 2012 at 8:57 Comment(7)
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?Molliemollify
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.Rueful
If using the Windows Azure Service Bus backplane for SignalR (vasters.com/clemensv/2012/02/13/…), can I use our own SQL Server VM's instead of MS's cloud (or should I post this as another question?Molliemollify
This would be better as a separate question.Rueful
#13383989Molliemollify
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?Molliemollify
Probably yes, community around redis is big with rich knowledge base and signalr is becoming popular in .net world.Rueful
W
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.

Wenzel answered 27/12, 2012 at 13:46 Comment(0)
R
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.

Rueful answered 14/11, 2012 at 8:57 Comment(7)
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?Molliemollify
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.Rueful
If using the Windows Azure Service Bus backplane for SignalR (vasters.com/clemensv/2012/02/13/…), can I use our own SQL Server VM's instead of MS's cloud (or should I post this as another question?Molliemollify
This would be better as a separate question.Rueful
#13383989Molliemollify
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?Molliemollify
Probably yes, community around redis is big with rich knowledge base and signalr is becoming popular in .net world.Rueful

© 2022 - 2024 — McMap. All rights reserved.