SQL clustering vs. virtualization

  • Hello,

    I have a problem choosing between clustering and virtualization solutions.

    We have an SQL server instance which have some large databases in it. Most of serer resources consumes for this database. I mean, you can suppose an SQL instance with a large database in it.

    Is it better to use table partitioning and using SQL server clustering to provide avalaibility and high performance , or use server virtualization using some programs like VMWare.

    As I know virtualization is used to utilize resources. Eg. you can integrate many DB servers in One or two servers.So I think for one or two databases in one SQL server Instance, clustering would be a better solution.

    Have fun,

    Parissa Bakhshi

  • parissa_bakhshi (11/2/2010)


    I have a problem choosing between clustering and virtualization solutions.

    We have an SQL server instance which have some large databases in it. Most of serer resources consumes for this database. I mean, you can suppose an SQL instance with a large database in it.

    Is it better to use table partitioning and using SQL server clustering to provide avalaibility and high performance , or use server virtualization using some programs like VMWare.

    As I know virtualization is used to utilize resources. Eg. you can integrate many DB servers in One or two servers.So I think for one or two databases in one SQL server Instance, clustering would be a better solution.

    Virtualization and Clustering are not comparable, they are at different layers of the food chain.

    Virtualized environments are nothing but a platform, a virtual rather than a real machine. On top of it you may want to do clustering or not but, the concepts are not comparable.

    Hope this clarifies.

    _____________________________________
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at Amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
  • Thanks for your kind reply.

    After posting this question to many forums, finally you answered me 🙂

    Let me make my question clear.

    We have 1 Database server, which needs lot of resources. We want to take best use of resources. To reach to this end, we can deploy virtualization to use shared resources of other servers, and another solution is to implement SQL server clustering to share the load of server , among multiple servers. Although these 2 solutions are different, both of them can help use to reach to this purpose.Then which of them/? Another issue is "high availability" which can be reached using both solution. ...

    Don't know which of them can help us....

    Regards,

    Parissa Bkakhshi

  • Neither Virtualization or Clustering is a method to use additional resources from other hardware. A virtual machine is hosted on a single physical server - but can then be moved to another physical server if needed.

    Clustering is a secondary physical server that is available if the primary node fails. The secondary server cannot be used at the same time for the same instance of SQL Server.

    You can use the second node in a cluster for additional instances - but those instances would share the resources on that single node.

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

  • I don't know much about virtualization. Somebody just told me tha it can take use of other servere which are in your virtual environment.

    But, I know that in clustering, for example you have 3 servers. you can implement active-active cluster , then use table partiotionning to break your database into parts and put each part in an one cluster node.Now what you have is 3 servers, each of them servicing one part of database.Is that false?

  • parissa_bakhshi (11/4/2010)


    I don't know much about virtualization. Somebody just told me tha it can take use of other servere which are in your virtual environment.

    Yes and No. 😀 nothing is more dangerous that partial knowledge, isn't it?

    In a virtualized environment you certainly can increase processing power by moving CPUs from one "virtualized server" to another, please note that the key word here is "virtualized".

    You can build several virtual servers in a single host computer so, when you are moving CPUs from one virtual server to another you are playing with the CPUs in that particular physical server.

    As you can see this does not solves your issue.

    parissa_bakhshi (11/4/2010)


    But, I know that in clustering, for example you have 3 servers. you can implement active-active cluster , then use table partiotionning to break your database into parts and put each part in an one cluster node.Now what you have is 3 servers, each of them servicing one part of database.Is that false?

    Yes and No. 😀

    What you describe is not clustering but database sharding. SQL Server implements database sharding thru "Federated Databases", this is what you have to research.

    _____________________________________
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at Amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
  • Oh , thanks for you reply.

    I learn alot from you, as you seems to be a DB admin or developer, and I am in networking 🙂

    I didn't know about azure.

    I searched about it. But found this:

    http://www.sqlmag.com/article/sql-azure-database/SQL-Server-vs-SQL-Azure-Where-SQL-Azure-is-Limited.aspx

    .I also learned alittle about cloud computing. Can SQL be integrated with some cloud computing environments like VMSphere?

    What I meant about clustering and partitioning was something completely different from azure and cloud computing.

  • parissa_bakhshi (11/4/2010)


    ... use table partiotionning to break your database into parts and put each part in an one cluster node.Now what you have is 3 servers, each of them servicing one part of database.Is that false?

    mmhhh... technically this is not what table partitioning means, the generally accepted mean of it is that when you partition a table all partitions remain in the same database. Table partitioning is not a high availability feature.

    On the other hand I think you are actually refering to database sharding which is the technique of breaking a database into pieces - by the way, clustering is not even needed. This is not applicable for all databases, an applicable example would be a database serving a search engine. If you want to pursue this path you may want to research "SQL Server Federated Databases".

    Hope this helps.

    _____________________________________
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at Amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply