THOMAS carrier: Som Thomas Carrier. Som softvérový inžinier na Dropbox. ALEX ALLAIN: Ja som Alex Allain. Som inžinier tu na Dropbox. THOMAS carrier: Áno, bol som vlastne prvá hlava TF pre CS50 keď David Malin prevzal triedu. Už som sa učil CS50 dva semestre Mike Smith, ktorý bol pred profesor tam. ALEX ALLAIN: Takže som vlastne robil nie sa CS50, ale dvakrát som to urobil TF to. Potom, čo ako bežné TF, a potom sa môj nadriadený rok Bol som vlastne hlava TF z CS50, čo bolo veľa zábavy. THOMAS Carrier: Tak keď David natiahol mi o nastavenie Dropbox v CS50 spotrebiče Bol som naozaj nadšený, pretože v skutočnosti máme klienta Linux, takže väčšina našich užívateľov používa buď Windows alebo klienti Macintosh, ale Linux, Macintosh a Windows klienti sú v skutočnosti veľmi podobné. Takže to, čo sme urobili je, že sme pre-nainštalované klient Dropbox Linux v CS50 zariadenie, a to beží, rovnako ako všetky naše ostatné užívateľov Linuxu. ALEX ALLAIN: Tak spôsob, ako Dropbox funguje, je to beží ako klient na mnohých rôznych operačné systémy a zariadenia. Desktop klient Dropbox je jeden z najviac dobre známy, a jeden z najzaujímavejších. THOMAS carrier: Tak Dropbox v podstate sa všetky súbory ktoré ste vložili do zložky a kúsky tieto súbory do štyroch megabajt kúsky. Takže budeme mať 100 megabajtov Súbor PDF a my kus do 25 štyri megabajt kúsky. Tieto kusy sú potom šifrovaný a potom poslať do nášho bloku servery. ALEX ALLAIN: Blok servery sú úložisko pre samotné bloky, a preto každý blok je uložený v blok server s dátami a Shaw 356 hash tohto bloku. To je veľmi jednoduchý šifrovací primitívne , Ktorý sumarizuje, v určitom zmysle, dáta vo veľmi jedinečným spôsobom to je jedinečné týchto údajov. Dalo by sa nahrať celý súbor naraz, ale ukázalo sa, ak nechcete že, naozaj veľké súbory zaberajú naozaj dlhá doba nahrať, a ak máte poruchu, máte smolu a musíte ju reštartovať. To, čo potom robiť, je, že sme povedať, iný server v našom systéme, a to, čo nazývame metadáta servera, že hej to je súbor, a to v zložení Nasledujúci zoznam blokov. A my sme prejsť do hodnoty hash identifikovať tie bloky skôr ako re-nahrávanie celý blok. MetaServer potom kontroluje bloku servery, zabezpečuje, že bloky sú tam. Ak sú, perfektné. Všetko je dobré. THOMAS carrier: Keď sme Chcete podstate k stiahnutiu súborov z internetu, nech je to povedzme, budeme hovoriť na posledný MetaServer Prvý, hej môžete mi povedať, o tom, kde sa nachádza tento súbor je? A MetaServer povedia, ach tento súbor je v skutočnosti 25 štyri-megabyte kúsky, a tu sú. A potom pôjdeme blokové servera a skutočne stiahnuť každý z týchto blokov. A potom budeme rekonštruovať súbor odtiaľ, a potom budeme chcete spustiť preberanie. Áno, tak Dropbox obchodov so stupnicou v podstate veľmi, veľmi agresívny sharding. ALEX ALLAIN: Sharding je, keď ste vziať všetkých používateľov vo vašej začiatku až alebo vaša spoločnosť, a možno, že používa sa v jednej databáze, a že funguje skvele, kým hit určitý počet užívateľov. A naozaj to, čo chceš urobiť, je nájsť nejaký spôsob, rozdeliť tie cez dve databázy, alebo možno viac ako dve. V ideálnom prípade tak, že môžete mať každý užívateľ na svete. A tak, keď sa črep, to, čo robíte, je vám nájsť nejaký spôsob, ako rozhodnúť, ktoré databázy ísť sa, že nevyžaduje biť centrálny adresár. Alebo možno, že je to veľmi rýchle, lacné look-up centrálny adresár. THOMAS carrier: Nikdy sme sa všetko uložené v jednej databáze, pretože to je takmer nikdy meradle. Takže namiesto toho, čo budeme robiť, je mať všetky že údaje, všetky súbory, ktoré sú uložené na metadáta, Shard celé stovky alebo tisíce logických databáz. A to znamená, že ak máme žiadosť o informácie užívateľa, budeme najprv povedať, hej, ktoré databázy sú informácie uživatelův uložené v? Potom sme si v podstate použitie tohto rozhodnutia ísť zistíte, že databáza a to je, kde budeme načítať všetky súbory alebo všetky metadáta o súboroch. Tak sme sa použiť veľa sharding. Ale sharding nie je vždy dosť. Ste skutočne potrebujú do medzipamäte veľa spoločných požiadaviek, pretože aj tie databázy Otázky môžu byť drahé tak urobíme aj agresívne snímanie stratégie, aby sa ubezpečil, že najviac spoločné požiadavky sú pomerne ľahko vypočítať. A v podstate, že robí veľa rýchlejšie, a to robí to funguje ex meradlo. Tak to je na veľmi na vysokej úrovni, ako Dropbox funguje. ALEX ALLAIN: Ja som Alex Allain. THOMAS Carrier: A Som Thomas Carrier. ALEX ALLAIN: A je to CS50.