Yandex ilifungua msimbo wa DBMS YDB inayounga mkono SQL iliyosambazwa

Yandex imechapisha maandishi chanzo ya YDB DBMS iliyosambazwa, ambayo hutumia usaidizi wa lahaja ya SQL na miamala ya ACID. DBMS iliundwa kutoka mwanzo na iliendelezwa awali kwa jicho la kuhakikisha uvumilivu wa makosa, uokoaji wa moja kwa moja katika kesi ya kushindwa na scalability. Imebainika kuwa Yandex ilizindua nguzo za YDB zinazofanya kazi, pamoja na nodi zaidi ya elfu 10, kuhifadhi mamia ya petabytes ya data na kutumikia mamilioni ya shughuli zilizosambazwa kwa sekunde. YDB inatumika katika miradi ya Yandex kama vile Market, Cloud, Smart Home, Alice, Metrika na Auto.ru. Msimbo umeandikwa katika C/C++ na kusambazwa chini ya leseni ya Apache 2.0. Kwa utambuzi na uzinduzi wa haraka, unaweza kutumia chombo cha Docker kilichopangwa tayari.

Vipengele vya Mradi:

  • Kutumia modeli ya data ya uhusiano na majedwali. YQL (Lugha ya Maswali ya YDB) hutumiwa kuuliza na kufafanua taratibu za data, ambayo ni lahaja ya SQL iliyorekebishwa kufanya kazi na hifadhidata kubwa zilizosambazwa. Wakati wa kuunda mpango wa uhifadhi, kikundi cha meza kama mti kinasaidiwa, kinachofanana na saraka katika mfumo wa faili. API imetolewa kwa ajili ya kufanya kazi na data katika umbizo la JSON.
    Yandex ilifungua msimbo wa DBMS YDB inayounga mkono SQL iliyosambazwa
  • Usaidizi wa kufikia data kwa kutumia hoja za kuchanganua zilizoundwa kutekeleza maswali ya dharula ya uchanganuzi dhidi ya hifadhidata, inayotekelezwa katika hali ya kusoma tu na kurudisha mtiririko wa grpc.
  • Mwingiliano na DBMS na kutuma maombi hufanywa kwa kutumia kiolesura cha mstari wa amri, kiolesura kilichojengwa ndani au YDB SDK, ambayo hutoa maktaba kwa C ++, C # (.NET), Go, Java, Node.js, PHP na Python.
  • Uwezo wa kuunda usanidi unaostahimili makosa ambao unaendelea kufanya kazi wakati diski za kibinafsi, nodi, racks, na hata vituo vya data vinashindwa. YDB inaauni uwekaji na uigaji kisawazishaji katika kanda tatu za upatikanaji huku ikidumisha afya ya nguzo iwapo moja ya kanda itashindwa.
  • Rejesha kiotomatiki kutokana na kushindwa na ucheleweshaji mdogo wa programu na udumishe kiotomatiki upungufu uliobainishwa wakati wa kuhifadhi data.
  • Uundaji wa faharasa kiotomatiki kwenye ufunguo msingi na uwezo wa kufafanua faharasa za upili ili kuboresha ufanisi wa ufikiaji wa safu wima holela.
  • Kuongezeka kwa usawa. Kadiri mzigo na saizi ya data iliyohifadhiwa inavyokua, nguzo inaweza kupanuliwa kwa kuunganisha nodi mpya tu. Viwango vya kukokotoa na uhifadhi vimetenganishwa, kuruhusu uwekaji wa hesabu na uhifadhi kando. DBMS yenyewe inafuatilia usambazaji sare wa data na mzigo, kwa kuzingatia rasilimali zilizopo za vifaa. Inawezekana kupeleka usanidi uliosambazwa kijiografia unaofunika vituo kadhaa vya data katika sehemu tofauti za ulimwengu.
  • Usaidizi wa muundo thabiti wa uthabiti na miamala ya ACID wakati wa kuchakata hoja zinazojumuisha nodi na majedwali mengi. Ili kuboresha utendakazi, unaweza kuzima kwa kuchagua udhibiti wa uthabiti.
  • Urudiaji wa data otomatiki, ugawaji kiotomatiki (kugawanya, kugawanya) wakati ukubwa au mzigo unapoongezeka, na upakiaji otomatiki na kusawazisha data kati ya nodi.
  • Kuhifadhi data moja kwa moja kwenye vifaa vya kuzuia kwa kutumia sehemu ya asili ya PDisk na safu ya VDisk. Juu ya VDisk, DSProxy inaendesha, ambayo inachambua upatikanaji na utendaji wa disks ili kuwatenga ikiwa matatizo yanagunduliwa.
  • Usanifu unaonyumbulika unaokuruhusu kuunda juu ya YDB, huduma mbalimbali, hadi vifaa vya kuzuia mtandaoni na foleni zinazoendelea (foleni inayoendelea). Ufaafu wa maombi kwa aina tofauti za mzigo wa kazi, OLTP na OLAP (maswali ya uchambuzi).
  • Msaada kwa watumiaji wengi (multitenant) na usanidi usio na seva. Uwezo wa kuthibitisha wateja. Watumiaji wanaweza kuunda vikundi vyao vya mtandaoni na hifadhidata katika miundombinu ya pamoja iliyoshirikiwa, kwa kuzingatia matumizi ya rasilimali katika kiwango cha idadi ya maombi na saizi ya data, au kwa kukodisha / kuhifadhi rasilimali fulani za kompyuta na nafasi ya kuhifadhi.
  • Uwezekano wa kurekebisha maisha ya rekodi kwa kufuta kiotomatiki data ya kizamani.

Chanzo: opennet.ru

Kuongeza maoni