Yandex avaldas oma DBMS-i "YDB" lähtekoodi

Hiljuti teade sellest Yandex avaldas oma DBMS-i lähtekoodi YDB, mis toetab SQL dialekti ja ACID tehinguid.

DBMS ehitati algusest peale ja töötati algselt välja veataluvust silmas pidades, automaatne tõrkesiirde ja skaleeritavus. Tuleb märkida, et Yandex käivitas töötavad YDB klastrid, sealhulgas üle 10 tuhande sõlme, mis salvestavad sadu petabaite andmeid ja teenindavad miljoneid hajutatud tehinguid sekundis.

YDB peamised uuendused

Funktsioonidest, mis YDB-st silma paistavad, on relatsioonilise andmemudeli kasutamine YQL tabelitega (YDB päringukeelt) kasutatakse päringute tegemiseks ja andmeskeemi määratlemiseks, mis on SQL-i dialekt, mis on kohandatud töötama suurte hajutatud andmebaasidega. Salveskeemi loomisel toetatakse puulaadset tabelite rühmitamist, mis meenutab failisüsteemi katalooge. JSON-vormingus andmetega töötamiseks on saadaval API.

The võime luua tõrketaluvusega konfiguratsioone mis jätkavad töötamist ka siis, kui kettad, sõlmed, riiulid ja isegi üksikud andmekeskused rikki lähevad. YDB toetab sünkroonset juurutamist ja replikatsiooni kolmes saadavuse tsoonis, säilitades samal ajal klastri oleku ühe tsooni rikke korral.

Andmejuurdepääsu tugi skannimispäringute abil, mis on loodud andmebaasis ad hoc analüütiliste päringute tegemiseks, täidetakse kirjutuskaitstud režiimis ja tagastavad grpc voo.

Lisaks paistab see ka silma andmete salvestamine otse plokkseadmetesse PDiski komponendi abil native ja VDiski kiht. Lisaks VDiskile töötab DSProxy, mis analüüsib ketaste saadavust ja jõudlust, et need probleemide tuvastamisel välistada.

Selle teised omadused mis paistavad silma:

  • Paindlik arhitektuur, mis võimaldab teil YDB peale ehitada erinevaid teenuseid, kuni virtuaalse plokkseadmete ja püsivate järjekordadeni välja. Sobivus erinevat tüüpi töökoormuse jaoks: OLTP ja OLAP (analüütilised päringud).
  • Mitme kasutaja (mitme rentniku) ja serverita konfiguratsioonide tugi.
  • Võimalus kliente autentida. Kasutajad saavad ühisele jagatud infrastruktuurile luua oma virtuaalseid klastreid ja andmebaase, võttes arvesse ressursitarbimist päringute arvu ja andmemahu osas või rentides/reserveerides teatud arvutusressursse ja salvestusruumi.
  • Võimalus korrigeerida kirjete kasutusiga vananenud andmete automaatseks kustutamiseks.
  • DBMS-iga suhtlemine ja päringute esitamine toimub käsurea liidese, integreeritud veebiliidese või YDB SDK abil, mis pakub teeke C++, C# (.NET), Go, Java, Node.js, PHP ja Python jaoks.
  • Taastage tõrgetest automaatselt minimaalse viivitusega rakendustele ja säilitage andmete salvestamisel automaatselt määratud liiasus.
  • Indekside automaatne loomine primaarvõtmel ja võimalus määratleda sekundaarseid indekseid, et parandada suvalise veeru juurdepääsu tõhusust.
  • Horisontaalne skaleeritavus. Kui salvestatud andmete koormus ja suurus kasvab, saab klastrit laiendada lihtsalt uute sõlmede ühendamisega. Arvutus- ja salvestustasandid on eraldi, võimaldades teil arvutusi ja salvestamist eraldi skaleerida. DBMS ise jälgib andmete ja koormuse ühtlast jaotust, võttes arvesse olemasolevaid riistvararessursse. Võimalik on rakendada geograafiliselt hajutatud konfiguratsioone, mis katavad mitut andmekeskust erinevates maailma paikades.
  • Tugeva järjepidevuse mudeli ja ACID-tehingute tugi mitut sõlme ja tabelit hõlmavate päringute töötlemisel. Toimivuse parandamiseks saate järjepidevuse kontrolli valikuliselt keelata.
  • Automaatne andmete replikatsioon, automaatne jaotus (partitsioneerimine, killustamine) suuruse või koormuse suurenemisel ning automaatne koormuse ja andmete tasakaalustamine sõlmede vahel.

Lõpuks tuleb märkida, et YDB-d kasutatakse Yandexi projektides, kood on kirjutatud C/C++ keeles ja seda levitatakse Apache 2.0 litsentsi all, näete lähtekoodi ja selle kohta rohkem üksikasju Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.