Alibaba a publié le code source de PolarDB

Alibaba libéré Il ya quelques jours ont pris la décision de publier le code source de votre système de gestion de base de données distribué "PolarDB" qui est basé sur PostgreSQL, le code est ouvert sous la licence Apache 2.0.

Pour ceux qui ne connaissent pas PolarDB, sachez que c'est une base de données relationnelle basé sur le cloud développé par Alibaba qui étend les capacités de PostgreSQL pour un stockage de données distribué avec intégrité et prise en charge des transactions ACID dans le contexte de l'ensemble de la base de données mondiale, distribuée sur différents nœuds de cluster.

PolarDB aussi prend en charge le traitement des requêtes SQL distribué, fournissant une tolérance aux pannes et un stockage de données redondant pour reconstituer les informations après la défaillance d'un ou plusieurs nœuds. Si vous avez besoin d'étendre votre stockage, ajoutez simplement de nouveaux nœuds au cluster.

DB polaire se compose de deux parties: extensions et un ensemble de correctifs pour PostgreSQL. Les correctifs étendent les capacités du noyau PostgreSQL et les extensions incluent des composants implémentés séparément de PostgreSQL, tels qu'un mécanisme de gestion des transactions distribuées, des services globaux, un processeur de requêtes SQL distribué, des métadonnées supplémentaires, des outils pour gérer un cluster, implémenter un cluster et simplifier la migration des systèmes existants vers celui-ci.

Les correctifs ajoutent une version distribuée du mécanisme de contrôle de concurrence multiversion (MVCC) au noyau PostgreSQL pour différents niveaux d'isolement. La plupart des fonctionnalités de PolarDB ont été déplacées vers des extensions, ce qui réduit la dépendance à PostgreSQL et simplifie la mise à niveau et le déploiement des solutions basées sur PolarDB (simplifie la transition vers les nouvelles versions de PostgreSQL et maintient une compatibilité PostgreSQL complète).

Il y a trois composants de base en grappe : nœuds de base de données (DN), gestionnaire de cluster (CM) et service de gestion des transactions (TM), en outre, un équilibreur de charge proxy peut être impliqué. Chacun des composants est un processus distinct et peut s'exécuter sur différents serveurs physiques. Les nœuds de base de données servent les requêtes SQL des clients et agissent en même temps en tant que coordinateurs de l'exécution de requêtes distribuées avec la participation d'autres nœuds de base de données.

L'administrateur de cluster surveille l'état de chaque nœud de base de données, stocke la configuration du cluster et fournit des outils de gestion, de sauvegarde, d'équilibrage de charge, de mise à jour, de démarrage et d'arrêt des nœuds. Le service de gestion des transactions est responsable du maintien de l'intégrité globale dans l'ensemble du cluster.

PolarDB est basé sur l'architecture informatique distribuée Shared-nothing selon laquelle les données sont distribuées pendant le stockage à différents nœuds, sans utiliser un stockage commun pour tous les nœuds et chaque nœud est responsable de la donnée qui lui est liée et exécute les données de requête associées.

Chaque table est fragmentée à l'aide de hachages de clé primaire. Si la demande porte sur des données situées sur des nœuds différents, le moteur d'exécution de transactions distribuées et le coordinateur de transactions sont connectés pour assurer l'atomicité, la cohérence, l'isolement et la fiabilité (ACID).

Pour garantir la tolérance aux pannes, chaque segment est répliqué sur au moins trois nœuds. Pour économiser des ressources, les données complètes ne comprennent que deux répliques et une est limitée au stockage du journal d'écriture différée (WAL). L'un des deux nœuds de réplica complet est choisi comme leader et participe au traitement des demandes, tandis que le deuxième nœud agit en tant que réserve pour le segment de données considéré, et le troisième participe à la sélection du nœud principal et peut être utilisé pour restaurer informations en cas de panne de deux nœuds avec des répliques complètes.

La réplication des données entre les nœuds du cluster est organisée à l'aide de l'algorithme Paxos, qui garantit une détermination cohérente du consensus dans un réseau avec des nœuds potentiellement non fiables. Il convient de noter que toutes les fonctionnalités du SGBD PolarDB devraient être publiées en trois versions.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.