THOMAS CARRIERO: Ninsab Thomas Carriero. Jien inġinier software fuq Dropbox. ALEX ALLAIN: Ninsab Alex Allain. I am inġinier hawn fuq Dropbox. THOMAS CARRIERO: Iva, I kien attwalment l-ewwel TF ras għall CS50 meta David Malin ħadet f'idejha l-klassi. I kienet diġà ġiet tagħlim CS50 għal żewġ semestri ma 'Mike Smith, li kien il-professur qabel hemmhekk. ALEX ALLAIN: So I attwalment ma jieħdu CS50, imma jien ma TF darbtejn. Ladarba bħala TF regolari, u mbagħad sena għolja tiegħi I kien attwalment TF kap ta ' CS50, li kien ta 'gost. THOMAS CARRIERO: So meta David milħuq barra lili dwar it-twaqqif Dropbox fl-appliance CS50, I kien verament eċċitati, minħabba għandna attwalment jkollu klijent Linux, għalhekk ħafna mill-utenti tagħna użu jew Twieqi jew il-klijenti Macintosh, iżda l-Linux, Macintosh, u Windows klijenti huma kollha attwalment simili ħafna. Allura dak li għamilna huwa aħna installat minn qabel il-klijent Dropbox Linux fil-CS50 appliance, u din tmur bħad kollha ta 'utenti tagħna oħra Linux. ALEX ALLAIN: Allura l- mod Dropbox xogħlijiet huwa runs bħala klijent fuq ħafna differenti sistemi operattivi u apparat. Il-klijent desktop Dropbox huwa wieħed mill-aktar magħrufa sew, u waħda mill-aktar interessanti. THOMAS CARRIERO: So Dropbox bażikament jieħu l-fajls li inti tpoġġi fil-folder u biċċiet dawk il-fajls fis-biċċiet erba 'megabytes. Allura aħna ser tagħti 100-megabyte Fajl PDF u aħna ser chunk fis-25 biċċiet erba 'megabytes. Dawk biċċiet huma mbagħad encrypted u allura aħna jibgħathom lill servers blokk tagħna. ALEX ALLAIN: Il-servers blokk huma il-ħażna għall-blokki nfushom, u għalhekk kull blokk hija maħżuna fil- l-server blokk mal-data u Shaw 356 hash ta 'dak blokka. Li l-encryption bażika ħafna primitive li tiġbor fil-qosor, f'xi sens, id-data b'mod ħafna uniku li l-uniku għal dak data. Inti tista 'upload l- fajl sħiħ kollha f'daqqa, iżda jirriżulta jekk inti tagħmel li, fajls verament kbar jieħu żmien twil verament biex ittella, u jekk għandek falliment, int minn xortih u inti għandek terġa 'tibda dan. Dak li aħna mbagħad nagħmlu huwa we tell server ieħor fis-sistema tagħna, u dak li nsejħu l-metadata server, li ħej dan huwa fajl, u huwa magħmul mill- lista li ġejja ta 'blokki. U aħna rrinunzjati l-hashes biex tidentifika dawk il-blokki minflok uploading-ġdid il-blokk kollu. Il metaserver mbagħad kontrolli l-servers kbar, tiżgura l-blokki qegħdin hemm. Jekk huma, perfetta. Kollox huwa tajjeb. THOMAS CARRIERO: Meta aħna tixtieq li bażikament tniżżel l-fajl mill-internet, ejja jiġifieri, aħna ser ngħidu għall-aħħar metaserver ewwel, ħej tista 'tgħidli dwar fejn tinstab din fajl? U metaserver se ngħid, oh tal dan il-fajl attwalment 25 biċċiet erba 'megabytes, u hawn huma. U allura aħna ser imorru server blokk u attwalment tniżżel kull wieħed minn dawk biċċiet. U allura aħna ser jirrikostitwixxu l-fajl minn hemm, u allura aħna ser tibda l-download. Iva, hekk Dropbox 'jittratta bi skala bażikament billi ħafna, sharding aggressivi ħafna. ALEX ALLAIN: Sharding huwa meta inti jieħdu l-utenti fil-bidu tiegħek sa jew kumpanija tiegħek u forsi huma użati biex tkun fid-database waħda, u li xogħlijiet kbir sakemm inti hit ċertu numru ta 'utenti. U verament dak li trid tagħmel hu li ssib xi mod li jaqsam dawk madwar żewġ databases, jew forsi aktar minn tnejn. Idealment, biżżejjed li inti tista ' għandhom kull utent fid-dinja. U hekk meta inti Shard, dak li għandek tagħmel huwa inti issib xi mod biex tiddeċiedi li database li jmorru li li ma tkunx teħtieġ laqtu direttorju ċentrali. Jew forsi huwa malajr ħafna, cheap direttorju ċentrali ħarsa-up. THOMAS CARRIERO: Aħna qatt ma jkollhom kollox maħżuna f'database waħda, minħabba li kważi qatt tmur għall-iskala. Allura minflok, dak li se tagħmel huwa li tieħu kollha dik l-informazzjoni, il-fajls kollha li huma maħżuna fuq il-metadata, Shard madwar l-mijiet jew eluf ta 'databases loġiku. U dan ifisser li meta għandna jitlob għall-informazzjoni ta 'utent, aħna ser ewwel ngħidu, ħej li database hija informazzjoni dan l-utent maħżuna fil-? Imbagħad aħna ser bażikament jużaw dik id-deċiżjoni li jmorru issib li database u li fejn aħna ser tagħbija l-fajls jew kollha l-metadata dwar il-fajls. Allura aħna jużaw ħafna ta 'sharding. Iżda sharding mhuwiex dejjem biżżejjed. Inti fil-fatt bżonn cache ħafna tat-talbiet komuni, minħabba li, anki dawk database mistoqsijiet jistgħu jkunu għaljin hekk aħna wkoll jagħmlu jinqabad aggressivi strateġiji biex tiżgura li l-aktar talbiet komuni huma pjuttost faċli biex tiġi kkalkulata. U bażikament li jagħmel ħafna aktar mgħaġġel u jagħmilha taħdem iskala ex. Allura dak fuq ħafna ta 'livell għoli kif Dropbox xogħlijiet. ALEX ALLAIN: Ninsab Alex Allain. THOMAS CARRIERO: U Jien Thomas Carriero. ALEX ALLAIN: U dan huwa CS50.