Radondb ist eine Open-Source-Cloud-native MySQL-Datenbank für unbegrenzte Skalierbarkeit und Leistung.
Radondb ist eine Cloud-native Datenbank, die auf MySQL basiert und in vollständig verteiltem Cluster archiviert wird, das unbegrenzte Skalierbarkeit (Skalierbarkeit), Kapazität und Leistung ermöglicht. Es unterstützte die verteilte Transaktion, die eine hohe Datenkonsistenz gewährleisten, und mySQL als Speicher -Engine für vertrauenswürdige Datenzuverlässigkeit. Radondb ist mit MySQL-Protokoll und automatischer Tisch-Sharding sowie der Automatisierungsfunktion des automatischen Tischs für die Wartungs- und Betriebs-Workflow kompatibel.
Anleitungen zur Installation, Bereitstellung und Verwaltung finden Sie in unserer Dokumentation.
Radondb ist eine neue Generation von verteilten relationalen Datenbank (MYNEWSQL) basierend auf MySQL. Es wurde entwickelt, um die Open-Source-Datenbank zu erstellen, die unsere Entwickler verwenden möchten: eine Funktionen wie die finanzielle Verfügbarkeit von hoher Verfügbarkeit 、 Datenbank mit großer Kapazität.
Auf der SQL -Syntaxebene wird RadondB vollständig kompatibel mit MySQL. Sie können alle SQL -Features ansehen. RadondB unterstützt hier radon_sql_statements_manual
Nachdem Ihr SQL -Knoten eine SQL -Anforderung von einem MySQL -Client über Proxy erhalten hat, analysiert Radondb die Anweisung, erstellt einen Abfrageplan und führt dann den Plan aus.
+---------------+
x---------->|node1_Executor |
+--------------------+ x +---------------+
| SQL Node | x
|--------------------| x
+-------------+ | sqlparser | x +---------------+
| query |+----------->| |--x---------->|node2_Executor |
+-------------+ | Distributed Plan | x +---------------+
| | x
+--------------------+ x
x +---------------+
x---------->|node3_Executor |
+---------------+
Parsing
Empfangene Abfragen werden von SQLParser (die die unterstützte Syntax von MySQL beschreibt) und erzeugt abstrakte Syntaxbäume (AST) analysiert.
Planning
Mit dem AST plant Radondb die Ausführung der Abfrage durch Erzeugung eines Plansbaums. Dieser Schritt enthält auch Schritte, in denen die SQL -Aussagen des Kunden mit den erwarteten AST -Ausdrücken analysiert werden, die Dinge wie die Typ -Überprüfung enthalten.
Sie sehen, dass der A -Abfrageplan mit EXPLAIN generiert wird (zu diesem Zeitpunkt verwenden wir nur EXPLAIN Verteilung der Analyse -Tabelle).
Excuting
Ausführung eines Ausführers in einer Speicherebene parallel zu einem verteilten Ausführungsplan.
Der SQL-Knoten ist aufstandslos, aber um Snapshot Isolation der Transaktion zu gewährleisten, ist es derzeit ein Schreibmultiple-Lesemodus.
Distributed transaction
Radondb bietet verteilte Transaktionsfunktionen. Wenn der verteilte Testamentsvollstrecker an verschiedenen Speicherknoten und einer der Knoten nicht ausgeführt wurde, wird der Betrieb der REST -Knoten zurückgerollt, wodurch die Atomizität des Betriebs über Knoten übernommen wird und die Datenbank in einem konsistenten Zustand herstellt.
Isolation Levels
Radondb erreicht das Niveau der SI (Snapshot -Isolation) auf der Ebene der Konsistenz. Solange eine verteilte Transaktion nicht begangen hat oder wenn einige der Partitionen begangen wurden, ist die Operation für andere Transaktionen unsichtbar.
Transaction with SQL Layer
Der SQL-Knoten ist aufstandslos, aber um Snapshot Isolation der Transaktion zu gewährleisten, ist es derzeit ein Schreibmultiple-Lesemodus.
Der integrierte GitHub -Issue -Tracker wird für dieses Projekt verwendet.
Radondb wird unter dem GPLV3 freigesetzt. Siehe Lizenz