RadondB est une base de données MySQL open source et native du cloud pour l'évolutivité et les performances illimitées.
RadondB est une base de données native du cloud basée sur MySQL, et architeclée dans un cluster entièrement distribué qui permette une évolutivité illimitée (échelle), une capacité et des performances. Il a pris en charge la transaction distribuée qui assure une cohérence élevée des données et exploité MySQL en tant que moteur de stockage pour la fiabilité des données de confiance. RADONDB est compatible avec le protocole MySQL, et le gazon automatique de la table automatique ainsi que la fonction d'automatisation pour simplifier le flux de travail de maintenance et d'exploitation.
Pour obtenir des conseils sur l'installation, le déploiement et l'administration, consultez notre documentation.
RadondB est une nouvelle génération de base de données relationnelle distribuée (MYNEWSQL) basée sur MySQL. Il a été conçu pour créer la base de données open source que nos développeurs souhaiteraient utiliser: une qui possède des fonctionnalités telles que la haute disponibilité financière 、 Base de données à grande capacité 、 Tableau de partage de plan automatique 、 cohérence évolutive et forte, ce guide se déroule pour détailler les travailleurs internes du processus de radon comme moyen d'explication.
Au niveau de la syntaxe SQL, RadondB entièrement compatible avec MySQL.Vous pouvez afficher toutes les fonctionnalités SQL Radondb supporte ici RADON_SQL_STATIONS_MANUAL
Une fois que votre nœud SQL a reçu une demande SQL d'un client MySQL via Proxy, RadondB analyse l'instruction, crée un plan de requête, puis exécute le plan.
+---------------+
x---------->|node1_Executor |
+--------------------+ x +---------------+
| SQL Node | x
|--------------------| x
+-------------+ | sqlparser | x +---------------+
| query |+----------->| |--x---------->|node2_Executor |
+-------------+ | Distributed Plan | x +---------------+
| | x
+--------------------+ x
x +---------------+
x---------->|node3_Executor |
+---------------+
Parsing
Les requêtes reçues sont analysées par SQLParser (qui décrit la syntaxe prise en charge par MySQL) et généré des arbres de syntaxe abstraits (AST).
Planning
Avec l'AST, Radondb commence à planifier l'exécution de la requête en générant un arbre de PlanNodes. Cette étape comprend également des étapes analysant les instructions SQL du client par rapport aux expressions AST attendues, qui incluent des choses comme la vérification des types.
Vous pouvez voir le plan de requête A génère en utilisant EXPLAIN (à ce stade que nous utilisons uniquement EXPLAIN à la distribution du tableau d'analyse).
Excuting
Exécution d'un exécuteur exécuteur dans une couche de stockage en parallèle avec un plan d'exécution distribué.
Le nœud SQL est sans état, mais afin de garantir Snapshot Isolation de transaction, il s'agit actuellement d'un mode d'écriture-multiple-lecture.
Distributed transaction
RADONDB fournit des capacités de transaction distribuées. Si l'exécuteur distribué à différents nœuds de stockage et que l'un des nœuds n'a pas réussi à s'exécuter, le fonctionnement des nœuds de repos sera annulé, cela garantit l'atomicité de fonctionnement à travers les nœuds et fait la base de données dans un état cohérent.
Isolation Levels
RadondB atteint le niveau de Si (isolation instantanée) au niveau de cohérence. Tant qu'une transaction distribuée ne s'est pas engagée, ou si certaines partitions se sont engagées, l'opération est invisible pour d'autres transactions.
Transaction with SQL Layer
Le nœud SQL est sans état, mais afin de garantir Snapshot Isolation de transaction, il s'agit actuellement d'un mode d'écriture-multiple-lecture.
Le tracker Integrated GitHub Issue est utilisé pour ce projet.
Radondb est libéré sous le GPLV3. Voir la licence