Hello,
I currently have a 3-node MariaDB Galera cluster, servicing an application. We are looking to have this application active in four DCs. The following are the requirements of the new setup
[LIST]
[]each site may be independently active
[]all DB data is to be available on every cluster at each DC
[]if replication (or sync) fails between one DC and another, both DCs shall continue to operate independently until replication is able to start up again (ie no split brain)
[]self sustained (no manual intervention required at any time)
[]ideally would like to have automatic collision handling
[]ideally would like an RDBMS solution (as we’re using jOOQ for Java)
[/LIST] Things we can tolerate
[LIST]
[]slave lag is acceptable
[]ACID not required
[*]as long as the data “syncs at some point”, it’s good enough
[/LIST]Glossary
3NC = 3 node cluster
DC = data center
Research done so far:
[LIST]
[]MYSQL group replication
[LIST]
[]closest thing to what I need, however, it’s not recommended for WAN
[]only supports 9 nodes
[/LIST]
[]MariaDB Galera (3NC at each DC, part of one global cluster)
[LIST]
[]synchronous replication between 4 DCs is out of the question
[]if a DC drops out, it’s unusable
[/LIST]
[]MariaDB Galera (independent 3NC at each DC, using bidirectional MYSQL replication between each DC)
[LIST]
[]difficult to deal with auto increments and offsets, especially when adding new DCs or nodes
[]if there is any problem (like collision), replication fails and becomes a pain to start again
[/LIST]
[]MYSQL NDB Cluster
[LIST]
[]engine change from InnoDB, would rather not do that
[]downed data nodes may have to be brought up manually, the backup mechanism seems like a pain
[]on paper, geographical replication would work best for my requirements
[/LIST]
[]Percona XtraDB Cluster
[LIST]
[*]from what I can tell, it doesn’t support what I’m trying to do
[/LIST]
[/LIST] Do other SQL setups have a solution, maybe PostgreSQL?