THOMAS Carriero: Ma olen Thomas Carriero. Olen tarkvara insener Dropbox. ALEX ALLAIN: Ma olen Alex Allain. Olen insener siin Dropbox. THOMAS Carriero: Jah, ma olin tegelikult esimene juht TF CS50 kui David Malin võttis üle klassi. Mul oli juba õpetanud CS50 kaks semestrit Mike Smith, kes oli Enne professor seal. ALEX ALLAIN: Ma tegelikult ei võtta CS50, kuid ma ei TF see kaks korda. Kui tavalise TF, ja siis minu vanemate aastas Ma olin tegelikult pea TF kohta CS50, mis oli väga lõbus. THOMAS Carriero: So kui David ulatasid mulle seadistamise kohta Dropbox on CS50 seadme Olin väga põnevil, sest meil tegelikult on Linux klient, nii enamik meie kasutajatele kasutada kas Windows või Macintosh klientidele kuid Linux, Macintosh ja Windows kliendid on kõik tegelikult väga sarnased. See, mida me tegime: eelinstalleeritud Dropbox Linux kliendi CS50 seadme ja see töötab nagu kõik meie teised Linuxi kasutajad. ALEX ALLAIN: So tee Dropbox töötab, on see jookseb kui klient on palju erinevaid operatsioonisüsteemide ja seadmeid. Dropbox desktop kliendile on üks kõige tuntum, ja üks kõige huvitavam. THOMAS Carriero: Nii Dropbox põhimõtteliselt võtab kõik failid et paned kausta ja see tükkideks need failid neli megabaiti tükkideks. Nii et me võtame 100-megabaidine PDF-faili ja me patakas see 25 neli megabaiti tükkideks. Need tükid on siis krüpteeritud ja siis saatke need meie blokk servereid. ALEX ALLAIN: plokk serverid ladustamise plokid ise ja nii iga plokk on salvestatud plokk server koos andmetega ja Shaw 356 hash selle blokeerida. See on väga lihtne krüpteerimine primitiivne , mis võtab kokku, mõnes mõttes, andmeid väga originaalsel moel , mis on unikaalne, et andmed. Sa võid üles laadida kogu pilti korraga kuid selgub, kui sa et tõesti suuri faile võtta väga palju aega laadida, ja kui teil on rike, siis oled õnne ja sa pead uuesti käivitada. Mida me siis teha, on meil öelda teine ​​server meie süsteemis, ja see, mida me nimetame metaandmed server, et hei see on fail, ja see koosneb Järgnev loetelu plokke. Ja me mööda üles räsisid teha kindlaks need plokid mitte uuesti üleslaadimist kogu plokk. Metaserver siis kontrollib plokk serverid tagab plokid on seal. Kui nad on, täiuslik. Kõik on hea. THOMAS Carriero: Kui me tahan põhiliselt alla fail internet, olgem ütleme, me ütleme, et viimase metaserver Esiteks hey kas sa mulle öelda kohta, kus see fail asub? Ja metaserver ütlevad, oh seda faili tegelikult 25 neli megabaiti tükkideks, ja siin nad on. Ja siis me lähme plokk server ja tegelikult alla laadida kõik need tükkideks. Ja siis me taastada file sealt ja siis me alustada allalaadimist. Jah, nii Dropbox tehinguid skaala põhiliselt väga, väga agressiivne sharding. ALEX ALLAIN: Sharding on siis, kui võtma kõik kasutajad oma alustamiseks või teie ettevõtte ja võib-olla nad kasutatakse olla ühes andmebaasis ja mis töötab hästi, kuni sa tabanud teatud hulk kasutajaid. Ja tõesti, mida sa tahad tegema, on leida õige viis jagada neid üle kahe andmebaasid, või võib-olla rohkem kui kaks. Ideaalis küll, et saate on iga kasutaja kogu maailmas. Ja kui sa Kild mida te teete, on teil leida õige viis otsustamisel mis andmebaasis minna et see ei nõua lööb keskne kataloog. Või äkki see on väga kiire, odav look-up keskne kataloog. THOMAS Carriero: Me ei ole kunagi kõik salvestatud ühe andmebaasi sest see on peaaegu kunagi mõõtkavas. Nii et selle asemel, mida me teeme, on võtta kõik et teave, kõik failid salvestatakse metaandmete Kildu sadades või tuhandeid loogiline andmebaase. Ja see tähendab, et kui meil on taotlema kasutaja andmed, me kõigepealt öelda, hei, mida andmebaas Kas see on kasutaja andmed salvestatakse? Siis me põhimõtteliselt kasutada, et otsus minna leiavad, et andmebaas ja see on koht, kus me laadida kõik failid või kõik metaandmete failid. Nii et me kasutame palju sharding. Aga sharding ei ole alati piisav. Sa tegelikult vaja vahemälu palju ühiseid taotlustest sest isegi need andmebaas päringuid võib olla kulukas nii teeme ka agressiivne hõivamine strateegiate veenduda, et kõige ühine taotlused on üsna lihtne arvutada. Ja põhimõtteliselt, et teeb palju kiiremini ja see muudab töö ex skaalal. Nii et see on väga kõrgetasemeline kuidas Dropbox töötab. ALEX ALLAIN: Ma olen Alex Allain. THOMAS Carriero Ja Ma olen Thomas Carriero. ALEX ALLAIN: Ja see on CS50.