ALIBABA CLOUD → STACKIT · ARCHITECTUUR

PolarDB-migratiestrategieën voor STACKIT

PolarDB heeft op STACKIT geen één-op-één tegenhanger. In de run hieronder deelt StackToIT elk van de drie PolarDB-clusters daarom in als REDESIGN, noemt het geen doel en laat het de keuze aan uw architecten. De keuze volgt de compatibele engine van het cluster: PostgreSQL Flex voor PolarDB for PostgreSQL, MariaDB voor PolarDB for MySQL en een eigen beslissing voor de Oracle-compatibele editie.

Vier opties en wat elke optie van u vergt

De ontwerpvraag is niet welke STACKIT-database het dichtst bij PolarDB komt. Het is welke eigenschap van PolarDB uw workload werkelijk gebruikt: de managed engine, het ontwerp met gedeelde opslag en veel alleen-lezen nodes, of beide.

OptieWat u op STACKIT krijgtWat u opgeeft of moet testen
PostgreSQL Flex, voor PolarDB for PostgreSQLEen volledig beheerde PostgreSQL-deployment via self-service. Een instance is één node of een replicaset van drie nodes, en transactielogs staan standaard aan voor point-in-time-herstel. PostgreSQL 14 tot en met 18 staan op de pagina met extensies.Gedeelde opslag en goedkope alleen-lezen nodes. Vergelijk uw extensies met de ondersteunde lijst en voer de workload uit op een replicaset voordat u de omvang bepaalt.
MariaDB, voor PolarDB for MySQLEen managed MariaDB-dienst die STACKIT beschrijft met MySQL-compatibiliteit en ACID-transacties. Gebruik MariaDB 10.11 of hoger: per november 2026 vermeldt STACKIT 10.6 als verouderd en gepland voor ontmanteling op 1 juli 2027.MariaDB is niet MySQL 8.0. Test het SQL-dialect, het gedrag van de optimizer en elke instelling die alleen in PolarDB bestaat voordat u zich vastlegt.
Zelfbeheerde database op STACKIT-servers of SKEDe engine en versie die u kiest, ook die u nu op PolarDB draait, met uw eigen replicatietopologie.Back-ups, failover, patching en monitoring worden uw verantwoordelijkheid. Dit is algemene praktijk, niet iets wat de run als concept schrijft.
De workload herontwerpen op het doelDe belasting splitsen (algemene praktijk): transactionele data op een managed database, analytische leesbewerkingen op een kopie of in een aparte opslag.Werk aan de applicatie. Het assessment legt dit vast als een wijziging van architectuur en data, niet als een configuratiewijziging.

De Oracle-compatibele PolarDB-editie (db_type = Oracle in de provider) komt op geen van de STACKIT-databasepagina's voor die wij lazen. Behandel het als een conversieproject, niet als een migratie.

Een MySQL- en een PostgreSQL-cluster, beoordeeld

Een kleine omgeving, voor deze pagina geschreven en op 4 november 2026 door StackToIT beoordeeld. Links: de invoer. Rechts: het resultaat dat StackToIT ervoor vastlegde, een fragment van assessment.json met de waarden precies zoals de run ze schreef. assessment.json staat op één regel, dus het paneel toont geselecteerde velden per eenheid, ingesprongen en genest zoals in het bestand, met ongewijzigde waarden.

Voorbeeldinvoermain.tf
resource "alicloud_polardb_cluster" "orders" {
  db_type       = "MySQL"
  db_version    = "8.0"
  db_node_class = "polar.mysql.x4.large"
  db_node_count = 3
  pay_type      = "PostPaid"
  vswitch_id    = alicloud_vswitch.db_a.id
  description   = "orders"
}

resource "alicloud_polardb_cluster" "analytics" {
  db_type       = "PostgreSQL"
  db_version    = "14"
  db_node_class = "polar.pg.g2.large"
  db_node_count = 2
  pay_type      = "PostPaid"
  vswitch_id    = alicloud_vswitch.db_a.id
  description   = "analytics"
}
StackToIT-assessmentassessment.json
[
  {
    "id": "alicloud_polardb_cluster.orders",
    "result": {
      "class": "REDESIGN",
      "confidence": "LOW",
      "reason": "PolarDB separates compute from shared storage, which has no STACKIT counterpart. Choose the target by its compatible engine: PostgreSQL Flex or MariaDB, and test the workload there.",
      "axes": {
        "feasibility": "CONDITIONAL",
        "motion": "REARCHITECT",
        "change_types": [
          "ARCHITECTURE",
          "DATA"
        ]
      }
    }
  },
  {
    "id": "alicloud_polardb_cluster.analytics",
    "result": {
      "class": "REDESIGN",
      "confidence": "LOW",
      "reason": "PolarDB separates compute from shared storage, which has no STACKIT counterpart. Choose the target by its compatible engine: PostgreSQL Flex or MariaDB, and test the workload there.",
      "axes": {
        "feasibility": "CONDITIONAL",
        "motion": "REARCHITECT",
        "change_types": [
          "ARCHITECTURE",
          "DATA"
        ]
      }
    }
  }
]
  • REDESIGN, met een reden

    Beide clusters krijgen dezelfde klasse en dezelfde reden: PolarDB scheidt compute van gedeelde opslag, waarvoor STACKIT geen tegenhanger heeft.

  • Haalbaarheid is voorwaardelijk

    De run markeert de haalbaarheid als CONDITIONAL en de motion als REARCHITECT: er bestaat een doel voor de data, maar de architectuur wordt niet overgenomen.

  • Engine en versie leest u zelf

    db_type en db_version zijn de invoer voor uw beslissing. De run kiest niet voor u tussen PostgreSQL Flex en MariaDB.

  • Het aantal nodes is invoer voor de dimensionering

    db_node_count = 3 en 2 beschrijven de PolarDB-topologie. Op STACKIT horen de nodes bij het instancetype, dus koppel ze bewust aan een replicaset.

Het Oracle-compatibele cluster en een gewone RDS-buur

Uit dezelfde run. Het legacy-cluster krijgt dezelfde generieke reden als de andere, ook al is de engine Oracle-compatibel. De ApsaraDB RDS-instance voor PostgreSQL ernaast heeft een direct doel. assessment.json staat op één regel, dus het paneel toont geselecteerde velden per eenheid, ingesprongen en genest zoals in het bestand, met ongewijzigde waarden.

Voorbeeldinvoermain.tf
resource "alicloud_polardb_cluster" "legacy" {
  db_type       = "Oracle"
  db_version    = "11"
  db_node_class = "polar.o.x4.large"
  pay_type      = "PostPaid"
  vswitch_id    = alicloud_vswitch.db_a.id
  description   = "legacy-billing"
}

resource "alicloud_db_instance" "reporting" {
  engine               = "PostgreSQL"
  engine_version       = "14.0"
  instance_type        = "pg.n2.medium.1"
  instance_storage     = 100
  instance_name        = "reporting"
  vswitch_id           = alicloud_vswitch.db_a.id
}
StackToIT-assessmentassessment.json
[
  {
    "id": "alicloud_polardb_cluster.legacy",
    "result": {
      "class": "REDESIGN",
      "confidence": "LOW",
      "reason": "PolarDB separates compute from shared storage, which has no STACKIT counterpart. Choose the target by its compatible engine: PostgreSQL Flex or MariaDB, and test the workload there.",
      "axes": {
        "feasibility": "CONDITIONAL",
        "motion": "REARCHITECT",
        "change_types": [
          "ARCHITECTURE",
          "DATA"
        ]
      }
    }
  },
  {
    "id": "alicloud_db_instance.reporting",
    "result": {
      "class": "REPLATFORM",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT PostgreSQL Flex"
      },
      "reason": "Managed PostgreSQL to managed PostgreSQL: data moves with pg_dump/pg_restore or logical replication, and the instance class becomes a Flex flavor."
    }
  }
]
  • Lees db_type zelf

    De redentekst noemt voor elk PolarDB-cluster PostgreSQL Flex of MariaDB. Voor db_type = Oracle is geen van beide een kant-en-klare vervanging, dus de reden van de run is een startpunt en geen antwoord.

  • RDS is het contrast

    De RDS PostgreSQL-instance is REPLATFORM met een benoemd doel, PostgreSQL Flex. De run noemt pg_dump met pg_restore of logische replicatie voor het verplaatsen van de data.

Wat u test voordat u een doel kiest

Deze punten komen uit de eigen FAQ van Alibaba Cloud over PolarDB for MySQL. Ze beschrijven gedrag van de bron dat een gewone wissel van engine niet reproduceert.

  • Tabellen zonder primaire sleutel

    PolarDB maakt er standaard een impliciete primaire sleutel voor aan. Zoek deze tabellen eerst op en geef ze vóór de overstap een expliciete sleutel; reken er niet op dat het doel er zelf een genereert.

  • Storage-engines

    MyISAM-, Memory- en CSV-tabellen worden op PolarDB naar InnoDB geconverteerd. Controleer wat uw dump bevat.

  • Isolatieniveau

    Het isolatieniveau SERIALIZABLE wordt op PolarDB niet ondersteund, dus code die ervan afhangt, draait nu al anders.

  • Leeslatentie en replica's

    De FAQ vermeldt een replicatievertraging in de orde van milliseconden tussen de primaire node en de alleen-lezen nodes, die oploopt bij zware schrijfbelasting of I/O-knelpunten. Meet leespaden en vertraging op het doel in plaats van gelijkwaardigheid aan te nemen.

  • Replicatie uit PolarDB

    Met binlog ingeschakeld kunt u repliceren naar andere MySQL-databases, en Alibaba Cloud beveelt daarvoor Data Transmission Service aan. Dat is de schakelaar aan de bronzijde voor een overstap met weinig downtime.

  • Instellingen die alleen in PolarDB bestaan

    Het providerschema kent imci_switch en serverless_type voor PolarDB. De STACKIT-databasepagina's die wij lazen beschrijven geen equivalent, dus som de clusters op die ze instellen.

Wat de run zegt over het verplaatsen van de data

Fragment van migration/data-movement.md uit dezelfde run. De drie PolarDB-clusters staan als stateful eenheden zonder voorgesteld doel op de lijst en het mechanisme is aan een persoon overgelaten.

Uitvoer van StackToITmigration/data-movement.md
| Unit | Source service | Target service | Application | Mechanism | State | Data class | RPO | Downtime tolerance |
|---|---|---|---|---|---|---|---|---|
| alicloud_db_instance.reporting | alicloud_db_instance | STACKIT PostgreSQL Flex |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| alicloud_polardb_cluster.analytics | alicloud_polardb_cluster | NO_TARGET_PROPOSED |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| alicloud_polardb_cluster.legacy | alicloud_polardb_cluster | NO_TARGET_PROPOSED |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| alicloud_polardb_cluster.orders | alicloud_polardb_cluster | NO_TARGET_PROPOSED |  | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
  • NO_TARGET_PROPOSED

    Hier is de run precies: voor een REDESIGN-eenheid noemt de run geen doel. De RDS-instance krijgt er wel een.

  • Beslissing vereist

    Dataklasse, recovery point en toegestane downtime zijn NOT_PROVIDED. Geef ze op in het applicatiebestand en de run legt ze woordelijk vast; de omvang van de data staat helemaal niet in de Terraform-code.

Hoe u beslist, stap voor stap

Heeft het cluster db_type MySQL?
Kandidaat: STACKIT MariaDB 10.11 of hoger. Test dialect en optimizer en plan de overstap daarna via binlog en een logische load.
Heeft het db_type PostgreSQL?
Kandidaat: PostgreSQL Flex. Controleer extensies aan de hand van de ondersteunde lijst en plan pg_dump met pg_restore of logische replicatie.
Heeft het db_type Oracle?
Geen STACKIT-tegenhanger genoemd. Kies tussen een conversie van schema en code naar PostgreSQL en een zelfbeheerde optie.
Gebruikt u veel alleen-lezen nodes?
Ontwerp het leespad opnieuw. Een replicaset heeft drie nodes, dus plaats leesintensief werk in een cache of splits het op.
Kan de applicatie in een venster stoppen met schrijven?
Zo ja, dan is dump en restore het eenvoudigst. Zo niet, gebruik dan replicatie en oefen de cutover.

PolarDB naar STACKIT: veelgestelde vragen

Kiest StackToIT een STACKIT-doel voor PolarDB?

Nee. Het deelt het cluster in als REDESIGN met zekerheidsniveau LOW, schrijft geen doel en toont het cluster in data-movement.md als een eenheid die een beslissing nodig heeft. Het verwijst naar PostgreSQL Flex of MariaDB, afhankelijk van de compatibele engine.

Is MariaDB een veilig doel voor PolarDB for MySQL?

Dat kan, maar het is een andere engine. STACKIT beschrijft MariaDB met MySQL-compatibiliteit en u test nog steeds dialect, optimizer en instellingen die alleen in PolarDB bestaan. Gebruik 10.11 of hoger, want 10.6 is op STACKIT verouderd.

Wat gebeurt er met alleen-lezen nodes?

In de STACKIT-pagina's die wij lazen bestaat geen equivalent van de gedeelde opslag van PolarDB met veel alleen-lezen nodes. PostgreSQL Flex biedt een replicaset van drie nodes; alles daarboven is een ontwerpwijziging.

Schrijft de run Terraform voor PolarDB?

Ja, als onderdeel van het STACKIT-Terraform-concept ter beoordeling. PolarDB heeft geen één-op-één STACKIT-dienst, dus uw architecten bepalen eerst het doel en beoordelen daarna het concept.

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

Wij gebruiken uw gegevens alleen om dit verzoek te beantwoorden en een mogelijke pilot te bespreken. Privacyverklaring