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
sysmasterund Systemtabellen vs. Information Schema undpg_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 FRACTIONzuTIMESTAMP,LVARCHARzuVARCHAR/TEXT,BYTE/TEXTzuBYTEA/TEXT) - Konvertierung von
SERIAL,SERIAL8undBIGSERIALzu PostgreSQLSERIALoderIDENTITY-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 RESUMEzuRETURN NEXT)
Datenübernahme und Synchronisation
- Initiale Datenmigration: Export mit
UNLOADund Import via PostgreSQLCOPY - 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.confim Vergleich zur Informixonconfig - 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/onbardurchpg_dumpund kontinuierliche Archivierung via pgBackRest)
Dauer 3 Tage