Omschakeling middernacht: schakel over naar het nieuwe beheerde PostgreSQL. 00:17, FK-beperkingsfouten - weestabel alleen aanwezig op nieuw. Terugkeer aangekondigd 45 minuten. Oorzaak: schemamigratie zonder uitbreiden/inkrimpen, verkeer overgeschakeld vóór pariteitscontrole rijtelling.
Een database migreren = schema drie stromen: compatibel schema, gegevenssynchronisatie, verkeerwisseling. De volgorde is belangrijker dan het weergegeven onderhoudsvenster.
Uitbreiden / inkrimpen
- Voeg null-kolommen/tabellen toe (uitvouwen).
- Implementeer een app die indien nodig beide schema's leest.
- Aanvulgegevens.
- Wissel tussen vermeldingen.
- Verwijder oud (contract) — nooit voordat de pariteit is bewezen.
Breaking change dezelfde release als cutover = gegarandeerd incidentticket.
Gegevenssynchronisatie
| Werkwijze | Wanneer |
|---|---|
| pg_dump/herstel | Kleine DB, onderhoud geaccepteerd |
| Logische replicatie | Grote DB, lage downtime |
| CDC (Debezium) | Bijna realtime |
| Momentopname + WAL | Cloudbeheerde PITR |
Testvertraging en conflicten voor minuutovergang. Grootte van nieuwe instance IOPS/RAM vóór synchronisatie.
Controlelijst voor omschakeling
Schemawijzigingen bevriezen. Vergelijk rijtellingen hash-monster. Hou op met oud schrijven. Laatste synchronisatie. Flip-poolverbinding (PgBouncer-sessiemodus indien voorbereide verklaringen). Rook testen. Monitor fouten 1 uur.
Functievlag-URL DB. Oude instantie alleen-lezen 7 dagen na de cutover.
PgBouncer en zwembaden
In de transactiemodus voorbereide instructies: sessiemodus of gedocumenteerd runbook met directe D-day-verbinding. Pools cachen oude hostnaam: start apps opnieuw expliciet na de cutover.
Geloofwaardige terugdraaiing: DNS/pool terugzetten + omgekeerde hersynchronisatie getest op kloon - geen dia zonder getimede opdrachten.
Droogdraaien op kloon
Voer een volledige cutover uit op een identieke kloon - middernachtprik is niet het moment om de bestelling te ontdekken. Archief ondertekend plan: uitbreiden/inkrimpen, vensters, eigenaren, gecodeerde terugdraaicriteria.
Vergelijk RDS/beheerde DB-hosts via vergelijker op IOPS en cutover-ondersteuning.
Week na de cutover
Instantie oud, alleen-lezen, minimaal 7 dagen. Controleer schema-mismatch ORM-cachefouten.
Utf8mb4 emoji-test vóór de overgang: stille afkapping.
Functievlaggen verdelen het implementatieschema en draaien het verkeer om.
Operationeel toezicht
Archief ondertekend migratieplan – toekomstige postmortem zonder mondelinge herinnering. Inclusief orderuitbreidingscontract, vensters, eigenaren en gecodeerde terugdraaicriteria. Liquibase checksum-conflict vrijdag geïmplementeerd – bevriezing van migraties gedurende de week gedocumenteerd. Documenteer de kloof tussen de belofte van de hostingprovider en de veldmeting in de driemaandelijkse evaluatie.
Kwartaalvoortzetting
Archief ondertekend migratieplan – toekomstige postmortem zonder mondelinge herinnering. Inclusief orderuitbreidingscontract, vensters, eigenaren en gecodeerde terugdraaicriteria. Liquibase checksum-conflict vrijdag geïmplementeerd – bevriezing van migraties gedurende de week gedocumenteerd. Documenteer de kloof tussen de belofte van de hostingprovider en de veldmeting in de driemaandelijkse evaluatie.
Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.
Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.
Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.
Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.
Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.
Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.
Operationele achtervolging
Houd een gedateerd runbook, een driemaandelijkse evaluatie met bedrijfsteams en statistieken bij voor en na elke wijziging. Documenteer de gaten tussen hostbelofte en veldmeting: latentie, quota, herstel, ondersteuning. Om de infrastructuur te vergelijken en andere feedback uit de praktijk te lezen, bladert u door onze directory, de vergelijker en de technische handleidingen van de blog – een gedocumenteerde beslissing is beter dan een upgrade die u vrijdagavond haastig aanschaft.
Kwartaaloverzicht
Vergelijk veldmetingen en hostingproductblad: latentie, quota, herstel, ondersteuningstijden. Pas contracten of architectuur aan op basis van bewijs, niet op basis van sensatie.
Cyclussluiting
Deel het bijgewerkte runbook met het ondersteuningsteam en plan de volgende oefening op een gedeelde agenda; het institutionele geheugen voorkomt dat u dezelfde fouten maakt.
Beslis en ga vooruit zonder blinde vlek
- Expand/contract schema — kolommen nullable, dual read, backfill, switch writes, drop old after parity.
- Dry-run cutover bij kloon — geautomatiseerde pariteitscontroles, laadtest van 1 uur, getimede rollback.
- PgBouncer-sessiemodus — tijdens migratie als scripts voorbereide instructies gebruiken.
- Communicatiebelanghebbenden — bevriezingsfunctie, veelgestelde vragen over ondersteuning, tijdelijke dubbele exemplaarkosten.
- Prod-venster alleen na succes van de kloon — middernacht is niet het moment om de bestelling te ontdekken.
RDS en beheerde DB: migratie van vergelijker, overzicht, gidsen.
Veelgestelde vragen
Big bang of dual-write?
Big Bang concentreert het risico in een kort tijdsbestek. Dual-write vermindert de omschakeltijd, maar compliceert de toepassing.
Schema vóór gegevens?
Achterwaarts compatibel schema (eerst uitbreiden), gegevenssynchronisatie, verkeerswissel en dan samentrekking.
PgBouncer tijdens migratie?
In de transactiemodus voorbereide instructies: sessiemodus of directe verbinding met het D-day gedocumenteerde runbook.
Geloofwaardige terugdraaiing?
DNS/pool terugzetten + omgekeerde hersynchronisatie getest op kloon - geen dia zonder getimede opdrachten.
Voer een volledige dry-run-cutover uit op de kloon - middernachtprik is geen goed moment om de bestelling te ontdekken.
