Migration von Informix zu PostgreSQL

Einleitung

Dieses Seminar vermittelt die Methodik, Werkzeuge und Best Practices für eine erfolgreiche Datenbankmigration von IBM Informix zu PostgreSQL. Teilnehmer erlernen die fundamentalen Architekturunterschiede, das Mapping von spezifischen Datentypen, die Konvertierung von Informix SPL (Stored Procedure Language) zu PL/pgSQL sowie Strategien für die Datenübernahme, das Testing und die abschließende Performance-Optimierung im PostgreSQL-Betrieb.

Zielgruppe & Voraussetzungen

  • Zielgruppe: Datenbankadministratoren (DBAs), Datenbankentwickler, Systemarchitekten und Migrationsberater.
  • Voraussetzungen: Fundierte Erfahrungen in der Administration und Entwicklung mit IBM Informix (SQL, SPL) sowie grundlegende relationale Datenbankkenntnisse.

Detaillierte Inhalte

Architektur- und Konzeptvergleich

  • Systemarchitektur: Informix Instanz/Server vs. PostgreSQL Cluster
  • Speichermodell: Dbspaces und Chunks vs. Tablespaces und Data Files
  • Transaktionsprotokollierung: Logical Logs und Physical Logs vs. Write-Ahead Logging (WAL)
  • Parallelverarbeitung: Informix PDQ (Parallel Database Query) vs. PostgreSQL Parallel Queries
  • Systemkataloge: Informix sysmaster und Systemtabellen vs. Information Schema und pg_catalog

Migrationsstrategien und Werkzeuge

  • Phasen eines Migrationsprojekts (Assessment, Schema, Daten, Code, Testing, Cutover)
  • Migrationsansätze: Big Bang vs. Phasenweise Migration
  • Werkzeuge zur Migration: AWS Schema Conversion Tool (SCT), Ispirer, ESF Database Migration Toolkit
  • Informix-Bordmittel für den Datenexport (dbexport, UNLOAD)
  • Kompatibilitätsbewertung und Aufwandsschätzung

Schema- und Strukturmigration

  • Mapping der Datentypen (z. B. DATETIME YEAR TO FRACTION zu TIMESTAMP, LVARCHAR zu VARCHAR/TEXT, BYTE/TEXT zu BYTEA/TEXT)
  • Konvertierung von SERIAL, SERIAL8 und BIGSERIAL zu PostgreSQL SERIAL oder IDENTITY-Spalten
  • Übertragung von Constraints (Primary Key, Foreign Key, Check, Unique)
  • Index-Architektur: Informix B-Tree und Fragmentierung vs. PostgreSQL B-Tree und Partitionierung
  • Umsetzung von Informix Table Fragmentation in PostgreSQL Table Partitioning
  • Umgang mit Synonymen und temporären Tabellen

Code-Migration: Informix SPL zu PL/pgSQL

  • Syntaxunterschiede zwischen Informix SPL und PostgreSQL PL/pgSQL
  • Migration von Stored Procedures und Triggern
  • Konvertierung von Schleifen und Cursorn (FOREACH-Schleifen in SPL zu PL/pgSQL-Pendants)
  • Transaktionssteuerung und Exception Handling in Prozeduren
  • Ersetzen von Informix-spezifischen Funktionen (z. B. TODAY, CURRENT, NVL, bitweise Operationen)
  • Anpassung von dynamischem SQL und Rückgabewerten (RETURN WITH RESUME zu RETURN NEXT)

Datenübernahme und Synchronisation

  • Initiale Datenmigration: Export mit UNLOAD und Import via PostgreSQL COPY
  • Behandlung von Zeichensätzen und Lokalisierung: Informix GLS (Global Language Support) zu PostgreSQL Encoding (UTF-8) und Collations
  • Konvertierung und Transfer von Large Objects (Smart Large Objects, BLOBs, CLOBs)
  • Change Data Capture (CDC) für ausfallarme Migrationen (Zero Downtime)

Testing, Validierung und Go-Live

  • Strategien zur Verifizierung der Datenkonsistenz (Row Counts, Hash-Summen)
  • Funktionstests für migrierte Geschäftslogik und Schnittstellen
  • Last- und Performancetests auf dem neuen System
  • Cutover-Planung und Rollback-Szenarien

Performance-Optimierung und PostgreSQL-Betrieb

  • Wichtige Tuning-Parameter in der postgresql.conf im Vergleich zur Informix onconfig
  • Das Autovacuum-Konzept als Ersatz für Informix Update Statistics und manuelle Wartungsläufe
  • Performance-Analyse: Informix onstat-Utilities vs. PostgreSQL Views (pg_stat_activity, pg_stat_statements)
  • Anpassung von Backup- und Recovery-Strategien (Ablösung von ontape/onbar durch pg_dump und kontinuierliche Archivierung via pgBackRest)

Dauer 3 Tage