I-PayPal ivule ikhodi ye-JunoDB DBMS

I-PayPal ivule ikhodi yomthombo ye-JunoDB, i-DBMS ebekezelela amaphutha eshintsha idatha ngefomethi yenani elingukhiye. Isistimu ekuqaleni yayiklanywe ngokuvikeleka okuphezulu, ukukala okuvundlile, ukubekezelela amaphutha kanye nekhono lokusingatha amakhulu ezinkulungwane zokuxhunywa ngasikhathi sinye nokubambezeleka okubikezelwayo. Ku-PayPal, cishe zonke izinsizakalo, kusukela ekungeneni komsebenzisi kuya ekucubunguleni ukuthengiselana kwezezimali, ziboshelwe ku-JunoDB. Ikhodi yephrojekthi ibhalwe ku-Go (umtapo wezincwadi weklayenti le-Java) futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0. Ekuthuthukisweni okuqhubekayo, ukulungiswa, ukuthuthukiswa kanye nezinguquko ezivela emphakathini kuzokwamukelwa.

Isakhiwo se-JunoDB sisekelwe ekusetshenzisweni kwesilinganisi somthwalo esamukela izicelo ezivela kuzinhlelo zokusebenza zeklayenti futhi izisabalalise phakathi kwamaseva elibamba afinyelela ngesikhathi esisodwa iqembu leziphakeli zesitoreji lapho kwenziwa isicelo. Ummeleli ngamunye usungula ukuxhumana kuzo zonke iziphakeli zesitoreji ngesikhathi esisodwa futhi uqondise kabusha izicelo eqenjini lamaseva esitoreji ngokusekelwe kunkomba yokuhlukanisa egcinwe ohlelweni olusabalalisiwe lwesitoreji sokucushwa kwe-etd.

I-PayPal ivule ikhodi ye-JunoDB DBMS

Idatha iyahlukaniswa futhi iboshelwe ezindaweni zokugcina kusetshenziswa i-hashing ukuze kuncishiswe ukunyakaza kwedatha njengoba amanodi ekhula noma ancipha kuqoqo. Ukuqinisekisa ukubekezelelana kwamaphutha, ingxenye ngayinye yedatha iphindaphindwa ezindaweni ezimbalwa zokugcina, okuvumela ukuthi ulondoloze ulwazi lapho amaseva ngamanye ehluleka. Ukwakhiwa kwesitoreji esatshalaliswa ngokwendawo kusekelwa, lapho amaqembu ama-node atholakala ezikhungweni zedatha ezahlukene.

I-PayPal ivule ikhodi ye-JunoDB DBMS

Kumanodi okugcina, idatha ifakwa ku-RAM noma endaweni yokubeka ngokusekelwe kulabhulali ye-RocksDB. Ngesitoreji esibeleselayo, idatha igcinwa ngendlela ebethelwe (ukhiye wokubethela unganqunywa kokubili yiklayenti futhi usethwe kuleveli yommeleli).

I-PayPal ivule ikhodi ye-JunoDB DBMS

Ukuze ufinyelele kusizindalwazi kusuka ezinhlelweni zokusebenza, umtapo wezincwadi weklayenti uhlinzekwa ohlinzeka nge-API yezinhlelo zokusebenza ku-Java, Go, kanye ne-C++. Ingxenye yeklayenti yenziwa lula ngangokunokwenzeka, futhi ingqondo nezilungiselelo eziyinkimbinkimbi, uma kungenzeka, zihanjiswa ohlangothini lwe-DBMS. Ukusebenzisana phakathi kweklayenti kanye nebhalansi noma ummeleli wenziwa ngeshaneli yokuxhumana ebethelwe. Ungasebenzisa isixhumi esibonakalayo somugqa womyalo ukuze uphathe futhi uthumele izicelo, ezilingisa ukusebenza okugcwele kwe-API yeklayenti.

Uhlelo luklanyelwe ukucubungula izicelo nge-latency ephansi ebikezelwe, isibonelo, iqoqo lamanodi amathathu esitoreji kanye nommeleli oyedwa, owakhiwe endaweni ye-n1-highmem-32 (32 Intel Xeon 2.30GHz CPUs, 214G RAM kanye nesitoreji esisekelwe ku-450G SSD), ikwazile ukuhlinzeka ukubambezeleka okugxilile okungadluli ku-2.5 ms wezinkulungwane ezingu-95 ezimweni ezingu-16% ezimweni ezingu-99% ku-200% ms ku-15. ukuxhumeka okuhlangene kwe-TLS kanye nokugeleza kwezicelo eziyizinkulungwane ezingu-3000 ngomzuzwana (ngoxhumano lwe-80 ngesikhathi esisodwa kanye nokugeleza kwezicelo eziyizinkulungwane ezingu-6 ngomzuzwana, ukubambezeleka akuzange kudlule i-95 ms ku-15% yamacala kanye ne-99 ms ku-350%). Kwa-PayPal, izinsiza ezisekelwe ku-JunoDB zinikeza izicelo ezingaba yizigidi eziyizinkulungwane ezingama-XNUMX ngosuku.

I-PayPal ivule ikhodi ye-JunoDB DBMS


Source: opennet.ru

Engeza amazwana