Login
Newsletter
Werbung

Mo, 20. April 2020, 14:08

Software::Datenbanken

ShardingSphere wird Toplevel-Projekt der Apache Software Foundation

Das Projekt ShardingSphere hat den Status eines Toplevel-Projekts bei Apache erhalten. ShardingSphere dient zur Verteilung von Daten auf mehrere Datenbanken und Ausführung von verteilten Transaktionen auf diesen.

Nach knapp eineinhalb Jahren im Apache-Inkubator erfüllt ShardingSphere alle Bedingungen eines Apache-Projekts, wie die Apache Software Foundation jetzt mitteilt. Das Projekt wurde von Dangdang Information Technology entwickelt und im November 2018 an Apache übergeben. In dieser Zeit entwickelte es sich laut Liang Zhang dem Vizepräsidenten von Apache ShardingSphere, von einem JDBC-Treiber für Sharding in ein verteiltes Ökosystem. Es wird von mehr als 120 Organisationen verwendet, wobei es in China bisher offenbar mehr Anklang findet als im Rest der Welt.

Apache ShardingSphere besteht jetzt aus drei Teilprojekten. ShardingSphere-JDBC ist ein schlankes Java-Framework, das zusätzliche Dienste auf der Java JDBC-Ebene bereitstellt. JDBC (Java Database Connectivity) ist die Standard-Schnittstelle, mit der sich Java-Anwendungen mit Datenbanken verbinden. ShardingSphere-JDBC kann als ein einzelnes JAR-Archiv installiert und als erweiterter JDBC-Treiber angesehen werden. Er ist vollständig kompatibel zu JDBC und allen Arten von ORM (Object/Relational Mapping)-Frameworks.

Die zweite Komponente, ShardingSphere-Proxy, ist ein Datenbank-Proxy und stellt aus Sicht der Anwendungen einen Datenbank-Server dar, der das Binärprotokoll der Datenbank kapselt und verschiedene Programmiersprachen sowie alle mit den jeweiligen Datenbanken kompatiblen Werkzeuge unterstützt. Unterstützung gibt es momentan für MySQL und PostgreSQL.

Fotostrecke: 3 Bilder

Architektur von ShardingSphere-JDBC
Architektur von ShardingSphere-Proxy
Architektur von ShardingSphere-Sidecar
Die dritte Komponente, ShardingSphere-Sidecar, ist offenbar erst in der Planung. ShardingSphere-Sidecar soll ein Datenbank-Agent werden, der nativ in der Kubernetes-Cloud läuft und den Zugriff auf die Datenbank als Sidecar steuert, das heißt als unterstützender Dienst, der gemeinsam mit der Hauptanwendung eingesetzt wird. Die Software soll eine Vernetzungsebene bereitstellen, die als Database Mesh bezeichnet wird.

ShardingSphere kommt zum Einsatz, wenn es um sehr große Datenmengen geht, die ein einzelner Server nicht mehr speichern und verarbeiten kann. Die Software erreicht durch den Einsatz der Sharding-Technologie eine vollständige Verteilung der Datenbank. Sie stellt ferner verteilte Transaktionen, Datenmigration und Verwaltungsfunktionen bereit. Sie enthält einen SQL-Parser für mehrere SQL-Dialekte, der auch unabhängig von ShardingSphere genutzt werden kann. Der Kern der Anwendung ist minimal, die Unterstützung für SQL-Dialekte, Datenbankprotokolle und Funktionalität wird mittels Plugins hinzugefügt.

Die Entwickler von ShardingSphere haben seit dem Eintritt in den Inkubator zwei Versionen, 4.0.0 und 4.0.1, veröffentlicht. Sie sind auf der Downloadseite des Projekts zu finden. Die erste Veröffentlichung als offizielles Apache-Projekt nach dem Verlassen des Inkubators steht also noch aus.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung