Neuigkeiten
Percona gibt Galera Cluster für Version 9.7 frei
Endlich mal wieder gute Nachrichten!
Was bisher geschah
Nachdem MariaDB Corp. im Mai 2025 Codership OY und somit Galera Cluster für MySQL erworben [ 1 ], anschliessend die Einstellung des Supports für Galera Cluster für MySQL 8.4 für Ende September 2026 angekündigt hatte [ 2 ] und anschliessend verkündete, Galera Cluster (für MariaDB!) nicht mehr weiter in der Community Edition unterstützten zu wollen [ 3 ], gab es in der Community einen lauten Aufschrei. MariaDB Corp. machte hierauf einen halben Rückzug …
FromDual Referenzen
Was Kunden über FromDual sagen
Wir sind mit der Funktionalität und der Einführung sehr zufrieden. Das gesamte Cluster läuft absolut stabil. Dies ist ein erheblicher Vorteil für unseren Kunden denn wir können unsere Dienstleistungen unterbrechungsfrei anbieten. Wir werden Galera bei weiteren Projekten einsetzen und bestehende Master/Slave-Anwendungen umstellen.
A. Rempening, Datenbank-Administrator, KiKxxl GmbH
Neben den fachlich sehr fundierten Tipps und Diskussionen hat mich die unkomplizierte und …
PostgreSQL Daten retten bei korrupten Blocks
Bei unseren Arbeiten zum Thema “PostgreSQL für Delfine und Seelöwen” lese ich gerne auch auf den PostgreSQL Mailing-Listen mit, um zu sehen, welche Probleme so auftreten und wie sie gelöst werden.
Ein Mail hat mich besonders interessiert:
I’m unable to access one of the tables. Even a simple
SELECTstatement fails with the error below.prod=# SELECT count(*) FROM schema.tablename; WARNING: page verification failed, calculated checksum 26618 but expected 52580 ERROR: invalid page in …
PostgreSQL Dokumentation noch besser machen
Bei unseren Arbeiten zum Thema “PostgreSQL für Delfine und Seelöwen” habe ich die PostgreSQL Dokumentation zum Thema Replikation durchgeackert.
Da ich bei diesem Thema noch nicht ganz so fit bin, schaue ich bei einigen Stichworten (Parametern, Funktionen, etc.) immer mal wieder gerne nach, was diese genau bedeuten oder wie sie genau funktionieren (RTFM!). Genau dafür wurden ja ursprünglich mal die Links erfunden, welche zuerst Gopher und später das Internet/WWW (http) so populär gemacht haben. …
Künstlich verzögerte Replikation mit PostgreSQL
Bei unseren Arbeiten zum Thema “PostgreSQL für Delfine und Seelöwen” habe ich die PostgreSQL Dokumentation zum Thema Replikation durchgeackert. Was mir dabei aufgefallen ist, ist das PostgreSQL KEINE künstlich verzögerte Replikation kennt, zumindest was diese Doku anbelangt.
Nachdem ich mir bereits Gedanken darüber gemacht habe, wie man eventuell mit PostgreSQL Bordmitteln, eine künstlich verzögerte Replikation basteln könnte, habe ich doch noch mal die Suchmaschine meiner Wahl bemüht und, siehe …
Backups mit der MySQL Clone Operation
Kürzlich haben wir das PostgreSQL Backup-Tool pg_basebackup getestet und dort grossen Gefallen an der remote-Backup Funktionalität gefunden, welche sowohl ein physisches lokales als auch ein physisches remote Backup erlaubt.
Dabei hat sich bei uns die Frage gestellt, ob ein physisches remote Backup auch mit der “neuen” MySQL Server Clone-Funktionalität möglich ist, welche mit MySQL 8.0.17 (Juli 2019) dazu gekommen ist.
Mit der MySQL Clone-Operation kann sowohl eine lokale als auch eine remote …
PostgreSQL Point-in-Time-Recovery bei Ups-Queries
Bei unseren Arbeiten zum Thema “PostgreSQL für Delfine und Seelöwen” bin ich darauf gestossen, dass im PostgreSQL Universum um das Thema Point-in-Time-Recovery auf ein spezifisches Statement/eine spezifische Transaktion ein Bogen gemacht wird. Und wenn man Beispiele findet, werden vor allem DDL und nicht DML Statements betrachtet.
If you want to recover to some previous point in time (say, right before the junior DBA dropped your main transaction table), just specify the required stopping …
Datenbank Index Optimierer
Kürzlich hat mich ein Kunde gefragt, ob das “aufwändige” Index-Prüfen nicht einem Index-Optimierer überlassen werden könnte. Klar geht das…
Was wollen wir den genau überprüfen?
- Tabellen ohne Primary Key
- Doppelte Indices
- Teilweise redundante Indices
- Ungenutzte Indices
MariaDB, MySQL und Percona Server
Tabellen ohne Primary Key
SQL> SELECT DISTINCT t.table_schema, t.table_name
FROM information_schema.tables AS t
LEFT JOIN information_schema.columns AS c ON t.table_schema = …Scheint bereits im Juni letzten Jahre entschieden worden zu sein
Wie der Screenshot von GitHub zeigt, scheint diese Entscheidung bereits im Juni 2026 gefallen zu sein:

MariaDB verkürzt Wartungszeitraum von 5 auf 3 Jahre
Irgendwie ist die Meldung an mir vorbei gegangen: MariaDB hat den Wartungszeitraum für die Long-Term Releases des MariaDB Community Servers von 5 auf 3 Jahre verkürzt. OK, ist ja nicht weiter verwunderlich, ich war ja gut einen Monat offline…
MariaDB Server LTS Release Wartungszeiträume
| Release | GA Datum | EoL Datum | Dauer |
|---|---|---|---|
| 12.3 | 28 May 2026 | Jun 2029 | 3 Jahre |
| 11.8 | 4 Jun 2025 | 4 Jun 2028 | 3 Jahre |
| 11.4 | 29 … |
Wie lädt man Daten am schnellsten in die Datenbank?
Beim letzten Kunden hatten wir wirklich ein paar spannende Fragen zu lösen! Insbesondere auch, weil die Datenbank nicht ganz klein war.
Hier kurz einige Eckdaten: CPU: 2 Sockel x 24 Kerne x 2 Threads = 96 vCores, 756 G RAM, 2 x 10 Tbyte PCIe SSD im RAID-10 und 7 Tbyte Daten, einige Tausend Mandanten, stark wachsend.
Der aktuelle Durchsatz: 1 M SELECT/min, 56 k INSERT/min, 44 k UPDATE/min , 7 k DELETE/min gemittelt über 30 Tage. Tendenz stark steigend. Applikation und Queries nicht durchgängig optimiert. …
MariaDB hat das Konzept des dynamisch konfigurierbaren Buffer Pools kaputt gemacht!
Problembeschreibung
MySQL hat mit 5.7.5 im September 2014 den dynamisch konfigurierbaren InnoDB Buffer Pool eingeführt (hier und hier):
The innodb_buffer_pool_size configuration option can be set dynamically using a SET statement, allowing you to resize the buffer pool without restarting the server. For example:
mysql> SET GLOBAL innodb_buffer_pool_size=402653184;
MariaDB 10.2.2 hat dieses Feature im September 2016 übernommen (Quelle):
InnoDB was merged from MySQL-5.7.14 (XtraDB is disabled in …
Wie viel Platz braucht NULL?
Beim letzten Beratungseinsatz beim Kunden, kam dieser freudestrahlend auf mich zu mit der Bemerkung: Er habe meinen Rat befolgt und sämtiche Primary Key Spalten von BIGINT (8 byte) auf INT (4 byte) geändert und das habe viel gebracht! Seine MySQL 8.4er Datenbank sei jetzt um 750 Gbyte kleiner geworden (von 5.5 Tbyte). Schön!
Und ja, ich weiss, dass wiederspricht den Empfehlungen einiger meiner PostgreSQL Kollegen (hier und hier). In der MySQL-Welt wird eher auf solche Dinge Wert gelegt (Quelle):
Use the …
Jemand löscht meine Shared Memory Segmente!
Wenn wir mit PostgreSQL unter unserem myEnv arbeiten, kriegen wir regelmässig Shared Memory Segment Fehler. Beispiel:
psql: error: connection to server on socket "/tmp/.s.PGSQL.5433" failed:
FATAL: could not open shared memory segment "/PostgreSQL.4220847662":
No such file or directory
oder wir sehen ähnliche Meldungen im PostgreSQL Error Log:
ERROR: could not open shared memory segment "/PostgreSQL.4220847662":
No such file or directory
Weil ich ein MariaDB/MySQL Admin bin, kenne …
CSV Dateien in die Datenbank laden
Kürzlich wollte ich für eine persönliche kleine Spielerei die Wohnorte der Vereinsmitlieder meines Vereins auf einer Karte darstellen (IGOC Mitglieder). Die Adressen der Vereinsmitglieder waren mir bekannt. Nicht aber die Koordinaten der Wohnorte.
Also machte ich mich auf die Suche nach den Koordinaten und wurde beim Bundesamt für Landestopografie (swisstopo) fündig.
Die Daten werden dort als CSV Datei zur Verfügung gestellt. Details hier: Schweizer Ortschafts-Koordinaten.
Wie lädt man jetzt diese Daten in …
Attribute Promotion und Demotion im MariaDB Galera Cluster
In der MariaDB Master/Slave Replikation gibt es ein Feature welches sich Attribute Promotion/Demotion nennt.
Das kann man in etwa übersetzten mit Spalten Erweiterung/Einschränkung.
Einfach gesagt geht es darum, wie sich der Slave verhält oder verhalten soll, wenn Master und Slave unterschiedliche Spalten-Definitionen oder gar eine unterschiedliche Anzahl von Spalten oder eine Unterschiedliche Reihenfolge der Spalten aufweisen.
Use case des Kunden
Diese Woche haben wir mit einem Kunden den Fall diskutiert, …
MariaDB Honeypot
Bei unseren MariaDB für Fortgeschrittene Schulungen, welche wir in etwa alle zwei Monate halten, verwenden wir Maschinen, welche mit einer öffentlichen IP-Adresse direkt dem Internet ausgesetzt sind. Achtung: Man sollte NIE eine Datenbank ungeschützt direkt dem Internet aussetzen! Typischerweise dauert es keine 72 Stunden (3 Tage) bis wir ersten Zugriffsversuchen von aussen ausgesetzt sind.
Dies sieht dann im MariaDB Error Log in etwa wie folgt aus:
[Warning] Aborted connection 22939 to db: 'unconnected' …Wie verhält sich Galera Cluster mit vielen Knoten?
Kürzlich hatte ich die Gelegenheit ganz viele Linux Systeme (VMs mit Rocky Linux 9) aus einer unserer regelmässig stattfindenden Galera Cluster Schulungen eine Woche lang ganz für mich alleine zur freien Verfügung zu haben. Und auf den Maschinen war auch schon ein MariaDB 11.4.4 mit Galera Cluster installiert.
Da ich schon lange mal ausprobieren wollte, wie sich ein Galera Cluster mit zunehmender Anzahl Knoten verhält, war jetzt die Gelegenheit dies mal auszuprobieren.
Die folgenden Fragestellung sollten …
Spielen mit MariaDB Vector für erste KI-Tests
Künstliche Intelligenz (KI) und Vektor-Datenbanken sind heute in aller Munde. Da MariaDB demnächst auch mit Vektor-Datenbank-Funktionalität auf den Markt kommt, habe ich es als Datenbank-Berater für an der Zeit befunden mich etwas mit dem Thema zu beschäftigen, damit ich wenigstens einen Hauch Ahnung davon habe um was es geht…
Da ich nicht so der Theoretiker bin sondern eher gerne etwas praktisches mache, habe ich einen kleinen “KI” Prototypen gebaut, den jeder auf seinem Laptop (ohne …
Partieller physischer Datenbank-Restore für MariaDB und MySQL
Um was geht es?
Bei der Beschreibung von Backup- und /Restore-Szenarien wird in der Regel immer von einem vollständigen Backup (full backup) und einem vollständigen Restore (full restore) der Datenbankinstanz (mariadbd/mysqld) ausgegangen. Das bedeutet, dass die gesamte Datenbankinstanz inklusive aller Datenbanken (Schemata) gesichert und wiederhergestellt wird.
In der Praxis sieht die Situation jedoch oft anders aus: Es soll nicht eine ganze Datenbankinstanz wiederhergestellt werden, sondern nur einzelne …

