MySQL und MariaDB sind in der Open Source Welt weit verbreitet. Dennoch sind viele Benutzer mit dem, was MySQL / MariaDB liefern, nicht zufrieden. Eine Migration von MySQL / MariaDB auf PostgreSQL macht daher aus technischer und wirtschaftlicher Sicht eine Menge Sinn.

 

migration mysql

Warum PostgreSQL statt MySQL / MariaDB?

PostgreSQL und MySQL / MariaDB haben historisch gesehen einen komplett unterschiedlichen Background. MySQL kommt traditionell in vielen Web Anwendungen zum Einsatz und man versucht auf maximale Geschwindigkeit zu optimieren – auch wenn dabei oft die Grundsätze professioneller Datenhaltung über Bord geworfen werden müssen.

Die Frage, ob man PostgreSQL oder MySQL verwenden sollte, ist jedoch keine religiöse, sondern primär eine technische. Wenn Sie damit einverstanden sind, dass MySQL im Default-Modus (strict_mode off) hinter den Kulissen automatisch Ihre Daten ändert und die Dinge nicht so speichert, wie Sie eingefügt werden, ist eine Migration sicher der falsche Weg. Wenn Sie jedoch der Meinung sind, dass eine Datenbank schon mit den Standardeinstellungen Daten korrekt und unverändert speichern sollte, sind Sie bei PostgreSQL sicherlich richtig.

1) automatisches Ändern von Daten

MariaDB [test]> CREATE TABLE data (
id integer NOT NULL,
data numeric(4, 2)
);
Query OK, 0 rows affected (0.02 sec)

MariaDB [test]> INSERT INTO data
VALUES (1, 1234.5678);
Query OK, 1 row affected,
1 warning (0.01 sec)

MariaDB [test]> SELECT * FROM data;
+----+-------+
| id | data |
+----+-------+
| 1 | 99.99 |
+----+-------+
1 row in set (0.00 sec)
test=# CREATE TABLE data (
id integer NOT NULL,
data numeric(4, 2)
);
CREATE TABLE
test=# INSERT INTO data
VALUES (1, 1234.5678);
ERROR: numeric field overflow
DETAIL: A field with precision 4, scale 2 must round to an absolute
value less than 10^2.

PostgreSQL wird einen Fehler melden und nicht still und heimlich Ihre Daten ändern. In MySQL kann man dieses Verhalten umstellen – im Default Mode ist man aber massivst „schlampig“.

2) Constraints still und heimlich ignorieren

<code>MariaDB [test]> UPDATE data
SET id = NULL WHERE id = 1;
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1

MariaDB [test]> SELECT * FROM data;
+----+------+
| id | data |
+----+------+
| 0 | 99.99 |
+----+------+
1 row in set (0.00 sec)</code>

We marked the column as „NOT NULL“.
PostgreSQL has to error out and reject bad data.

Es handelt sich hier nur um einige einfache Beispiele – wenn Sie noch mehr davon sehen wollen, empfehlen wir das folgende, sehr aufschlussreiche Video.

Von MySQL auf PostgreSQL

Wenn Sie von MariaDB / MySQL auf PostgreSQL migrieren wollen, stehen wir gerne mit Rat und Tat zur Seite. Wir verwenden eine moderne Toolchain wie etwas pg_chameleon oder den mysql_fdw, um die Migration professionell durchzuführen. Zusätzlich kommen noch eigene Scripts zum Einsatz, die die Migration noch einfacher und schneller machen.

Wenn Sie Daten von MySQL übernehmen, ist es wichtig,
die Daten vorab zu bereinigen, die durch das schlechte Management von Constraints
auf Seite von MySQL entstanden sind“.

Wir bieten einen professionellen Migrationsservice und helfen Kunden auf der ganzen Welt bei der Migration von MySQL auf PostgreSQL.

Unsere Services:

  • Migration des Datenbank Schemas
  • Migration der Daten
  • Bereinigung der fehlerhaften Daten in MySQL
  • Migration des serverseitigen Codes
  • Migration der Applikationen
  • Performance Tuning und Optimierung
  • Replikation und Hochverfügbarkeit
  • Absichern der Datenbank und High-Security

Professionelle Hilfe

Kontaktieren Sie uns noch heute, um ihr persönliches Angebot von CYBERTEC zu erhalten. Wir bieten eine zeitnahe Lieferung, professionelle Arbeit und über 20 Jahre PostgreSQL Erfahrung.

Kontaktieren Sie uns >>