Alibaba frigav PolarDB kildekode

Alibaba afsløret få dage siden har truffet beslutningen om at frigive kildekoden til dit distribuerede databasestyringssystem "PolarDB" som er baseret på PostgreSQL, kilden er åben under Apache 2.0-licensen.

For dem, der ikke kender til PolarDB, bør du vide det dette er en relationel database baseret på skyen udviklet af Alibaba udvider mulighederne for PostgreSQL til distribueret datalagring med integritet og understøttelse af ACID-transaktioner i sammenhæng med hele den globale database, fordelt på tværs af forskellige klynge noder.

PolarDB også understøtter distribueret behandling af SQL-forespørgsler, der giver fejltolerance og redundant datalagring for at genopbygge information, efter at en eller flere noder fejler. Hvis du har brug for at udvide lagerpladsen, skal du blot tilføje nye noder til klyngen.

Polar DB består af to dele: udvidelser og et sæt patches til PostgreSQL. Patcherne udvider mulighederne for PostgreSQL-kernen, og udvidelserne inkluderer separat implementerede komponenter af PostgreSQL, såsom en distribueret transaktionsstyringsmekanisme, globale tjenester, en distribueret SQL-forespørgselsprocessor, yderligere metadata, værktøjer til at administrere en klynge, implementering af en klynge, og forenkle migreringen af ​​eksisterende systemer til det.

Patches tilføjer en distribueret version af multiversion samtidighedskontrolmekanismen (MVCC) til PostgreSQL-kernen for forskellige isolationsniveauer. Det meste af PolarDBs funktionalitet er blevet flyttet til udvidelser, hvilket reducerer afhængigheden af ​​PostgreSQL og forenkler opgradering og implementering af PolarDB-baserede løsninger (forenkler overgangen til nye PostgreSQL-versioner og bevarer fuld kompatibilitet med PostgreSQL).

Der er tre grundlæggende komponenter i en klynge: databasenoder (DN), cluster manager (CM) og transaktionsstyringstjeneste (TM), derudover kan en proxy load balancer være involveret. Hver af komponenterne er en separat proces og kan køre på forskellige fysiske servere. Databaseknudepunkter betjener klient SQL-forespørgsler, mens de også fungerer som koordinatorer af distribueret forespørgselsudførelse med deltagelse af andre databasenoder.

Klyngeadministratoren overvåger status for hver databaseknude, gemmer klyngekonfiguration og giver værktøjer til styring, sikkerhedskopiering, belastningsbalancering, opgradering, start og stop af noder. Transaktionsstyringstjenesten er ansvarlig for at opretholde den overordnede integritet i hele klyngen.

PolarDB er baseret på Shared-nothing distribueret computerarkitektur, ifølge hvilken data distribueres under lagring til forskellige noder, uden at bruge et fælles lager for alle noder, og hver node er ansvarlig for det stykke data, der er knyttet til det, og udfører relaterede forespørgselsdata.

Hver tabel er sønderdelt af primærnøglehash. Hvis anmodningen dækker data placeret på forskellige noder, er den distribuerede transaktionsudførelsesmotor og transaktionskoordinatoren forbundet for at sikre atomicitet, konsistens, isolation og pålidelighed (ACID).

For at sikre fejltolerance replikeres hvert segment til mindst tre noder. For at spare ressourcer inkluderer fuld data kun to replikaer, og den ene er begrænset til lagring af WAL (Write-After-log). Den ene af de to fulde replika-knudepunkter vælges som leder og deltager i anmodningsbehandlingen, mens den anden knude fungerer som reserve for det pågældende datasegment, og den tredje deltager i udvælgelsen af ​​hovedknuden og kan bruges til gendannelse information i tilfælde af svigt af to noder med fulde replikaer.

Datareplikering mellem klynge noder er orkestreret af Paxos-algoritmen, som sikrer konsistent konsensusbestemmelse i et netværk med potentielt upålidelige noder. Det skal bemærkes, at det er planlagt at frigive den fulde funktionalitet af PolarDB DBMS i tre versioner.

Endelig, hvis du er interesseret i at vide mere om det, kan du konsultere detaljerne i følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.