Question

Scenario FCI: I understand multi-site active-active replication in SQL Server can be installed with an FCI (Failover Cluster Instance). The replication part occurs at the storage level with a connected SAN. So it's considered active-active, but only one node has the FCI ownership, but the data is replicated between sites at the storage level.

Scenario AG: But, I'm searching for a widely accepted definition of active-active replication. In Microsoft's documentation, the secondary replica in an AG (Availability Group) is active if the same can be used for read-only queries. So, an AlwaysOn AG could be used to get replication between the two sites, with the primary active read-write and the secondary active-read-only.

So the difference is:

Scenario Main Site DR Site
FCI read-write read-write on failover
AG read-write only-read without failover

So my question is: I'm seen that FCI with synchronous storage level replication is considered active-active replication. But, I'm seen too that active-active replication is considered only when you can read-write to both sites. So, my questions are:

  1. is there some widely accepted definition of active-active replication?
  2. Scenario FCI and scenario AF are considered active-active replication?
  3. what's the difference between active-active replication and master-master replication?
Was it helpful?

Solution

the failover cluster instance is not a active-active solution for databases.

Here you can find the microsoft documentation:

https://docs.microsoft.com/en-us/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server?view=sql-server-ver15

The secondary node(s) is(are) not accessible (their sql server services are stopped). You can build on it an active active solution installing multiple sql server instances having active instances on different nodes but a single database can be accessible only in one node at time.

In alwayson availablility group you can have readable secondaries (only with enterprise license) to offload some tasks like backups, readonly activities etc...

Here you can find the microsoft documentation:

https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?view=sql-server-ver15

Both solutions are not considered active active sql server installation if you consider a single database.

There are other solution that can be used to reach some kind of active active solution. It is the Sql server replication. Here you can find the documentation:

https://docs.microsoft.com/en-us/sql/relational-databases/replication/sql-server-replication?view=sql-server-ver15

This last solution is not an instance or database high availability solution. It's more at application level because you have to choose to replicate tables or other specific database objects to another instance. In this case the peer-to-peer replication is the nearest to an active-active multi master solution. But is also the worst by the point of view of maintenance and performace because your server have to sustain the io load of the whole peer-to-peer network.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top