Skip to main content

Active/Active vs Active/Passive clustering

Active/Active vs Active/Passive clusteringNormally I talk in terms of Multi-instance or single instance 2 node clusters. I find that more people use the terms Active/Active and Active/Passive to detail what the cluster is actually doing (rather than single instance multi-instance).

For what people mostly call Active/Active clusters is really a mutli-instance (in terms of SQL Server) cluster with each node owning a running instance with resources leading to both nodes Actively running business logic. In this scenario I mostly see each node owning an instance and having both nodes as possible owners so that if something should happen failover can occur.

For what people mostly call Active/Passive clusters I normally find a single instance of SQL Server (although I have come across a few cases of multi-instance) that runs on one node Actively and the other node does nothing but sit and wait for a failover to occur (passive node). In the few cases I have come across there was more than one instance running on the same node with the other node passively waiting for a failover to occur.

I find that people use these terms interchangeably although they really aren't, however I found this to be in most cases what people are referring to when they talk about active/active or active/passive. Once you get past 2 nodes in the cluster I've heard people say active/active/passive, etc, etc to designate which nodes were actively running business logic. I'm sure there is a better way to describe the scenarios however I find this to be what most use.


Instance= SQL Software installations(Binary)

When you install SQL for the 1st time it is called as Default Instance. When you install SQL again on the same Server (that is 2nd time) it is named instance.

Every instance will have its own services (SQL Database Server and SQL Server Agent one per instance)

CLUSTER ACTIVE/ACTIVE
Important:SQL Server clustering is designed to solve the problem of high availability, not the problem of load balancing.

In SQL Server, Active/Active clustering simply means having two separate instances running in the cluster—one (or more) per machine. So, Active/Active clustering refers to a two-node cluster, with each node running SQL Server instances but each with a different set of databases. This setup is conceptually the same as having two Active/Passive nodes, except that one node must be a named instance.

Example:
Install 1st Node with "Default Instance" then Install 2nd node wih "Named instance"

Default instance will have 2 databases and Named instance will have 2 or 3 differenr databases.

When application or user wants to acess SQL Database they will use virtual SQL Server Name(Virtual IP) and then connect either to Default instance or Named instance based on which database they want to access.

Disadvantages of running multiple Instances on one Sever
1.It takes more processing power and Memory
2.Complex Administration for DBA's

Comments

Popular posts from this blog

.NET Core: Session Wrapper Design Pattern For ASP.NET Core

Here, we'll learn about Session Wrapper design pattern to ease the access of Session. We'll make our access of session "Typed". Also, we may apply any validation or constraint in this wrapper class. Step 1 - Create a Session Manager class   In this example, we are going to store two items in Session (i.e. ID & LoginName). We are injecting IHttpContextAccessor so that we can access the Session variable.  We are creating properties which are actually accessing Session variable and returning the data or writing the data to Session. We have added one helping property "IsLoggedIn" which is using other properties to make a decision. We may have more such helping/wrapper properties. using Microsoft.AspNetCore.Http; public class SessionManager       {           private readonly ISession _session;           private const String ID_KEY = "_ID";           private const String LOGIN_KEY = "_LoginName";           publ

Facade Design Pattern

Facade Intent Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use. Motivation Structuring a system into subsystems helps reduce complexity. A common design goal is to minimize the communication and dependencies between subsystems. One way to achieve this goal is to introduce a  facade  object that provides a single, simplified interface to the more general facilities of a subsystem. Consider for example a programming environment that gives applications access to its compiler subsystem. This subsystem contains classes such as Scanner, Parser, ProgramNode, BytecodeStream, and ProgramNodeBuilder that implement the compiler. Some specialized applications might need to access these classes directly. But most clients of a compiler generally don't care about details like parsing and code generation; they merely want to compile some code. For them, the powerful but low-level

Tabla - An Indian classical instrument for Rythm

Tabla Indian music has fascinated the West for many years. The tabla in particular has attracted the attention of a number of American and European percussionists. It has been used in popular music as early as the 60's and is heard in the popular media even today. However, many percussionists shy away from this instrument. The reasons for not "getting into it" are varied. Sometimes it is the lack of instruments; sometimes lack of teachers; sometimes it is the belief that tabla is just too difficult. These are legitimate concerns but they are not insurmountable obstacles. This article will address the concerns of a musician just wishing to get started in tabla. We will discuss the theory of Indian music, how to purchase tabla, the basic technique, and compositional theory. All of this information should make the job of getting started much easier. We should first familiarize ourselves with the extensive theory of Indian music. Indian music is one of the oldest musical trad

How to make a Method Thread Safe?

In multi-threaded applications where multiple threads make calls to the methods of a single object, it is necessary that those calls be synchronized. If code is not synchronized, then one thread might interrupt another thread and the object could be left in an invalid state. A class whose members are protected from such interruptions is called thread-safe. Although, there is no rule that makes the code thread safe, the only thing you can do is make sure that your code will work no matter how many times is it being actively executed, each thread can be interrupted at any point, with each thread being in its own state/location , and this for each function (static or otherwise) that is accessing common objects. If a method (instance or static) only references variables scoped within that method then it is thread safe because each thread has its own stack: In this instance, multiple threads could call ThreadSafeMethod concurrently without issue. public class Thing { publ

Create VHD using DISKPART

Create Virtual Harddisk Using DISKPART Open the   Elevated Command Prompt   with Administrator Privileges and type the following commands: DISKPART CREATE VDISK FILE="c:\win7\win7.vhd" MAXIMUM=20000 SELECT VDISK FILE="c:\win7\win7.vhd" ATTACH VDISK CREATE PARTITION PRIMARY ASSIGN LETTER=X FORMAT QUICK LABEL=Windows7 EXIT This will create the  VHD  file of primary partition. You will see the newly attached disk in Disk Management with Drive Letter X: Attaching and Detaching VHD in  Windows 7 Right Click  on My Computer and Click ' Manage ' that will open up  Computer Management , in that click on  Disk Management . Just like previous part. Then Right Click on Disk Management and select  'Attach VHD'.  This will open new windows  'Attach Virtual Hard Disk ' Click on  OK  and that will attach the existing Virtual Hard Disk. Now, if you don't want to make write anything on the VHD, we