Yandex publikoi kodin burimor të DBMS-së së tij «YDB»

Kohët e fundit lajmi dha se Yandex publikoi kodin burimor të DBMS-së së tij, «YDB», i cili zbaton mbështetje për dialektin SQL dhe transaksionet ACID.

DBMS u ndërtua nga themeli dhe fillimisht u zhvillua me synimin drejt sigurimit të tolerancës ndaj gabimeve, dështimi automatik dhe shkallëzueshmëria. Duhet të theksohet se Yandex lançoi grupe pune YDB, duke përfshirë më shumë se 10 mijë nyje, të cilat ruajnë qindra petabajt të dhëna dhe shërbejnë miliona transaksione të shpërndara në sekondë.

Risitë kryesore të YDB

Nga veçoritë që bien në sy nga YDB është përdorimi i modelit të të dhënave relacionale me tabelat YQL (YDB Query Language) përdoret për të kërkuar dhe përcaktuar skemën e të dhënave, e cila është një dialekt i SQL i përshtatur për të punuar me baza të dhënash të mëdha të shpërndara. Kur krijoni një skemë ruajtjeje, mbështetet një grupim i tabelave në formë peme, i cili i ngjan drejtorive në një sistem skedarësh. Një API ofrohet për të punuar me të dhëna në formatin JSON.

E aftësia për të krijuar konfigurime tolerante ndaj gabimeve që vazhdojnë të funksionojnë kur disqet, nyjet, raftet dhe madje edhe qendrat individuale të të dhënave dështojnë. YDB mbështet vendosjen dhe riprodhimin sinkron në tre zona të disponueshmërisë duke ruajtur gjendjen e grupit në rast të dështimit të njërës prej zonave.

Mbështetje për qasjen në të dhëna duke përdorur pyetje skanimi, të krijuara për të kryer pyetje analitike ad-hoc në bazën e të dhënave, të ekzekutuara në modalitetin vetëm për lexim dhe duke kthyer një rrjedhë grpc.

Përveç kësaj, ajo gjithashtu bie në sy ruajtja e të dhënave direkt në pajisjet e bllokut duke përdorur komponentin PDisk amtare dhe shtresa VDisk. Përveç VDisk, funksionon DSProxy, i cili analizon disponueshmërinë dhe performancën e disqeve për t'i përjashtuar ato nëse zbulohen probleme.

karakteristika te tjera që bien në sy:

  • Një arkitekturë fleksibël që ju lejon të ndërtoni shërbime të ndryshme në krye të YDB, deri te pajisjet e bllokut virtual dhe radhët e vazhdueshme. Përshtatshmëria për lloje të ndryshme të ngarkesës së punës: OLTP dhe OLAP (pyetje analitike).
  • Mbështetje për konfigurime me shumë përdorues (me shumë qiramarrës) dhe pa server.
  • Aftësia për të vërtetuar klientët. Përdoruesit mund të krijojnë grupimet e tyre virtuale dhe bazat e të dhënave në një infrastrukturë të përbashkët të përbashkët, duke marrë parasysh konsumin e burimeve për sa i përket numrit të kërkesave dhe madhësisë së të dhënave, ose duke marrë me qira/rezervuar burime të caktuara kompjuterike dhe hapësirë ​​ruajtëse.
  • Mundësia e rregullimit të jetëgjatësisë së të dhënave për fshirjen automatike të të dhënave të vjetruara.
  • Ndërveprimi me DBMS dhe dërgimi i kërkesave bëhet duke përdorur ndërfaqen e linjës së komandës, ndërfaqen e integruar të uebit ose YDB SDK, e cila ofron biblioteka për C++, C# (.NET), Go, Java, Node.js, PHP dhe Python.
  • Rikuperoni automatikisht nga dështimet me vonesë minimale në aplikacione dhe ruani automatikisht tepricën e specifikuar kur ruani të dhënat.
  • Krijimi automatik i indekseve në çelësin primar dhe aftësia për të përcaktuar indekset dytësore për të përmirësuar efikasitetin e aksesit arbitrar të kolonës.
  • Shkallueshmëria horizontale. Ndërsa ngarkesa dhe madhësia e të dhënave të ruajtura rritet, grupi mund të zgjerohet thjesht duke lidhur nyje të reja. Nivelet e llogaritjes dhe të ruajtjes janë të ndara, duke ju lejuar të shkallëzoni llogaritjen dhe ruajtjen veç e veç. Vetë DBMS monitoron shpërndarjen e barabartë të të dhënave dhe ngarkesës, duke marrë parasysh burimet e disponueshme të harduerit. Është e mundur të zbatohen konfigurime të shpërndara gjeografikisht që mbulojnë qendra të shumta të të dhënave në pjesë të ndryshme të botës.
  • Mbështetje për një model konsistence të fortë dhe transaksione ACID kur përpunohen pyetje që përfshijnë nyje dhe tabela të shumta. Për të përmirësuar performancën, mund të çaktivizoni në mënyrë selektive kontrollin e konsistencës.
  • Replikimi automatik i të dhënave, ndarje automatike (ndarje, ndarje) kur rritet madhësia ose ngarkesa, dhe ngarkesa automatike dhe balancimi i të dhënave ndërmjet nyjeve.

Së fundi, duhet të theksohet se YDB përdoret në projektet Yandex, kodi është i shkruar në C/C++ dhe shpërndahet nën licencën Apache 2.0, mund të shihni kodin burimor, si dhe më shumë detaje rreth tij Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.