„Yandex“ išleido savo DBVS „YDB“ šaltinio kodą

Neseniai buvo paskelbta, kad „Yandex“ išleido savo duomenų bazių valdymo sistemos „YDB“ šaltinio kodą , kuris palaiko SQL dialektą ir ACID operacijas.

DBVS buvo sukurta nuo nulio ir iš pradžių plėtota siekiant užtikrinti atsparumą gedimams , automatinį atkūrimą po gedimų ir mastelio keitimą. Verta paminėti, kad „Yandex“ paleido veikiančius YDB klasterius, įskaitant daugiau nei 10 000 mazgų, kuriuose saugomi šimtai petabaitų duomenų ir apdorojami milijonai paskirstytų operacijų per sekundę.

Pagrindinės naujienos iš YDB

Viena iš pagrindinių YDB savybių yra reliacinio duomenų modelio su lentelėmis naudojimas. YQL ( YDB užklausų kalba) naudojama duomenų schemai užklausti ir apibrėžti; tai SQL dialektas, pritaikytas darbui su didelėmis, paskirstytomis duomenų bazėmis . Kuriant saugojimo schemą, palaikomas medžio pavidalo lentelių grupavimas, panašus į katalogus failų sistemoje. Pateikiama API, skirta darbui su JSON formato duomenimis.

Taip pat verta paminėti jos gebėjimą kurti gedimams atsparias konfigūracijas , kurios toliau veikia, kai sugenda diskai, mazgai, stelažai ir net atskiri duomenų centrai. YDB palaiko sinchroninį diegimą ir replikaciją trijose prieinamumo zonose, tuo pačiu išlaikydama klasterio būklę zonos gedimo atveju.

Suderinamumas su prieiga prie duomenų per nuskaitymo užklausas, skirtas atlikti ad hoc analitines užklausas duomenų bazėje, vykdomas tik skaitymo režimu ir grąžinantis grpc srautą.

Be to, jis išsiskiria tuo, kad duomenis saugo tiesiogiai blokiniuose įrenginiuose, naudodamas vietinį „PDisk“ komponentą ir „VDisk“ sluoksnį. Be „VDisk“, veikia ir „DSProxy“, kuris analizuoja diskų prieinamumą ir našumą, kad aptiktų problemas ir jas pašalintų.

Kitos svarbios savybės :

  • Lanksti architektūra, leidžianti kurti įvairias paslaugas ant YDB, iki virtualių blokų įrenginių ir nuolatinių eilių. Tinkamumas įvairiems darbo krūviams: OLTP ir OLAP (analitinės užklausos).
  • Kelių vartotojų (kelių nuomininkų) ir be serverio konfigūracijų palaikymas.
  • Galimybė autentifikuoti klientus. Vartotojai gali kurti savo virtualias grupes ir duomenų bazes bendroje bendroje infrastruktūroje, atsižvelgdami į išteklių suvartojimą užklausų skaičiaus ir duomenų dydžio lygiu arba išsinuomodami / rezervuodami tam tikrus skaičiavimo išteklius ir saugyklos vietą.
  • Galimybė koreguoti įrašų naudingo tarnavimo laiką, kad būtų automatiškai ištrinami pasenę duomenys.
  • Sąveika su DBVS ir užklausų siuntimas vykdomas naudojant komandų eilutės sąsają, integruotą žiniatinklio sąsają arba YDB SDK, kuris teikia bibliotekas C++, C# (.NET), Go, Java, Node.js, PHP ir Python.
  • Automatiškai atsikurkite po gedimų su minimaliu programos vėlavimu ir automatiškai palaikykite nurodytą dubliavimą saugodami duomenis.
  • Automatinis indeksų kūrimas pirminiame rakte ir galimybė apibrėžti antrinius indeksus, siekiant pagerinti prieigos prie savavališkų stulpelių efektyvumą.
  • Horizontalus mastelio keitimas. Augant saugomų duomenų apkrovai ir dydžiui, klasterį galima išplėsti tiesiog prijungus naujus mazgus. Skaičiavimo ir saugojimo pakopos yra atskirtos, todėl skaičiavimo ir saugyklos mastelį galima keisti atskirai. Pati DBVS stebi tolygų duomenų ir apkrovos pasiskirstymą, atsižvelgdama į turimus techninės įrangos resursus. Galima įdiegti geografiškai paskirstytas konfigūracijas, apimančias kelis duomenų centrus įvairiose pasaulio vietose.
  • Stipraus nuoseklumo modelio ir ACID operacijų palaikymas, kai apdorojamos užklausos, apimančios kelis mazgus ir lenteles. Norėdami pagerinti našumą, galite pasirinktinai išjungti nuoseklumo tikrinimą.
  • Automatinis duomenų replikavimas, automatinis skaidymas (skirstymas, dalijimas), kai padidėja dydis arba apkrova, ir automatinis apkrovos bei duomenų balansavimas tarp mazgų.

Galiausiai verta paminėti, kad YDB naudojamas „Yandex“ projektuose, kodas parašytas C/C++ kalba ir platinamas pagal „Apache 2.0“ licenciją. Šaltinio kodą ir daugiau informacijos apie jį galite rasti šioje nuorodoje.


Pridėti kaip pageidaujamą šaltinį „Google“ sistemoje