Search code examples
databasedistributeddistributed-computingredundancydistributed-system

Geographical redundency for database: What are the options?


We need to provide Geographical Redundancy in our project, it has massive DB (2-20 TB depending on specific customer's requirement). We have continuous in-flow of data from network (e.g. 1-20 GB per hour).

Currently we have Oracle (no RAC) with J2EE AppServer on a RHEL (Linux) cluster and SAN disks for storage, in short one DB, multiple AppServs.

What we need is Geographical Redundancy. Requirement can be summarized as, as long as things are fine 2 separate installations of our product serve 2 distinct networks (each serving one). When one of them goes down other one should serve both.

Additional notes:

  • We need a relational DB with SQL support, as Warehousing is one of the basic needs.
  • Prefer not to use hosted/cloud services like: http://aws.amazon.com/vpc/ as our customers can be extremely finicky abt security/privacy (even if the hosted/cloud services provide those).

Discounting the application logic what are the options for just replicating my data? STFW came up with only following results (as I'm no DBA expert, my interpretations might be wrong):

  • Surprisingly I could not find a product from Oracle for Geographical Redundancy. Oracle RAC is for a local cluster (more for horizontal scalability than redundancy).
  • MySQL seems to support only active-standby, when distributed. I need active-active.
  • Guident seems to be providing a service based on some Oracle products, but no product.

Thanks -- Kashyap


Solution

  • I suppose that MySQL cluster should work for you. Other multi-master solutions could be found here.