Alibaba veröffentlicht PolarDB-Quellcode

Alibaba veröffentlicht vor ein paar Tagen haben die Entscheidung getroffen, den Quellcode von . freizugeben Ihr verteiltes Datenbankmanagementsystem "PolarDB" die auf PostgreSQL basiert, der Code ist offen unter der Apache 2.0 Lizenz.

Für diejenigen, die mit PolarDB nicht vertraut sind, sollten Sie das wissen Dies ist eine relationale Datenbank basierend auf der von Alibaba entwickelten Cloud erweitert die PostgreSQL-Fähigkeiten für verteilte Datenspeicherung mit Integrität und Unterstützung von ACID-Transaktionen im Kontext der gesamten globalen Datenbank, verteilt auf verschiedene Cluster-Knoten.

PolarDB auch unterstützt die verteilte SQL-Abfrageverarbeitung, Bereitstellung von Fehlertoleranz und redundanter Datenspeicherung, um Informationen aufzufüllen, nachdem ein oder mehrere Knoten ausgefallen sind. Wenn Sie Ihren Speicher erweitern müssen, fügen Sie dem Cluster einfach neue Knoten hinzu.

Polar-DB besteht aus zwei Teilen: Erweiterungen und eine Reihe von Patches für PostgreSQL. Die Patches erweitern die Fähigkeiten des PostgreSQL-Kerns und die Erweiterungen umfassen separat implementierte Komponenten von PostgreSQL, wie z. B. einen verteilten Transaktionsverwaltungsmechanismus, globale Dienste, einen verteilten SQL-Abfrageprozessor, zusätzliche Metadaten, Tools zum Verwalten eines Clusters, Implementieren eines Clusters und vereinfachen die Migration bestehender Systeme darauf.

Die Patches fügen eine verteilte Version des Multiversion-Parallelitätskontrollmechanismus hinzu (MVCC) zum PostgreSQL-Kern für verschiedene Isolationsstufen. Der Großteil der PolarDB-Funktionalität wurde in Erweiterungen verschoben, was die Abhängigkeit von PostgreSQL reduziert und das Upgrade und die Bereitstellung von PolarDB-basierten Lösungen vereinfacht (vereinfacht den Übergang zu neuen Versionen von PostgreSQL und behält die volle PostgreSQL-Kompatibilität bei).

Es gibt drei grundlegende Komponenten in einem Cluster: Datenbankknoten (DN), Clustermanager (CM) und Transaktionsverwaltungsdienst (TM), zusätzlich kann ein Proxy-Load-Balancer beteiligt sein. Jede der Komponenten ist ein separater Prozess und kann auf verschiedenen physischen Servern ausgeführt werden. Die Datenbankknoten bedienen Client-SQL-Abfragen und fungieren gleichzeitig als Koordinatoren der Ausführung verteilter Abfragen unter Beteiligung anderer Datenbankknoten.

Der Cluster-Administrator überwacht den Status jedes Knotens in der Datenbank, speichert die Clusterkonfiguration und bietet Tools zum Verwalten, Sichern, Lastausgleich, Aktualisieren, Starten und Stoppen von Knoten. Der Transaktionsverwaltungsdienst ist für die Aufrechterhaltung der Gesamtintegrität im gesamten Cluster verantwortlich.

PolarDB basiert auf der Shared-Nothing-Distributed-Computing-Architektur, bei der Daten während der Speicherung auf verschiedene Knoten verteilt werden, ohne einen gemeinsamen Speicher für alle Knoten zu verwenden und jeder Knoten für die mit ihm verknüpften Daten verantwortlich ist und zugehörige Abfragedaten ausführt.

Jede Tabelle wird unter Verwendung von Primärschlüssel-Hashes fragmentiert. Wenn die Anforderung Daten umfasst, die sich auf verschiedenen Knoten befinden, werden die verteilte Transaktionsausführungsmaschine und der Transaktionskoordinator verbunden, um Atomarität, Konsistenz, Isolation und Zuverlässigkeit (ACID) sicherzustellen.

Um Fehlertoleranz zu gewährleisten, wird jedes Segment auf mindestens drei Knoten repliziert. Um Ressourcen zu sparen, enthalten die vollständigen Daten nur zwei Replikate und eine ist auf das Speichern des Write-Behind-Protokolls (WAL) beschränkt. Einer der beiden Full-Replica-Knoten wird als Leader ausgewählt und nimmt an der Anfrageverarbeitung teil, während der zweite Knoten als Reserve für das betrachtete Datensegment fungiert und der dritte an der Auswahl des primären Knotens beteiligt ist und zur Wiederherstellung verwendet werden kann Informationen bei Ausfall von zwei Knoten mit vollständigen Replikaten.

Die Datenreplikation zwischen Cluster-Knoten wird mithilfe des Paxos-Algorithmus organisiert, der eine konsistente Konsensfindung in einem Netzwerk mit potenziell nicht vertrauenswürdigen Knoten gewährleistet. Es ist zu beachten, dass die volle Funktionalität des PolarDB DBMS in drei Versionen veröffentlicht werden soll.

Wenn Sie mehr darüber erfahren möchten, können Sie sich schließlich beraten die Details im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.