Die verteilte Datenbank Citus 13.0 wurde veröffentlicht.

Das zu Microsoft gehörende Unternehmen Citus Data hat die verteilte Datenbank Citus 13.0 veröffentlicht, die als Erweiterung für PostgreSQL 17 realisiert ist. Citus ermöglicht das horizontale Scaling von PostgreSQL in einem Cluster auf Basis von Standardhardware und erlaubt die Verteilung von Daten über Knoten hinweg mithilfe von Sharding, wobei eine Spalten- und Speicherstrukturierung konfiguriert werden kann. Für Anwendungen sieht der Citus-Cluster aus wie ein großer PostgreSQL-Server, der die Ressourcen seiner Knoten bündelt. Der Code ist in C geschrieben und steht unter der Lizenz AGPLv3.

Sharding ermöglicht die Speicherung von sehr großen Datenmengen, deren Gesamtgröße die lokalen Speicherkapazitäten jedes Knotens im Cluster erheblich übersteigt. Einzelne Tabellen können gezielt auf alle Knoten repliziert werden, um die Durchführung von Merge-Operationen und die Arbeit mit Fremdschlüsseln zu beschleunigen. Um Speicherplatz zu sparen, können die auf verschiedenen Knoten verteilten Daten komprimiert gespeichert werden.

Verteilte Anfragen können an jeden Knoten des Clusters gesendet werden, jedoch muss das Management und die Änderung des Schemas ausschließlich über den Knoten erfolgen, der die Clusterarbeit koordiniert. Die von den Clients eingehenden Anfragen werden an die erforderlichen Knoten verteilt und, wenn sie mehrere Knoten umfassen, wird ihre Verarbeitung parallelisiert. Der Cluster kann mit dem Wachstum der gespeicherten Datenmenge durch das Hinzufügen weiterer Knoten und Initiierung einer Neubewertung erweitert werden.

Typische Anwendungsbeispiele für Citus sind das Ausführen von analytischen Abfragen und die Verarbeitung großer Datenmengen in Form von Zeitreihen (z. B. Protokolle oder Sensorstatusabfragen). Citus eignet sich auch zur Modernisierung der bestehenden Infrastruktur auf Basis eines einzelnen Server PostgreSQL, deren Leistung und Speicherkapazität aufgrund der steigenden Belastung oder des Volumens der eingehenden Daten nicht mehr ausreicht. Mit dem Werkzeugset von Patroni können ausfallsichere Konfigurationen mit replizierten Backup-Knoten erstellt werden, die im Falle eines Ausfalls die Rolle der Hauptknoten übernehmen können.

Änderungen in der Version Citus 13.0:

  • Übergang zur Verwendung des Branches PostgreSQL 17.
  • Die Möglichkeit, in verteilten Anfragen die Funktion JSON_TABLE() zu nutzen, um Daten aus dem JSON-Format in eine relationale Darstellung zu konvertieren, mit der wie bei gewöhnlichen PostgreSQL-Tabellen gearbeitet werden kann.
  • Unterstützung der Syntax „MERGE … WHEN NOT MATCHED BY SOURCE“.
  • Die Möglichkeit, die Zugriffsart für verteilte partitionierte Tabellen durch den Ausdruck „CREATE TABLE … USING“ zu definieren sowie die Zugriffsart durch „ALTER TABLE … SET ACCESS METHOD“ zu ändern.
  • Unterstützung für die Angabe automatisch generierter Identifikationsspalten in verteilten partitionierten Tabellen hinzugefügt.
  • Die Anwendung von Ausschlussbeschränkungen in verteilten partitionierten Tabellen ist erlaubt.
  • Probleme mit der Synchronisierung von Rollen zwischen Knoten wurden behoben.
  • Die Datenverteilung für Sharding wurde bei der Hinzufügung neuer Knoten zum Cluster verbessert.
  • In den Befehl „EXPLAIN“ wurden die Optionen „MEMORY“ und „SERIALIZE“ hinzugefügt, mit denen die genutzte Speichermenge und die für die Datenkonvertierung zur Übertragung über das Netzwerk benötigte Zeit bestimmt werden können.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster