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

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

DBMS izgrađen je od temelja i u početku je razvijen s ciljem osiguravanja tolerancije 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 tisuća čvorova, koji pohranjuju stotine petabajta podataka i opslužuju milijune distribuiranih transakcija u sekundi.

Glavne novosti YDB-a

Od značajki koje se izdvajaju od YDB-a je korištenje relacijskog modela podataka s YQL tablicama (YDB Query Language) se koristi za upite i definiranje sheme podataka, tj dijalekt SQL-a prilagođen za rad s velikim distribuiranim bazama podataka. Prilikom izrade sheme pohrane, podržano je grupiranje tablica nalik stablu, koje nalikuje direktorijima datotečnog sustava. Omogućen je API za rad s podacima u JSON formatu.

The sposobnost stvaranja konfiguracija otpornih na greške koji nastavljaju funkcionirati kada diskovi, čvorovi, stalci, pa čak i pojedinačni podatkovni centri pokvare. YDB podržava sinkronu implementaciju i replikaciju u tri zone dostupnosti uz održavanje stanja klastera u slučaju kvara jedne od zona.

Podrška za pristup podacima pomoću upita za skeniranje, dizajniranih 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 izravno na blok uređaje pomoću komponente PDisk izvorni i VDisk sloj. Uz VDisk, radi i DSProxy koji analizira dostupnost i performanse diskova kako bi ih isključio ako se otkriju problemi.

Od Druge značajke koji se ističu:

  • Fleksibilna arhitektura koja vam omogućuje izgradnju raznih usluga na vrhu YDB-a, sve do virtualnih blok uređaja i trajnih redova čekanja. Pogodnost za različite vrste opterećenja: OLTP i OLAP (analitički upiti).
  • Podrška za konfiguracije s više korisnika (više stanara) i bez poslužitelja.
  • Sposobnost provjere autentičnosti klijenata. Korisnici mogu kreirati vlastite virtualne 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/rezerviranjem određenih računalnih resursa i prostora za pohranu.
  • Mogućnost podešavanja vijeka trajanja zapisa za automatsko brisanje zastarjelih podataka.
  • Interakcija s DBMS-om i podnošenje zahtjeva vrši se pomoću sučelja naredbenog retka, integriranog web sučelja ili YDB SDK-a, koji pruža biblioteke za C++, C# (.NET), Go, Java, Node.js, PHP i Python.
  • Automatski se oporaviti od kvarova s ​​minimalnim kašnjenjem aplikacija i automatski održavati određenu redundantnost prilikom pohranjivanja podataka.
  • Automatsko kreiranje indeksa na primarnom ključu i mogućnost definiranja sekundarnih indeksa za poboljšanje učinkovitosti 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 računanja i pohrane odvojeni su, što vam omogućuje da zasebno skalirate računanje i pohranu. Sam DBMS prati ravnomjernu raspodjelu podataka i opterećenja, uzimajući u obzir raspoložive hardverske resurse. Moguće je implementirati zemljopisno raspoređene konfiguracije koje pokrivaju više podatkovnih centara u različitim dijelovima svijeta.
  • Podrška za model snažne konzistentnosti i ACID transakcije pri obradi upita koji obuhvaćaju više čvorova i tablica. Da biste poboljšali performanse, možete selektivno onemogućiti provjeru dosljednosti.
  • Automatska replikacija podataka, automatsko particioniranje (particioniranje, dijeljenje) kada se veličina ili opterećenje povećava, te automatsko balansiranje opterećenja i podataka između čvorova.

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.