DATABASES → STACKIT · ARCHITECTUUR
Databasemigratie naar STACKIT: architectuur en compatibiliteit
PostgreSQL, MySQL, SQL Server en Redis-compatibele caches komen elk uit op een managed service van STACKIT, MySQL op MariaDB; DynamoDB en Oracle Database niet: dat zijn redesignbeslissingen. We beoordeelden met StackToIT een AWS-dataomgeving: negen eenheden, waarvan zes datastores (een RDS-instance elk voor PostgreSQL, MySQL en SQL Server, een Aurora PostgreSQL-cluster, een ElastiCache-groep en een DynamoDB-tabel) en drie voor het netwerk. Deze pagina toont het doel per engine, de instellingen die elk concept wijzigt, welke engine ook, en de keuzes die bij uw architecten blijven.
Een Multi-AZ PostgreSQL-instance, omgezet
Een kleine omgeving voor deze pagina, op 4 november 2026 beoordeeld door StackToIT. Links: de RDS-instance uit de invoer. Rechts: de PostgreSQL Flex-instance die de engine schreef (de reviewopmerkingen boven het blok in het bestand zijn weggelaten).
resource "aws_db_instance" "ledger" {
identifier = "ledger-pg"
engine = "postgres"
engine_version = "16.4"
instance_class = "db.m6g.xlarge"
allocated_storage = 300
multi_az = true
username = "ledger"
password = var.db_password
db_subnet_group_name = aws_db_subnet_group.data.name
backup_retention_period = 14
}resource "stackit_postgresflex_instance" "ledger" {
project_id = var.project_id
name = "ledger-pg"
version = "16"
flavor_id = "4.32-replica"
storage = {
class = var.postgresflex_storage_class
size = 323
}
backup_schedule = "0 2 * * *"
network = {
acl = var.ledger_allowed_cidrs
access_scope = var.ledger_access_scope == "SNA" ? "SNA" : null
}
retention_days = 32
}Multi-AZ wordt een replica-flavor
De klasse met 4 vCPU en 16 GiB met een standby wordt 4.32-replica, 4 vCPU en 32 GiB: de kleinste flavor met hoge beschikbaarheid die dit afdekt in de eu01-catalogus die de run las. Het concept zegt niets over het gedrag bij een failover; geen enkele STACKIT-pagina die de run las, zegt dat.
Opslag wordt naar boven afgerond
300 GiB wordt 323. STACKIT geeft de grootte alleen in gigabytes, dus het concept rekent om met 10^9 bytes per GB en rondt naar boven af, nooit naar minder dan de bron.
Retentie en toegang veranderen
14 dagen back-ups worden retention_days 32, gemarkeerd als TRANSFORMED. De toegangslijst is een variabele zonder standaardwaarde, omdat niet is bewezen dat de bron openbaar is en het STACKIT-endpoint via een toegangslijst wordt bereikt.
Een key-value-tabel, opnieuw ontworpen
Uit dezelfde run. DynamoDB heeft geen tegenhanger, dus de run classificeert de tabel als REDESIGN en stelt één alternatief op: een MongoDB Flex-instance voor de tabellen van de omgeving.
resource "aws_dynamodb_table" "carts" {
name = "carts"
billing_mode = "PAY_PER_REQUEST"
hash_key = "cart_id"
attribute {
name = "cart_id"
type = "S"
}
ttl {
attribute_name = "expires_at"
enabled = true
}
}resource "stackit_mongodbflex_instance" "dynamodb_tables" {
project_id = var.project_id
name = "dynamodb-tables"
acl = var.dynamodb_tables_allowed_cidrs
version = var.dynamodb_tables_version
flavor = {
cpu = var.dynamodb_tables_cpu
ram = var.dynamodb_tables_ram
}
replicas = 3
storage = {
class = var.mongodbflex_storage_class
size = var.dynamodb_tables_storage_gb
}
backup_schedule = "0 2 * * *"
options = {
type = "Replica"
point_in_time_window_hours = var.dynamodb_tables_pitr_hours
}
}Een alternatief, geen equivalent
De run geeft dat aan in de motivering: sleutelontwerp, capaciteitsmodi en voorwaardelijke schrijfacties worden niet overgenomen. PostgreSQL Flex met JSONB-kolommen is de andere optie.
Applicatiewerk, geen datawerk
De reviewregels vereisen dat de datatoegangslaag wordt herschreven voor de MongoDB API en dat de instance wordt gedimensioneerd op datavolume en belasting, omdat capaciteitseenheden niet vertaalbaar zijn.
Engine voor engine: doel en klasse
Eén rij per datastore van de run, allemaal zekerheidsniveau MEDIUM, plus het Oracle Database-systeem uit de Oracle Cloud-run van onze vergelijking van bronclouds.
| Broneenheid | STACKIT-doel en klasse | Eerst testen |
|---|---|---|
| RDS PostgreSQL | PostgreSQL Flex · REPLATFORM | Vergelijk de geïnstalleerde extensies met de lijst met ondersteunde extensies van PostgreSQL Flex; plan logische replicatie of een dumpvenster |
| Aurora PostgreSQL cluster | PostgreSQL Flex · REPLATFORM | Functies die alleen Aurora kent (automatische schaling van opslag, snelle clones, globale databases, serverless schaling) hebben geen equivalent |
| RDS MySQL | MariaDB · REPLATFORM | STACKIT heeft geen MySQL-product. Draai de testsuite van de applicatie tegen MariaDB: JSON-functies, randgevallen van window-functies, authenticatieplugins |
| RDS SQL Server | SQLServer Flex (SQL Server 2022) · REPLATFORM | SQL Agent-jobs, linked servers en CLR-assemblies. De functiepagina van SQLServer Flex noemt SQL Server Agent als ondersteund en linked servers, replicatie en TDE als niet ondersteund |
| ElastiCache Redis | Key Value Store (Valkey) · RECONFIGURE | Valkey meldt compatibiliteit met Redis OSS 7.2 en eerder; databestanden van Redis Community Edition 7.4 en later zijn niet compatibel |
| DynamoDB-tabel | MongoDB Flex of PostgreSQL Flex (JSONB) · REDESIGN | Herschrijf de toegangslaag; sleutels, capaciteitsmodi en voorwaardelijke schrijfacties worden niet overgenomen |
| Oracle Database-systeem (Oracle Cloud-run) | Geen STACKIT-dienst · REDESIGN, zekerheidsniveau LOW | Kies tussen een nieuwe engine met conversie en zelf beheerde Oracle onder uw eigen licentie |
Klassen en tests zijn die van de run zelf, overgenomen uit assessment.json. Per november 2026 meldt de MariaDB-pagina van STACKIT dat versie 10.6 is verouderd (deprecated) en op 1 juli 2027 wordt ontmanteld, en verzoekt om uiterlijk op die datum 10.11 of nieuwer te gebruiken.
Wat het concept op elke instance wijzigt
| Instelling | In de bron | In het concept |
|---|---|---|
| Netwerkplaatsing | Privé-subnets via een subnet group | Een eigen endpoint, beperkt door een toegangslijst uit een variabele zonder standaardwaarde; de subnet group wordt vastgelegd als niet overgenomen |
| Beheerderswachtwoord | Ingesteld in de Terraform | Niet gekopieerd. STACKIT genereert het, het concept toont het als gevoelige uitvoer en clients krijgen de nieuwe waarde vóór de cutover |
| Retentie van back-ups | 7 of 14 dagen; niet ingesteld op het Aurora-cluster | PostgreSQL Flex: 32 dagen, SQLServer Flex: 30 dagen. MariaDB kent geen instelling: STACKIT maakt elke 4 uur een back-up en bewaart die 14 dagen, en de back-uppagina beschrijft geen point-in-time restore |
| Point-in-time recovery | Transactielogs van RDS, herstel naar elk punt in het venster | PostgreSQL Flex herstelt een back-up of een tijdstip in een nieuwe instance (een clone), zonder in-place herstel; de run zegt dat de granulariteit niet wordt vermeld, dus test een herstel op het laatste punt dat u nodig hebt |
| Opslag | allocated_storage in GiB | Naar boven afgerond in GB; voor MariaDB en Valkey bepaalt het plan de opslag of de nodes, niet een attribuut |
| Verwijderen | Een laatste snapshot bij verwijderen (skip_final_snapshot op de standaardwaarde false) | Geen instelling voor een laatste snapshot: de run vraagt een persoon te beslissen hoe een laatste kopie wordt bewaard. Het overzicht van PostgreSQL Flex waarschuwt dat het verwijderen van een instance zonder instance-beveiliging direct en onomkeerbaar tot dataverlies leidt |
De rijen komen uit de commentaren over niet overgenomen eigenschappen, herstel en het register in terraform/data.tf, waarbij het back-upritme van MariaDB en het clone-gedrag van PostgreSQL Flex zijn gecontroleerd aan de hand van de hieronder genoemde STACKIT-documentatie.
Hoe de data verhuist
De run noemt zes stateful eenheden in migration/data-movement.md. Voor elk vermeldt hij dat er geen methode is gekozen, omdat omvang, toegestane downtime en consistentie niet in de bron staan.
Per eenheid een methode kiezen
Voor PostgreSQL bevat het plan getypeerde stappen voor dump en restore, logische replicatie of een eigen tool. Voor SQL Server beschrijft de overdracht een native back-up van elke database op RDS, een kopie van de .bak-bestanden naar een STACKIT-bucket en een import in SQLServer Flex; de functiepagina van SQLServer Flex zegt dat een herstel alleen naar een nieuwe database gaat.
Oefenen en de tijd meten
Een preflightstap sluit open controles af (versies, extensies, rollen, netwerk); een proefrun verplaatst een kopie naar een scratchdatabase en legt de tijden vast. Het venster voor de schrijfstop volgt uit die tijden.
Schrijfstop, synchroniseren, reconcile
Schrijvers worden gestopt, een laatste sync draait, en aantallen, checksums en één applicatiequery worden vergeleken. Het resultaat is een vastgelegd GO of NO-GO. Bij NO-GO wijzen de clients nog naar de onaangeroerde bron.
De verbinding omschakelen
Clients wijzigen host, poort, databasenaam en inloggegevens. Waar geen enkele resource van de bron naar een database verwijst, noteert het plan dat de applicaties buiten de bron liggen en hun eigenaren ze opsommen.
De weg terug bewaren
Opruimstappen wachten op de rollbackbeslissing. Daarna is de weg terug de laatste snapshot van de bron, en het plan markeert de ontmanteling van de database als niet omkeerbaar.
Beslissingen van de architect
Engine voor MySQL- en Redis-omgevingen
MariaDB voor MySQL, Valkey voor Redis: een compatibiliteitstest beslist, niet de klasse.
Document of relationeel voor DynamoDB
MongoDB Flex of PostgreSQL Flex met JSONB; beide vergen een herschreven toegangslaag.
Bereikbaarheid van elk endpoint
CIDR's in de toegangslijst, of een Network Area-scope waar uw account die heeft.
Niveau van hoge beschikbaarheid
Enkele node of replica-flavor, afgeleid van de herstelobjectieven, niet alleen van de bronklasse.
Oracle Database
Een nieuwe engine met conversie, of zelf beheerde Oracle onder uw eigen licentie.
Methode en venster voor dataverplaatsing
Eén open beslissing in decisions.json dekt alle zes stateful eenheden, met één lid per eenheid; beantwoord die eenheid voor eenheid.
SQL Server-licentie
De run legt vast dat de STACKIT-pagina's die hij las geen licentievoorwaarden voor SQLServer Flex noemen; leg in het contract vast of de licentie is inbegrepen of u uw eigen licentie gebruikt.
Vragen van databaseteams
Verhuist MySQL ongewijzigd naar MariaDB?
Niet altijd. STACKIT heeft geen MySQL-product, dus MySQL 8-schema's werken meestal op MariaDB, maar JSON-functies, randgevallen van window-functies en authenticatieplugins moeten vóór de cutover worden getest.
Kunnen we een SQL Server .bak-bestand terugzetten in SQLServer Flex?
Het plan van de run voor de SQL Server-eenheid is daarop gebouwd: een native back-up van elke database op RDS, de .bak-bestanden gekopieerd naar een STACKIT-bucket en daarna een import in een SQLServer Flex-instance, eerst geoefend op een scratchinstance. De functiepagina meldt dat een herstel alleen naar een nieuwe database gaat, nooit over een bestaande. De .bak bevat geen logins, jobs of linked servers; de preflight signaleert ze en een persoon maakt ze opnieuw aan.
Gaan databasewachtwoorden mee?
Nee. Het concept kopieert de wachtwoorden van de bron niet. STACKIT genereert de inloggegevens en de applicatie-eigenaren krijgen de nieuwe waarden voordat de verbinding wordt omgeschakeld.
Is Aurora een apart migratiepad?
De run koppelt een Aurora PostgreSQL-cluster net als elke PostgreSQL aan PostgreSQL Flex. Functies die alleen Aurora kent, hebben geen equivalent; de motivering van de eenheid noemt ze.
Bronnen
Uw volgende stap: STACKIT.
Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.
Laat uw gegevens achter, onze specialisten nemen contact met u op.
Liever zelf een e-mail sturen? connect@stacktoit.com
Hartelijk dank.
Uw verzoek is bij ons binnengekomen. Onze specialisten nemen contact met u op.