PayPal qhib JunoDB DBMS code

PayPal tau qhib qhov chaws ntawm qhov ua txhaum cai DBMS JunoDB, uas tswj xyuas cov ntaub ntawv hauv hom ntawv tseem ceeb. Lub kaw lus tau pib tsim nrog kev ruaj ntseg siab, kab rov tav scalability, ua txhaum cai, thiab muaj peev xwm tswj tau ntau pua txhiab tus tib lub sijhawm sib txuas nrog kev kwv yees latencies hauv siab. Ntawm PayPal, yuav luag txhua qhov kev pabcuam, los ntawm cov neeg siv nkag mus rau kev ua lag luam nyiaj txiag, raug khi rau JunoDB. Txoj haujlwm code tau sau rau hauv Go (lub tsev qiv ntawv Java tus neeg siv khoom) thiab tau muab faib raws li Apache 2.0 daim ntawv tso cai. Kev txhim kho ntxiv yuav lees txais kev kho, kev txhim kho thiab kev hloov ntawm lub zej zog.

JunoDB's architecture yog raws li kev siv cov khoom sib npaug uas lees txais kev thov los ntawm cov neeg siv khoom thov thiab faib rau lawv ntawm cov npe servers uas ib txhij nkag mus rau ib pawg ntawm cov servers cia thaum qhov kev thov raug tua. Txhua lub npe neeg rau zaub mov tsim kev sib txuas rau txhua qhov chaw khaws cia ib zaug thiab xa mus rau ib pab pawg ntawm cov servers cia raws li qhov muab faib ntsuas, uas tau muab khaws cia rau hauv kev faib khoom thiab lwm yam teeb tsa.

PayPal qhib JunoDB DBMS code

Cov ntaub ntawv yog muab faib thiab txuas rau cov nodes cia siv hashing, uas txo cov ntaub ntawv txav raws li cov nodes hauv pawg loj hlob los yog ntsws. Txhawm rau kom ntseeg tau tias kev ua txhaum cai, txhua daim ntaub ntawv tau rov ua dua ntawm ntau qhov chaw khaws cia, uas tso cai rau koj khaws cov ntaub ntawv thaum ib tus neeg servers tsis ua haujlwm. Kev tsim ntawm thaj chaw faib chaw khaws cia tau txais kev txhawb nqa, nyob rau hauv cov pab pawg ntawm cov nodes nyob hauv cov chaw sib txawv.

PayPal qhib JunoDB DBMS code

Ntawm cov ntaub ntawv khaws cia, lawv nyob hauv RAM lossis hauv zos cia raws li lub tsev qiv ntawv RocksDB. Thaum khaws cia tas mus li, cov ntaub ntawv khaws cia rau hauv daim ntawv encrypted (tus yuam sij encryption tuaj yeem txiav txim siab los ntawm tus neeg siv khoom lossis teeb tsa ntawm qib proxy).

PayPal qhib JunoDB DBMS code

Txhawm rau nkag mus rau cov ntaub ntawv los ntawm cov ntawv thov, lub tsev qiv ntawv tus neeg siv khoom tau muab API rau cov ntawv thov hauv Java, Mus thiab C ++. Cov neeg siv khoom tau yooj yim kom ntau li ntau tau, thiab cov logic nyuaj thiab teeb tsa raug xa mus rau DBMS sab thaum twg los tau. Kev sib cuam tshuam ntawm tus neeg siv khoom thiab tus sib npaug lossis tus neeg sawv cev yog ua los ntawm kev sib txuas lus encrypted channel. Txhawm rau tswj thiab xa cov lus thov, koj tuaj yeem siv cov kab hais kom ua interface, uas rov ua dua txhua qhov peev txheej ntawm tus neeg siv khoom API.

Lub kaw lus tau tsim los ua cov ntawv thov nrog kev kwv yees qis qis, piv txwv li, pawg ntawm peb qhov chaw khaws cia thiab ib lub npe, tsim los ntawm n1-highmem-32 ib puag ncig (32 Intel Xeon 2.30GHz CPUs, 214G RAM thiab 450G SSD-based cia) , muaj peev xwm muab ncua sij hawm tsis pub tshaj 2.5 ms hauv 95% ntawm cov neeg mob thiab 16 ms hauv 99% thaum ua tiav 200 txhiab kev sib txuas TLS ib txhij thiab ntws ntawm 15 txhiab thov ib pliag (nrog 3000 kev sib txuas ib txhij thiab ntws ntawm 80 txhiab thov. ib ob, ncua tsis pub dhau 6 ms hauv 95% ntawm cov neeg mob thiab 15 ms hauv 99%). Ntawm PayPal, JunoDB-based cov kev pabcuam pabcuam txog 350 billion thov ib hnub.

PayPal qhib JunoDB DBMS code


Tau qhov twg los: opennet.ru

Ntxiv ib saib