Database Load Balancing and Redundancy for growth

We have a Microsoft SQL Server 2014 database.

We have a quarter million users and 30GB database size file, which really isn't that much. But we have grown very quickly, and want to plan ahead for the growth that is going to happen.

What recommendations do you have for load balancing and redundancy and where would I find details of what we need to do specifically?

Yes, we can throw money at it.

Starr DuskkASP.NET VB.NET DeveloperAsked:
Who is Participating?
Vitor MontalvãoMSSQL Senior EngineerCommented:
There's no load balancing solution for SQL Server. Usually you just add more resources to the server so the database can handle the load.
Although, you can control the resource usage by groups of users, applications or features (regular OLTP, reporting, ...). For that you have the Resource Governor.

For Redudancy, do you mean High Availability?
If so, the only true High Availability solution for SQL Server is AlwaysOn. And we can use it for Disaster & Recovery as well. Indeed, you can also use AlwaysOn as a kind of Load Balancing, as the Replicas are available for read only, so you can redirected your reports to access a Secondary Replica instead of the Primary Replica, removing this way some workload from the Primary Replica.
Starr DuskkASP.NET VB.NET DeveloperAuthor Commented:
We're not married to SQL Server. I've heard talk of Azure, but I really don't know what that is all about.

SQL Server Enterprise doesn't have some kind of load balancing solution?
Vitor MontalvãoMSSQL Senior EngineerCommented:
SQL Azure has limitations and it doesn't also offer a load balancing solution and the high availability depends on the service that you want to contract.

If you're searching for a load balancing solution as having many copies of the database spread in many servers, then it doesn't exist for SQL Server neither SQL Azure and I'm reluctant about if any other RDBMS offers it as well.

From my experience, the bottleneck will be always in the front-end as the front servers aren't usually so powerful as the database server so they will suffer first from lack of resources than the database server.
Scott PletcherSenior DBACommented:
Use a separate server for the SQL instance.  For your 30GB db, give SQL 32GB of RAM.  Keeping the entire db cached will give you extremely good db response time.  If you do have other data, particularly larger data, compress it as much as you can.

The load balancing is much more needed on the front end / web app side, for your 250K users (congrats, that's a LOT!).  Make sure the code is reentrant, as much as possible, and multi-threaded, as much as possible.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.