Muva nje kumenyezelwe ukuthi i-Yandex ikhiphe ikhodi yomthombo ye-DBMS yayo, i-"YDB" , esebenzisa ukusekelwa kolimi lwe-SQL kanye nokuthengiselana kwe-ACID.
I-DBMS yakhiwa kusukela phansi futhi ekuqaleni yathuthukiswa ngenhloso yokuqinisekisa ukubekezelela amaphutha , ukululama okuzenzakalelayo kokwehluleka, kanye nokukhula. Kuyaphawuleka ukuthi i-Yandex yethule amaqoqo e-YDB asebenzayo, kufaka phakathi ama-node angaphezu kuka-10, igcina amakhulu ama-petabytes edatha futhi iphatha izigidi zemisebenzi esakazwa ngomzuzwana.
Amanoveli amakhulu we-YDB
Esinye sezici ezibalulekile ze-YDB ukusebenzisa kwayo imodeli yedatha ehlobene namathebula. I-YQL ( Ulimi Lombuzo lwe-YDB) isetshenziselwa ukubuza nokuchaza i-schema yedatha; iyi -dialect ye-SQL elungiselelwe ukusebenza ngama-database amakhulu, asatshalaliswe . Lapho kudalwa i-schema yokugcina, kusekelwa iqoqo lamathebula elifana nesihlahla, elifana neziqondisi ohlelweni lwefayela. I-API inikezwa yokusebenza ngedatha ngefomethi ye-JSON.
Okunye okuphawulekayo yikhono layo lokudala ukulungiselelwa okubekezelela amaphutha okuqhubeka nokusebenza lapho amadiski, ama-node, ama-racks, ngisho nezikhungo zedatha ngazinye zihluleka. I-YDB isekela ukuthunyelwa kanye nokuphindaphinda okuhambisanayo kuzo zonke izindawo ezintathu zokutholakala ngenkathi igcina impilo yeqoqo uma kwenzeka ukwehluleka kwendawo.
Ukuhambisana nokufinyelela kwedatha ngemibuzo yokuskena, eyenzelwe ukwenza imibuzo yokuhlaziya ye-ad-hoc kusizindalwazi, kwenziwa ngemodi yokufunda kuphela futhi kubuyiselwe ukugeleza kwe-grpc.
Ngaphezu kwalokho, ivelele futhi ekugcineni idatha ngqo kumadivayisi ebhulokhi kusetshenziswa ingxenye ye-PDisk yomdabu kanye nesendlalelo se-VDisk. Ngaphezu kwe-VDisk, i-DSProxy isebenzisa, ehlaziya ukutholakala kwediski kanye nokusebenza kwayo ukuze ingazifaki uma kutholwa izinkinga.
Ezinye izici eziphawulekayo zifaka:
- Isakhiwo esivumelana nezimo esikuvumela ukuthi wakhe amasevisi ahlukahlukene phezu kwe-YDB, kuze kufike kumadivayisi we-block block kanye nolayini abaqhubekayo. Ukufaneleka kwezinhlobo ezahlukene zomthwalo wokusebenza: I-OLTP ne-OLAP (imibuzo yokuhlaziya).
- Ukusekelwa kwabasebenzisi abaningi (abaqashi abaningi) nokucushwa okungenaseva.
- Ikhono lokuqinisekisa amaklayenti. Abasebenzisi bangakha amaqoqo abo abonakalayo kanye nesizindalwazi engqalasizinda evamile okwabelwana ngayo, kucatshangelwa ukusetshenziswa kwezinsiza ngokuya ngenani lezicelo nosayizi wedatha, noma ngokuqasha/ukugcina izinsiza ezithile zekhompuyutha nendawo yokugcina.
- Amathuba okulungisa impilo ewusizo yamarekhodi ukuze kususwe ngokuzenzakalela idatha ephelelwe yisikhathi.
- Ukusebenzisana ne-DBMS nokuthumela izicelo kwenziwa kusetshenziswa isixhumi esibonakalayo somugqa womyalo, isixhumi esibonakalayo sewebhu esididiyelwe, noma i-YDB SDK, ehlinzeka ngemitapo yolwazi ye-C++, C# (.NET), Go, Java, Node.js, PHP kanye nePython.
- Sula ngokuzenzakalelayo ekuhlulekeni ngokubambezeleka okuncane kwezinhlelo zokusebenza futhi gcina ngokuzenzakalelayo ukungasebenzisi okucacisiwe lapho ugcina idatha.
- Ukudalwa okuzenzakalelayo kwezinkomba kukhiye oyinhloko kanye nekhono lokuchaza izinkomba zesibili ukuze kuthuthukiswe ukusebenza kahle kokufinyelela kwekholomu okunganaki.
- I-scalability evundlile. Njengoba umthwalo nosayizi wedatha egcinwe ikhula, iqoqo linganwetshwa ngokuxhuma amanodi amasha. Izigaba zekhompiyutha nezokugcina zihlukene, ezikuvumela ukuthi ukale ikhompuyutha nokugcina ngokuhlukana. I-DBMS ngokwayo iqapha ukusatshalaliswa okulinganayo kwedatha nomthwalo, icabangela izinsiza ze-hardware ezitholakalayo. Kungenzeka ukusebenzisa ukulungiselelwa okusatshalaliswe ngokwendawo okumboza izikhungo zedatha eziningi ezingxenyeni ezihlukene zomhlaba.
- Usekelo lwemodeli eqinile yokungashintshi kanye nemisebenzi ye-ACID lapho kucutshungulwa imibuzo ehlanganisa amanodi namathebula amaningi. Ukuze uthuthukise ukusebenza, ungakhubaza ngokukhetha ukuhlola ukuvumelana.
- Ukuphindaphinda kwedatha okuzenzakalelayo, ukwahlukanisa okuzenzakalelayo (ukuhlukanisa, ukwahlukanisa) lapho usayizi noma umthwalo ukhuphuka, nokulayisha okuzenzakalelayo nokulinganisa kwedatha phakathi kwamanodi.
Okokugcina, kubalulekile ukuqaphela ukuthi i-YDB isetshenziswa kumaphrojekthi e-Yandex, ikhodi ibhalwe nge-C/C++ futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0. Ungathola ikhodi yomthombo, kanye nemininingwane eyengeziwe ngayo, kusixhumanisi esilandelayo.