Yandex je objavio izvorni kod svog DBMS-a «YDB»

Nedavno je vijest razbila to Yandex je objavio izvorni kod svog DBMS-a, «YDB», koji implementira podršku za SQL dijalekt i ACID transakcije.

DBMS je izgrađen od temelja i prvobitno je razvijen s ciljem da se osigura tolerancija grešaka, automatski prelazak na grešku i skalabilnost. Treba napomenuti da je Yandex pokrenuo radne YDB klastere, uključujući više od 10 hiljada čvorova, koji pohranjuju stotine petabajta podataka i opslužuju milione distribuiranih transakcija u sekundi.

Glavne novine YDB-a

Od karakteristika koje se izdvajaju od YDB-a je upotreba relacionog modela podataka sa YQL tabelama (YDB Query Language) se koristi za upite i definiranje šeme podataka, tj dijalekt SQL-a prilagođen za rad s velikim distribuiranim bazama podataka. Prilikom kreiranja šeme skladištenja, podržano je grupisanje tabela nalik stablu, koje liči na direktorijume sistema datoteka. Omogućen je API za rad sa podacima u JSON formatu.

The sposobnost kreiranja konfiguracija otpornih na greške koji nastavljaju da funkcionišu kada diskovi, čvorovi, stalci, pa čak i pojedinačni centri podataka pokvare. YDB podržava sinhronu implementaciju i replikaciju u tri zone dostupnosti dok održava stanje klastera u slučaju kvara jedne od zona.

Podrška za pristup podacima koristeći skenirane upite, dizajnirane za izvođenje ad-hoc analitičkih upita na bazi podataka, koji se izvršavaju u načinu samo za čitanje i vraćaju grpc tok.

Osim toga, također se ističe pohranjivanje podataka direktno na blok uređaje koristeći PDisk komponentu izvorni i VDisk sloj. Pored VDisk-a, pokreće se DSProxy, koji analizira dostupnost i performanse diskova kako bi ih isključio ako se otkriju problemi.

Od ostale karakteristike koji se ističu:

  • Fleksibilna arhitektura koja vam omogućava da izgradite različite usluge na vrhu YDB-a, sve do virtuelnih blok uređaja i upornih redova. Pogodnost za različite vrste opterećenja: OLTP i OLAP (analitički upiti).
  • Podrška za konfiguracije sa više korisnika (više zakupaca) i bez servera.
  • Mogućnost autentifikacije klijenata. Korisnici mogu kreirati vlastite virtuelne klastere i baze podataka na zajedničkoj dijeljenoj infrastrukturi, uzimajući u obzir potrošnju resursa u smislu broja zahtjeva i veličine podataka, ili iznajmljivanjem/rezervacijom određenih računarskih resursa i prostora za skladištenje.
  • Mogućnost podešavanja vijeka trajanja zapisa za automatsko brisanje zastarjelih podataka.
  • Interakcija sa DBMS-om i podnošenje zahteva se vrši korišćenjem interfejsa komandne linije, integrisanog veb interfejsa ili YDB SDK, koji obezbeđuje biblioteke za C++, C# (.NET), Go, Java, Node.js, PHP i Python.
  • Automatski se oporavlja od kvarova sa minimalnim kašnjenjem aplikacija i automatski održava određenu redundantnost prilikom pohranjivanja podataka.
  • Automatsko kreiranje indeksa na primarnom ključu i mogućnost definiranja sekundarnih indeksa radi poboljšanja efikasnosti proizvoljnog pristupa stupcima.
  • Horizontalna skalabilnost. Kako raste opterećenje i veličina pohranjenih podataka, klaster se može proširiti jednostavnim povezivanjem novih čvorova. Slojevi za računanje i skladištenje su odvojeni, što vam omogućava da zasebno skalirate računanje i pohranu. Sam DBMS prati ravnomjernu distribuciju podataka i opterećenja, uzimajući u obzir raspoložive hardverske resurse. Moguće je implementirati geografski raspoređene konfiguracije koje pokrivaju više centara podataka u različitim dijelovima svijeta.
  • Podrška za model snažne konzistentnosti i ACID transakcije prilikom obrade upita koji obuhvataju više čvorova i tabela. Da biste poboljšali performanse, možete selektivno onemogućiti provjeru konzistentnosti.
  • Automatska replikacija podataka, automatsko particioniranje (particioniranje, dijeljenje) kada se veličina ili opterećenje povećava, i automatsko balansiranje opterećenja i podataka između čvorova.

Na kraju, treba napomenuti da se YDB koristi u Yandex projektima, kod je napisan u C/C++ i distribuira se pod Apache 2.0 licencom, možete vidjeti izvorni kod, kao i više detalja o njemu Na sledećem linku.


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.