June 27, 2012 at 12:57 am
Good day,
I've been looking around on the internet and there are several articles around for high-availability, though not so much on easy maintainable load-balancing clusters.
Any ideas to the problem below will be most appreciated.
I've got a problem (like most people in the forums) where I need to "invent" a solution for the following criteria:
- it must only be 1 database
- a SAN storing the database files
- a cluster should be created where any node in the cluster can receive a transaction for read or write purposes (all nodes in the cluster can thus write to the database)
- the cluster is high-availability in itself but is also load balanced where all nodes are participating in insert/update queries
- A node (server running sql-server) can be added at any time and it should be easy to add it to the processing cluster
- it should not be possible for a conflict to arise when there are more than one node that is trying to update the same record in a table
- should a node fail, only the queries to that node at that time should fail
Thanks,
Pieter
June 27, 2012 at 2:58 pm
bothap (6/27/2012)
Good day,I've been looking around on the internet and there are several articles around for high-availability, though not so much on easy maintainable load-balancing clusters.
Any ideas to the problem below will be most appreciated.
I've got a problem (like most people in the forums) where I need to "invent" a solution for the following criteria:
- it must only be 1 database
- a SAN storing the database files
- a cluster should be created where any node in the cluster can receive a transaction for read or write purposes (all nodes in the cluster can thus write to the database)
- the cluster is high-availability in itself but is also load balanced where all nodes are participating in insert/update queries
- A node (server running sql-server) can be added at any time and it should be easy to add it to the processing cluster
- it should not be possible for a conflict to arise when there are more than one node that is trying to update the same record in a table
- should a node fail, only the queries to that node at that time should fail
Thanks,
Pieter
SQL Server does not do load balancing natively, as you have found out. Nor does it scale out easily, but it can. Scaling up a single instance is a much simpler path to take, and backing that up with the HADR features to allow for minimum downtime will get you close to what you're asking, and close to 0 downtime and 0 data loss. None of the HADR configurations offer exactly what you've specified.
If you're bent on scaling out and want to continue your research this article was written for SQL 2005 but at a glance the concepts and techniques are still relevant:
Planning, Implementing, and Administering Scaleout Solutions with SQL Server 2005
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato
June 28, 2012 at 1:00 am
Thank you very much for the reply! I'll read through the Scaleout Solutions paper and maybe even I can make it work someday 🙂
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply