RTradeLtd / Temporal

☄️ Temporal is an easy-to-use, enterprise-grade interface into distributed and decentralized storage
https://temporal.cloud
MIT License
226 stars 40 forks source link

Database Refactor - Better HA + Fault Tolerance #473

Open bonedaddy opened 4 years ago

bonedaddy commented 4 years ago

Overview

In light of the temporary impact to IPFS HTTP API directory uploads caused by a database sync issue, we need to refactor the way our database tooling works. We need better HA, and Fault Tolerance so if another repeat of the incident happens, we can automatically fail-over to a working database.

Our current database system consists of three nodes all in logical replication, allowing us to conduct manual fail-over in the event of an incident, and ensures that we have backups of our databases, as well as hourly backups. However this isn't as smooth as it can be.

While this endeavour falls on my to accomplish, it has the help wanted label as this is an area of database administration I'm not familiar with, and would welcome community input.

End Goals

Research

track research notes and such

Possible Implementations

Will contain analysis, pros, cons, etc... of the available solutions

Standby Databases

Clusters

DRBD (Distributed Replicated Block Device)

Pgpool II

Citus CE

Postgres-XL

CockroachDB

Bucardo

Links

bonedaddy commented 4 years ago

going to use cockroachdb as it appears to be the easiest to maintain. the other solutions seem to require a pretty solid understanding of databases, and general DBA stuff which I definitely do not know; I dropped out of a college program to become a DBA so yea :joy: