Postgres-BDR and Fedora Infrastructure
History / Background
Fedora infrastructure has tried to standardize on using postgresql for database needs. Additionally we want to make our databases highly available and handle some common sysadmin cases like: updates/reboots, one hardware machine failing to function, etc. We want this to be as easy and transparent for the sysadmins, so we settled on BDR (Bi-drectional Replication). There are however some limitations application developers need to take into account, so we are going to move applications over as application developers feel they are ready for BDR.
Goals
- Examine choices and select HA method. DONE: BDR
- Setup some applications with BDR in staging. DONE.
- FY18 move more applications as they are ready for BDR
- FY18 move to postgresql 10 as it's ready.
Staging status
The following apps are currently using BDR:
on db-koji01.stg and db-koji02.stg:
koji
on pgbdr01.stg and pgbdr02.stg:
bodhi (though it is not fully BDR compliant yet) datanommer elections fedocal koschei tahrir
Not using BDR:
tagger hyperkitty/mailman kerneltest mbs notifs nuancier pagure pkgdb2 summershum
Production status
- No BDR applications currently, we plan to setup a db pair soon to allow ready applications to move to BDR.