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.