Az Alibaba megnyitotta a PolarDB kódját, egy PostgreSQL-en alapuló elosztott DBMS-t.

Az egyik legnagyobb kínai IT-cég, az Alibaba megnyitotta az elosztott DBMS PolarDB forráskódját, amely PostgreSQL-re épül. A PolarDB kiterjeszti a PostgreSQL képességeit az elosztott adattárolásra szolgáló eszközökkel, integritással és ACID-tranzakciók támogatásával a különböző fürtcsomópontok között elosztott teljes globális adatbázis kontextusában. A PolarDB emellett támogatja az elosztott SQL-lekérdezések feldolgozását, a hibatűrést és a redundáns adattárolást az információk helyreállításához egy vagy több csomópont meghibásodása után. Ha bővítenie kell a tárhelyet, egyszerűen hozzáadhat új csomópontokat a fürthöz. A kód az Apache 2.0 licenc alatt érhető el.

A PolarDB két komponensből áll - a PostgreSQL-hez kiterjesztésekből és javításokból. A javítások kibővítik a PostgreSQL mag képességeit, a kiterjesztések pedig a PostgreSQL-től külön implementált komponenseket tartalmaznak, mint például az elosztott tranzakciókezelési mechanizmus, a globális szolgáltatások, az elosztott SQL lekérdezésfeldolgozó, további metaadatok, a fürt kezelésére szolgáló eszközök, a fürt telepítése és az egyszerűsítés. a meglévő rendszerek migrációja rá.

A javítások a PostgreSQL maghoz adják az adatokhoz való párhuzamos hozzáférés vezérlésére szolgáló mechanizmus elosztott változatát többverziós (MVCC, Multiversion concurrency control) segítségével a különböző elkülönítési szintekhez. A PolarDB legtöbb funkciója a bővítményekben található, ami csökkenti a PostgreSQL-től való függőséget, és leegyszerűsíti a PolarDB-n alapuló megoldások frissítését és megvalósítását (leegyszerűsíti a PostgreSQL új verzióira való átállást és a PostgreSQL-lel való teljes kompatibilitás fenntartását). A fürt kezeléséhez a pgxc_ctl eszközkészletet használják, amely a PostgreSQL-XC és a PostgreSQL-XL hasonló segédprogramján alapul.

A fürtnek három alapvető összetevője van: adatbázis-csomópontok (DN), fürtkezelő (CM) és tranzakciókezelési szolgáltatás (TM). Ezenkívül proxy terheléselosztó is használható. Mindegyik összetevő külön folyamat, és más szerveren is futtatható. Az adatbázis-csomópontok az ügyfelektől érkező SQL-lekérdezéseket szolgálják ki, és egyben koordinátorként működnek az elosztott lekérdezések végrehajtásában, más adatbázis-csomópontok részvételével. A fürtkezelő figyeli az egyes adatbázis-csomópontok állapotát, tárolja a fürt konfigurációját, és eszközöket biztosít a csomópontok kezeléséhez, biztonsági mentéséhez, terheléselosztásához, frissítéséhez, indításához és leállításához. A tranzakciókezelési szolgáltatás felelős az átfogó integritás fenntartásáért a teljes fürtben.

Az Alibaba megnyitotta a PolarDB kódját, egy PostgreSQL-en alapuló elosztott DBMS-t.

A PolarDB a Shared-nothing elosztott számítási architektúrán alapul, amely szerint az adatok elosztása különböző csomópontokon történik, anélkül, hogy minden csomóponthoz közös tárolót használnának, és minden csomópont felelős a hozzá tartozó adatok részéért, és végrehajtja a kapcsolódó lekérdezéseket. az adatokhoz. Minden tábla részekre oszlik (felosztás) az elsődleges kulcson alapuló hash segítségével. Ha a kérés különböző csomópontokon található adatokra terjed ki, egy elosztott tranzakció-végrehajtási mechanizmus és egy tranzakciókoordinátor aktiválódik az atomitás, a konzisztencia, az elszigeteltség és a megbízhatóság (ACID) biztosítása érdekében.

A hibatűrés biztosítása érdekében minden szegmens legalább három csomópontra replikálódik. Az erőforrások megtakarítása érdekében a teljes adat csak két replikát tartalmaz, és az egyik a visszaírási napló (WAL) tárolására korlátozódik. A teljes replikákkal rendelkező két csomópont egyikét választják vezetőnek, és részt vesz a kérések feldolgozásában. A második csomópont tartalékként működik a kérdéses adatszegmens számára, a harmadik pedig részt vesz a vezető csomópont kiválasztásában, és két teljes replikával rendelkező csomópont meghibásodása esetén használható információk helyreállítására. A fürtcsomópontok közötti adatreplikáció a Paxos algoritmus segítségével történik, amely biztosítja a konszenzus következetes meghatározását egy potenciálisan megbízhatatlan csomópontokkal rendelkező hálózatban.

Meg kell jegyezni, hogy a PolarDB DBMS teljes funkcionalitását a tervek szerint három kiadás során fogják felfedni: Az első verzióban a replikációhoz, a magas rendelkezésre álláshoz és a fürtkezeléshez szükséges eszközöket teszik közzé. A második kiadás egy elosztott tranzakció-végrehajtási rendszert tartalmaz, amely támogatja a csomópontok közötti ACID és az elosztott SQL végrehajtást. A harmadik kiadás tartalmazni fogja a PostgreSQL beépülő modult, valamint a csomópontok közötti rugalmas adatelosztáshoz szükséges eszközöket, beleértve a szegmensek adaptív elhelyezését az optimális teljesítmény elérése érdekében, valamint a fürt bővítésének lehetőségét új csomópontok hozzáadásával.

Forrás: opennet.ru

Hozzászólás