Alibaba huet de Code fir PolarDB opgemaach, e verdeelt DBMS baséiert op PostgreSQL.

Alibaba, eng vun de gréisste chinesesche IT Firmen, huet de Quellcode vun der verdeelt DBMS PolarDB opgemaach, baséiert op PostgreSQL. PolarDB erweidert d'Fäegkeete vu PostgreSQL mat Tools fir verdeelt Datelagerung mat Integritéit an Ënnerstëtzung fir ACID Transaktiounen am Kontext vun der ganzer globaler Datebank verdeelt iwwer verschidde Clusternoden. PolarDB ënnerstëtzt och verdeelt SQL Query Veraarbechtung, Feeler Toleranz, an redundante Datelagerung fir Informatioun ze restauréieren nodeems een oder méi Noden versoen. Wann Dir Är Lagerung ausbaue musst, kënnt Dir einfach nei Wirbelen an de Cluster addéieren. De Code ass op ënner der Apache 2.0 Lizenz.

PolarDB besteet aus zwee Komponenten - Extensiounen an e Set vu Patches fir PostgreSQL. Patches erweideren d'Kapazitéite vum PostgreSQL Kär, an d'Extensiounen enthalen Komponenten, déi getrennt vum PostgreSQL implementéiert sinn, sou wéi e verdeelt Transaktiounsmanagementmechanismus, global Servicer, e verdeelt SQL Query Prozessor, zousätzlech Metadaten, Tools fir Cluster Management, Cluster Deployment, an d'Vereinfachung vun der Migratioun. vun bestehend Systemer zu et.

D'Patches addéieren zum PostgreSQL Kär eng verdeelt Versioun vum Mechanismus fir de parallelen Zougang zu Daten ze kontrolléieren mat Multiversion (MVCC, Multiversion Concurrency Control) fir verschidden Isolatiounsniveauen. Déi meescht vun der Funktionalitéit vu PolarDB ass an Extensiounen abegraff, wat d'Ofhängegkeet vu PostgreSQL reduzéiert an d'Aktualiséierung an d'Ëmsetzung vu Léisunge baséiert op PolarDB vereinfacht (et vereinfacht den Iwwergank op nei Versioune vu PostgreSQL a behält voll Kompatibilitéit mat PostgreSQL). Fir de Cluster ze verwalten, gëtt de pgxc_ctl Toolkit benotzt, baséiert op engem ähnlechen Utility vu PostgreSQL-XC a PostgreSQL-XL.

E Cluster besteet aus dräi Basiskomponenten: Datebankknoten (DN), e Clustermanager (CM) an en Transaktiounsmanagementservice (TM). E Proxy-Loadbalancer kann och benotzt ginn. All Komponent ass e separate Prozess a kann op engem anere Server ausgeführt ginn. ServerDatebankknueten veraarbechten SQL-Ufroen vu Clienten a gläichzäiteg handelen se als Koordinatoren fir d'Ausféierung vun enger verdeelter Ufro, déi aner Datebankknueten involvéiert. De Clustermanager iwwerwaacht den Zoustand vun all Datebankknuet, späichert d'Clusterkonfiguratioun a stellt Tools fir d'Gestioun, d'Sicherung, d'Load Balancing, d'Aktualiséierung, d'Start an d'Stoppe vun de Knueten zur Verfügung. Den Transaktiounsmanagementservice ass verantwortlech fir d'Gesamtintegritéit am ganze Cluster ze erhalen.

 Alibaba huet de Code fir PolarDB opgemaach, e verdeelt DBMS baséiert op PostgreSQL.

PolarDB baséiert op der Shared-näischt verdeelt Rechenarchitektur, no där Daten verdeelt ginn wann se op verschiddene Wirbelen gespäichert ginn, ouni eng gemeinsam Späichere fir all Wirbelen ze benotzen, an all Node ass verantwortlech fir den Deel vun den Donnéeën domat verbonnen a mécht Ufroen am Zesummenhang. zu den Donnéeën. All Dësch gëtt an Deeler zerstéiert (Sharding) mat Hëllef vun Hashing baséiert op dem primäre Schlëssel. Wann d'Ufro iwwer Daten op verschiddene Wirbelen läit, gëtt e verdeelt Transaktiounsausféierungsmotor an Transaktiounskoordinator aktivéiert fir Atomitéit, Konsistenz, Isolatioun an Zouverlässegkeet (ACID) ze garantéieren.

Fir Feeler Toleranz ze garantéieren, gëtt all Segment op d'mannst dräi Wirbelen replizéiert. Fir Ressourcen ze spueren, enthalen déi komplett Donnéeën nëmmen zwee Repliken, an een ass limitéiert fir de Schreifbuch (WAL) ze späicheren. Ee vun den zwee Wirbelen mat voller Repliken gëtt als Leader gewielt a bedeelegt un der Veraarbechtung vun Ufroen. Den zweeten Node handelt als Ersatz fir den Datesegment an der Fro, an den drëtten hëlt un der Auswiel vum féierende Node deel a ka benotzt ginn fir Informatioun ze restauréieren am Fall vun engem Ausfall vun zwee Wirbelen mat voller Repliken. Datereplikatioun tëscht Clusternoden ass organiséiert mam Paxos Algorithmus, deen eng konsequent Definitioun vum Konsens an engem Netzwierk mat potenziell onverlässlechen Noden garantéiert.

Et gëtt bemierkt datt déi voll Funktionalitéit vum PolarDB DBMS geplangt ass iwwer dräi Verëffentlechungen opgedeckt ze ginn: An der éischter Versioun ginn Tools fir Replikatioun, héich Disponibilitéit a Clustermanagement publizéiert. Déi zweet Verëffentlechung wäert e verdeelt Transaktiounsausféierungssystem hunn, deen Cross-Node ACID a verdeelt SQL Ausféierung ënnerstëtzt. Déi drëtt Verëffentlechung wäert e Plugin fir PostgreSQL an Tools fir flexibel Dateverdeelung iwwer Noden enthalen, inklusiv adaptiv Placement vu Segmenter fir optimal Leeschtung ze erreechen an d'Fäegkeet fir de Cluster auszebauen andeems nei Noden bäigefüügt ginn.

Source: opennet.ru

Setzt e Commentaire