Skip to main content

Data protection (backup, recovery testing & lifecycle policies)

We manage 2 database technologies for reOS. Cassandra is the primary database for all reOS microservices and PostgreSQL is the primary database for our Banking service and our hyper ledger Iroha.

Cassandra

All data is stored in a Cassandra cluster. We currently have 3 nodes in the cluster and all data is replicated across these nodes. Our Replication Factor is set to 2. So that if a node fails there is no downtime and we can replace it with a new one.

http://cassandra.apache.org/

Backups Cassandra is resilient but we still do nightly snapshops which is stored on Google Cloud Platform Recovery Testing We have not done recovery testing with Cassandra yet

PostgreSQL

Banking and Easypay

We have a few services that use Postgres. 2 Legacy services in Banking and Easypay. Backups Both databases are snapshotted nightly. Recovery Testing Banking has been migrated several times between different data centres and eventually to Kubernetes without any issues. All Input, Output and Statement files submitted to and from ABSA is backed up and stored in a nightly snapshot, we can rebuild the current state with these files.

Iroha

Iroha also uses PostgreSQL, as with Cassandra it is distributed across 3 nodes. Backups the postgresql cluster is snapshotted nightly. Recovery Testing We have done a rollback on Iroha by rebuilding the state and it went through successfully. We rolled back due to a glitch that prevented us writing the keys to Cassandra.