Yandex je izdal izvorno kodo svojega DBMS «YDB»

Pred kratkim je novica to razkrila Yandex je izdal izvorno kodo svojega DBMS, «YDB», ki izvaja podporo za narečje SQL in transakcije ACID.

DBMS je bil zgrajen od začetka in je bil sprva razvit z namenom zagotavljanja tolerance napak, samodejni preklop in razširljivost. Treba je opozoriti, da je Yandex zagnal delujoče gruče YDB, vključno z več kot 10 tisoč vozlišči, ki hranijo na stotine petabajtov podatkov in služijo milijonom porazdeljenih transakcij na sekundo.

Glavne novosti YDB

Od funkcij, ki izstopajo iz YDB, je uporaba relacijskega podatkovnega modela s tabelami YQL (YDB Query Language) se uporablja za poizvedovanje in definiranje podatkovne sheme, ki je narečje SQL, prilagojeno za delo z velikimi porazdeljenimi bazami podatkov. Pri izdelavi pomnilniške sheme je podprto drevesno združevanje tabel, ki spominja na imenike datotečnega sistema. Za delo s podatki v formatu JSON je na voljo API.

The sposobnost ustvarjanja konfiguracij, odpornih na napake ki še naprej delujejo, ko diski, vozlišča, omare in celo posamezni podatkovni centri odpovejo. YDB podpira sinhrono uvajanje in podvajanje v treh območjih razpoložljivosti, hkrati pa ohranja stanje gruče v primeru okvare enega od območij.

Podpora za dostop do podatkov z uporabo poizvedb za skeniranje, zasnovanih za izvajanje ad-hoc analitičnih poizvedb v bazi podatkov, ki se izvajajo v načinu samo za branje in vračajo tok grpc.

Poleg tega tudi izstopa shranjevanje podatkov neposredno na blok naprave s pomočjo komponente PDisk izvorni in plast VDisk. Poleg VDisk se izvaja DSProxy, ki analizira razpoložljivost in zmogljivost diskov, da jih izključi, če se odkrijejo težave.

Od druge funkcije ki izstopajo:

  • Prilagodljiva arhitektura, ki vam omogoča gradnjo različnih storitev na YDB, vse do navideznih blokovnih naprav in trajnih čakalnih vrst. Primernost za različne vrste obremenitve: OLTP in OLAP (analitične poizvedbe).
  • Podpora za konfiguracije za več uporabnikov (več najemnikov) in brez strežnika.
  • Sposobnost avtentikacije strank. Uporabniki lahko ustvarijo svoje virtualne gruče in baze podatkov na skupni skupni infrastrukturi, pri čemer upoštevajo porabo virov glede na število zahtev in velikost podatkov ali z najemom/rezerviranjem določenih računalniških virov in prostora za shranjevanje.
  • Možnost prilagajanja življenjske dobe zapisov za avtomatsko brisanje zastarelih podatkov.
  • Interakcija s DBMS in oddaja zahtev se izvaja z vmesnikom ukazne vrstice, integriranim spletnim vmesnikom ali YDB SDK, ki zagotavlja knjižnice za C++, C# (.NET), Go, Java, Node.js, PHP in Python.
  • Samodejno obnovite aplikacije po napakah z minimalno zamudo in samodejno vzdržujte določeno redundanco pri shranjevanju podatkov.
  • Samodejno ustvarjanje indeksov na primarnem ključu in zmožnost definiranja sekundarnih indeksov za izboljšanje učinkovitosti poljubnega dostopa do stolpcev.
  • Horizontalna razširljivost. Ker obremenitev in velikost shranjenih podatkov rasteta, je mogoče gručo razširiti preprosto s povezovanjem novih vozlišč. Raven računanja in shranjevanja sta ločeni, kar vam omogoča ločeno prilagajanje izračunavanja in shranjevanja. DBMS sam spremlja enakomerno porazdelitev podatkov in obremenitve, pri čemer upošteva razpoložljive strojne vire. Možno je izvajati geografsko porazdeljene konfiguracije, ki pokrivajo več podatkovnih centrov v različnih delih sveta.
  • Podpora za model močne doslednosti in transakcije ACID pri obdelavi poizvedb, ki zajemajo več vozlišč in tabel. Če želite izboljšati zmogljivost, lahko selektivno onemogočite preverjanje skladnosti.
  • Samodejno podvajanje podatkov, samodejno particioniranje (particioniranje, razdeljevanje), ko se velikost ali obremenitev poveča, in samodejno uravnavanje obremenitve in podatkov med vozlišči.

Končno, je treba opozoriti, da se YDB uporablja v projektih Yandex, koda je napisana v C/C++ in se distribuira pod licenco Apache 2.0, lahko si ogledate izvorno kodo, pa tudi več podrobnosti o njej V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.