THOMAS Carriero: Ja sam Thomas Carriero. Ja sam softverski inženjer u Dropbox. ALEX Allain: Ja sam Alex Allain. Ja sam inženjer ovdje na Dropbox. THOMAS Carriero: Da, bio sam zapravo prva glava TF za CS50 kada je David Malin preuzeo razred. Već sam učio CS50 za dva semestra Mike Smith, koji je bio prije profesor tamo. ALEX Allain: Pa ja zapravo nije potrajati CS50, ali sam ga dva puta TF. Jednom kao redoviti TF, i onda mi je na zadnjoj godini Bio sam zapravo glava TF od CS50, što je jako zabavno. THOMAS Carriero: Tako kada je David posegnuo mi o postavljanju Dropbox u CS50 uređaja, Bio sam jako uzbuđen, jer mi zapravo Linux klijenta, tako da većina naših korisnika koristiti bilo Windows ili klijenti Macintosh, ali Linux, Macintosh i Windows klijenti su zapravo vrlo slični. Dakle, ono što smo napravili je da smo unaprijed instaliran Dropbox Linux klijent u CS50 aparata, i to radi baš kao i sve naše ostale korisnike Linux. ALEX Allain: Tako način Dropbox radi je to radi kao klijent na mnogo različitih operacijski sustavi i uređaji. Dropbox desktop klijent jedna od najpoznatijih, i jedan od najzanimljivijih. THOMAS Carriero: Tako Dropbox osnovi traje sve datoteke da li staviti u mapu i to komade te datoteke u četiri megabajta komade. Dakle, mi ćemo se 100 megabajta PDF datoteku i mi ćemo Komad ga u 25-četiri megabajt komade. Ti komadi onda su šifrirani i onda ćemo ih poslati na našim tiskanim poslužiteljima. ALEX Allain: Blok poslužitelji spremište za samih blokova, pa svaki blok se pohranjuju u blok poslužitelj s podacima i Shaw 356 hash tog bloka. To je vrlo osnovni enkripcija primitivni koja sažima, u nekom smislu, podaci u vrlo jedinstven način to je jedinstven za te podatke. Ti bi mogao uploadati Cijela datoteka odjednom, ali ispada ako to učinite da, stvarno velike datoteke zauzimaju jako dugo vremena za učitavanje, a ako imate neuspjeh, ti si od sreće i morate ga ponovo pokrenuti. Što ćemo onda je možemo reći drugi poslužitelj u našem sustavu, i ono što mi zovemo metapodataka poslužitelja, da hej ovo je sliku, a sastoji se od Sljedeći popis blokova. I prolazimo gore hashes identificirati one blokove nego re-upload cijeli blok. Metaserver zatim provjerava blok poslužitelje, čini da su blokovi su tu. Ako jesu, savršena. Sve je dobro. THOMAS Carriero: Kad smo žele preuzeti osnovi datoteka s Interneta, neka je recimo, mi ćemo reći da se u posljednje metaserver Prvo, hej može li mi reći o tome gdje se nalazi ova datoteka je? I metaserver će reći, oh ovu sliku je zapravo 25 četiri megabajta komade, a ovdje su. A onda ćemo otići blok poslužitelja i zapravo preuzeti svaki od tih komade. I onda ćemo rekonstruirati file od tamo, i onda ćemo početi s preuzimanjem. Da, tako Dropbox od ponude ljestvicom osnovi po vrlo, vrlo agresivna sharding. ALEX Allain: Sharding je kada poduzeti sve korisnike u svoj start up ili vaša tvrtka, a možda i oni Nekada je to bilo u jednoj bazi podataka, i to radi super, dok vas pogodio određeni broj korisnika. I stvarno ono što želite učiniti je pronaći neki način podijeliti onima preko dva baze podataka, ili možda i više od dva. U idealnom slučaju, dovoljno je znati imati svaki korisnik u svijetu. I tako kad Shard, ono što trebate učiniti je vas naći neki način odlučivanja koja baza ići za koji ne zahtijeva udaranje središnji katalog. Ili je to možda vrlo brzo, jeftini pregledna središnja imenik. THOMAS Carriero: Mi nikada sve se pohranjuju u jednu bazu podataka, jer to je gotovo nikada ne ide na ljestvici. Dakle, umjesto toga, ono što ćemo učiniti je poduzeti sve te informacije, sve datoteke pohranjuju se na metapodacima, Krhotina na stotine ili tisuće logičkih baza podataka. A to znači da, kada imamo Zahtjev za korisnika informacija, prvo ću reći, hej koja se baza podataka Je li to Korisnički podaci pohranjeni u? Onda ćemo osnovi koristiti tu odluku otići pronaći tu bazu podataka i to je mjesto gdje ćemo se učitati sve datoteke ili sve metapodataka o datotekama. Dakle, mi koristimo puno sharding. Ali sharding nije uvijek dovoljno. Vi zapravo potrebno za cache puno zajedničkih zahtjeva, jer čak i oni baze upita može biti skupo tako smo i učinili agresivno hvatanje strategije kako bi bili sigurni da je većina zajednički zahtjevi vrlo lako izračunati. A zapravo se to čini puno brže i što ga čini rad ex ljestvicu. Tako da je na vrlo na visokoj razini kako Dropbox radi. ALEX Allain: Ja sam Alex Allain. THOMAS Carriero: A Ja sam Thomas Carriero. ALEX Allain: I ovo je CS50.