Yandex je odprl kodo porazdeljene DBMS YDB, ki podpira SQL

Yandex je objavil izvorna besedila porazdeljene YDB DBMS, ki izvaja podporo za narečje SQL in transakcije ACID. DBMS je bil ustvarjen iz nič in prvotno razvit z namenom zagotavljanja tolerance napak, samodejne obnovitve v primeru napak in razširljivosti. Ugotovljeno je, 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. YDB se uporablja v projektih Yandex, kot so Market, Cloud, Smart Home, Alice, Metrika in Auto.ru. Koda je napisana v C/C++ in se distribuira pod licenco Apache 2.0. Za seznanitev in hiter zagon lahko uporabite že pripravljen vsebnik Docker.

Značilnosti projekta:

  • Uporaba relacijskega podatkovnega modela s tabelami. Za poizvedovanje in definiranje podatkovne sheme se uporablja YQL (YDB Query Language), ki je narečje SQL, prilagojeno za delo z velikimi porazdeljenimi bazami podatkov. Pri ustvarjanju sheme shranjevanja je podprto drevesno združevanje tabel, ki spominja na imenike v datotečnem sistemu. Na voljo je API za delo s podatki v formatu JSON.
    Yandex je odprl kodo porazdeljene DBMS YDB, ki podpira SQL
  • Podpora za dostop do podatkov z uporabo poizvedb za skeniranje, zasnovanih za izvajanje analitičnih ad-hoc poizvedb v zbirki podatkov, ki se izvajajo v načinu samo za branje in vračajo tok grpc.
  • Interakcija z DBMS in pošiljanje zahtev se izvaja z vmesnikom ukazne vrstice, vgrajenim spletnim vmesnikom ali YDB SDK, ki ponuja knjižnice za C ++, C # (.NET), Go, Java, Node.js, PHP in Python.
  • Možnost ustvarjanja konfiguracij, odpornih na napake, ki še naprej delujejo, ko odpovejo posamezni diski, vozlišča, stojala in celo podatkovni centri. YDB podpira uvajanje in sinhrono replikacijo v treh območjih razpoložljivosti, hkrati pa ohranja zdravje gruče v primeru okvare enega od območij.
  • Samodejno okrevanje po okvarah z minimalnimi zamudami za aplikacije in samodejno vzdrževanje podane redundance pri shranjevanju podatkov.
  • Samodejno ustvarjanje indeksov na primarnem ključu in možnost definiranja sekundarnih indeksov za izboljšanje učinkovitosti dostopa do poljubnih stolpcev.
  • Horizontalna razširljivost. Ko obremenitev in velikost shranjenih podatkov naraščata, lahko gručo razširite s preprostim povezovanjem novih vozlišč. Raven računalništva in shranjevanja sta ločeni, kar omogoča ločeno skaliranje računalništva in shranjevanja. DBMS sam spremlja enakomerno porazdelitev podatkov in obremenitev, pri čemer upošteva razpoložljive strojne vire. Možno je uvesti geografsko porazdeljene konfiguracije, ki pokrivajo več podatkovnih centrov v različnih delih sveta.
  • Podpora za model močne konsistentnosti in transakcije ACID pri obdelavi poizvedb, ki zajemajo več vozlišč in tabel. Če želite izboljšati zmogljivost, lahko selektivno onemogočite nadzor skladnosti.
  • Samodejna replikacija podatkov, samodejno particioniranje (particioniranje, sharding), ko se velikost ali obremenitev poveča, ter samodejno obremenitev in uravnoteženje podatkov med vozlišči.
  • Shranjevanje podatkov neposredno na blokovne naprave z uporabo izvorne komponente PDisk in plasti VDisk. Na vrhu VDisk teče DSProxy, ki analizira razpoložljivost in zmogljivost diskov, da jih izključi, če so odkrite težave.
  • Prilagodljiva arhitektura, ki omogoča ustvarjanje na vrhu YDB, različnih storitev, do navideznih blokovnih naprav in trajnih čakalnih vrst (persistent queue). Primernost aplikacije za različne vrste obremenitev, OLTP in OLAP (analitične poizvedbe).
  • Podpora za večuporabniške (večnajemniške) in brezstrežniške konfiguracije. Sposobnost avtentikacije strank. Uporabniki lahko ustvarijo lastne virtualne gruče in baze podatkov v skupni deljeni infrastrukturi, pri čemer upoštevajo porabo virov na ravni števila zahtev in velikosti podatkov ali z najemom/rezervacijo določenih računalniških virov in prostora za shranjevanje.
  • Možnost prilagoditve življenjske dobe zapisov za samodejno brisanje zastarelih podatkov.

Vir: opennet.ru

Dodaj komentar