Alibaba släppte PolarDB-källkoden

Alibaba avslöjat för några dagar sedan har fattat beslutet att släppa källkoden för ditt distribuerade databashanteringssystem "PolarDB" som är baserad på PostgreSQL, källan är öppen under Apache 2.0-licensen.

För de som inte är medvetna om PolarDB bör du veta det detta är en relationsdatabas baserat på molnet utvecklat av Alibaba som utökar funktionerna för PostgreSQL för distribuerad datalagring med integritet och stöd för ACID-transaktioner inom ramen för hela den globala databasen, fördelad över olika klusternoder.

PolarDB också stöder distribuerad bearbetning av SQL-frågorger feltolerans och redundant datalagring för att fylla på information efter att en eller flera noder misslyckas. Om du behöver utöka lagringsutrymmet lägger du helt enkelt till nya noder i klustret.

Polar DB består av två delar: tillägg och en uppsättning patchar för PostgreSQL. Patcharna utökar funktionerna för PostgreSQL-kärnan, och tilläggen inkluderar separat implementerade komponenter av PostgreSQL, såsom en distribuerad transaktionshanteringsmekanism, globala tjänster, en distribuerad SQL-frågeprocessor, ytterligare metadata, verktyg för att hantera ett kluster, distribuera ett kluster och förenkla migreringen av befintliga system till det.

Patchar lägger till en distribuerad version av samtidighetskontrollmekanismen för flera versioner (MVCC) till PostgreSQL-kärnan för olika isoleringsnivåer. Det mesta av PolarDBs funktionalitet har flyttats till tillägg, vilket minskar beroendet av PostgreSQL och förenklar uppgradering och driftsättning av PolarDB-baserade lösningar (förenklar övergången till nya PostgreSQL-versioner och bibehåller full kompatibilitet med PostgreSQL).

Det finns tre grundläggande komponenter i ett kluster: databasnoder (DN), klusterhanterare (CM) och transaktionshanteringstjänst (TM), dessutom kan en proxy lastbalanserare vara inblandad. Var och en av komponenterna är en separat process och kan köras på olika fysiska servrar. Databasnoder betjänar klient-SQL-frågor samtidigt som de fungerar som koordinatorer för körning av distribuerade frågor med deltagande av andra databasnoder.

Klusteradministratören övervakar statusen för varje databasnod, lagrar klusterkonfiguration och tillhandahåller verktyg för hantering, säkerhetskopiering, lastbalansering, uppgradering, start och stopp av noder. Transaktionshanteringstjänsten ansvarar för att upprätthålla den övergripande integriteten i hela klustret.

PolarDB är baserad på Shared-nothing distribuerad datorarkitektur enligt vilken data distribueras under lagring till olika noder, utan att använda en gemensam lagring för alla noder och varje nod är ansvarig för den del av data som är kopplad till den och exekverar relaterade frågedata.

Varje tabell delas av primärnyckelhash. Om begäran omfattar data som finns på olika noder, är den distribuerade transaktionsexekveringsmotorn och transaktionskoordinatorn anslutna för att säkerställa atomicitet, konsistens, isolering och tillförlitlighet (ACID).

För att säkerställa feltolerans replikeras varje segment till minst tre noder. För att spara resurser innehåller fullständiga data endast två repliker, och en är begränsad till lagring av WAL (Write-After-loggen). En av de två fulla replikanoderna väljs som ledare och deltar i begärandebehandlingen, medan den andra noden fungerar som reservdel för det aktuella datasegmentet, och den tredje deltar i valet av den primära noden och kan användas för att återställa information i händelse av fel på två noder med fulla repliker.

Datareplikering mellan klusternoder orkestreras av Paxos-algoritmen, som säkerställer konsekvent konsensusbestämning i ett nätverk med potentiellt opålitliga noder. Det bör noteras att det är planerat att släppa den fulla funktionaliteten hos PolarDB DBMS i tre versioner.

Slutligen, om du är intresserad av att veta mer om det, kan du konsultera detaljerna i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.