THOMAS CARRIERO: Jaz sem Thomas Carriero. Jaz sem inženir na Dropbox. ALEX Allain: Jaz sem Alex Allain. Jaz sem inženir tukaj na Dropbox. THOMAS CARRIERO: Ja, bil sem pravzaprav prva glava TF za CS50 Ko je David Malin prevzel razred. Sem že učil CS50 dva semestra Mike Smith, ki je bil Pred profesor tam. ALEX Allain: Zato sem pravzaprav ni da CS50, vendar sem TF ga dvakrat. Enkrat kot redni TF, in potem moj višji letnik Pravzaprav sem vodja TF od CS50, kar je bilo zelo zabavno. THOMAS CARRIERO: Torej Ko je David dosegel, mi o vzpostavitvi Dropbox v CS50 aparata, Res sem navdušena, ker imamo dejansko odjemalec za Linux, Tako je večina naših uporabnikov uporablja bodisi Windows ali stranke Macintosh, ampak Linux, Macintosh in Windows stranke so vsi pravzaprav zelo podobna. Torej, kaj smo naredili je, da smo vnaprej nameščen Stranka Dropbox za Linux v CS50 Aparat in teče tako kot vseh naših drugih uporabnikov Linuxa. ALEX Allain: Torej Tako Dropbox deluje, je to teče kot stranko na veliko različnih operacijskih sistemov in naprav. Dropbox desktop stranka ena najbolj znana, in eden od najbolj zanimivo. THOMAS CARRIERO: Torej Dropbox v bistvu traja vse datoteke da si dal v mapo in koščkih te datoteke v štirih megabajt kose. Torej bomo vzeli 100-megabajt Datoteka PDF in se bomo chunk IT v 25 štiri-megabajt kose. Ti kosi se nato šifrirani in Nato smo jih poslali na našem bloku strežnikih. ALEX Allain: Strežniki bloku shramba za bloke same, in da je vsak blok shranjeni v Strežnik blok s podatki in Shaw 356 hash tega bloka. To je zelo osnovni šifriranje primitivna ki povzema, v nekem smislu, podatki v zelo edinstven način To je edinstvena na navedene podatke. Lahko upload celotna slika naenkrat, vendar se izkaže, če vam da, res velike datoteke traja res dolgo časa za nalaganje, in če imate napako, ste od sreče in boste morali ponovno zagnati. Kaj bomo potem storiti je, da povemo en strežnik v našem sistemu, in kar imenujemo metapodatki strežnik, da je to hej datoteka, in je sestavljena iz po seznamu blokov. In smo šli gor haše identificirati tiste bloke namesto ponovnega nalaganje celoten blok. Metaserver nato preveri strežnikov blok, poskrbi bloki so tam. Če so, kot nalašč. Vse je v redu. THOMAS CARRIERO: Ko smo želijo, da v bistvu prenos datotek iz interneta, dajmo recimo, bomo rekli, da se v zadnjem metaserver Prvi, hej mi lahko poveste o tem, kje se nahaja ta datoteka je? In metaserver bo rekel, oh ta datoteka je dejansko 25 štirje MB veliko koščkih, in tukaj so. In potem bomo šli blok strežnik in dejansko prenesti vsako od teh koščkih. In potem bomo rekonstruirati datoteko od tam, in potem bomo začeli prenos. Ja, tako Dropbox poslov z lestvico v bistvu z zelo, zelo agresiven sharding. ALEX Allain: Sharding je, ko sprejmejo vse uporabnike v vašem zagon ali vaše podjetje in morda se Včasih je v eni podatkovni bazi, in da deluje super, dokler vas zadeti določeno število uporabnikov. In res, kaj hočeš storiti, je najti način, razdeli tistim, čez dva baze podatkov, ali morda več kot dva. Idealno bi bilo, dovolj, da si lahko ima vsak uporabnik na svetu. In tako, ko si Shard, kaj morate storiti, je ti najti nek način odločanja katero bazo podatkov, da gredo tisti, ki ne zahteva hitting osrednjo imenik. Ali pa je zelo hiter, poceni look-up centralni imenik. THOMAS CARRIERO: Nikoli nimamo Vse shranjeni v eni podatkovni bazi, ker to je skoraj Nikoli ne grem v merilu. Torej, namesto, kaj bomo storili, je, da vse da se informacije, vse datoteke, ki so shranjeni na metapodatke, Shard čez sto ali tisoče logičnih podatkovnih baz. In to pomeni, da ko imamo zaprosi za podatke porabnika bomo najprej rekli, hej, katero bazo podatkov informacije tega uporabnika shranjena v? Potem bomo pa v bistvu uporabite to odločitev, da gredo Ugotovijo, da se podatkovne zbirke in to je, če se bomo naložiti vse datoteke ali vse metapodatki o datotekah. Torej bomo uporabili veliko sharding. Vendar sharding ni vedno dovolj. Ste dejansko morali predpomnilnik Veliko skupnih zahtev, ker tudi tisti, podatkovna baza Poizvedbe lahko drago Tako smo tudi do agresivnega zajemanje strategije, da se prepričajte, da je večina Skupne zahteve so dokaj enostavno izračunati. In v bistvu, da naredi veliko hitrejši in omogoča delo ex lestvice. Tako da je na zelo na visoki ravni, kako Dropbox deluje. ALEX Allain: Jaz sem Alex Allain. THOMAS CARRIERO: In Jaz sem Thomas Carriero. ALEX Allain: In to je CS50.