THOMAS CARRIERO: Én vagyok Thomas Carriero.
Én egy szoftver mérnök Dropbox.
>> ALEX ALLAIN: Alex vagyok Allain.
Mérnök vagyok itt a Dropbox.
>> THOMAS CARRIERO: Igen, én voltam valójában az első fej TF CS50
amikor David Malin vette át az osztály.
Én már tanított CS50 két félév
Mike Smith, aki A korábbi tanár ott.
>> ALEX ALLAIN: Szóval tényleg nem hogy CS50, de én TF kétszer.
Ha a rendszeres TF, majd a végzős
Én valójában vezetője TF CS50, ami egy nagyon szórakoztató.
THOMAS CARRIERO: Tehát amikor David kinyújtotta
nekem felállítása Dropbox a CS50 készülék
Nagyon izgatott voltam, mert a valójában egy Linux kliens,
így a legtöbb felhasználó használja vagy A Windows és Macintosh kliensek,
de a Linux, Macintosh és Windows ügyfelek mind valójában nagyon hasonló.
>> Tehát mi volt az, amit előre telepítve A Dropbox Linux ügyfél a CS50
készüléket, és fut, mint Minden más Linux-felhasználók számára.
>> ALEX ALLAIN: Tehát a módon Dropbox működik ez
fut a kliens különböző operációs rendszerek és eszközök.
A Dropbox asztali kliens az egyik jól ismert,
és az egyik legérdekesebb.
>> THOMAS CARRIERO: Tehát Dropbox alapvetően veszi az összes fájl
, hogy tegye a mappában, és törzsdarabok ezeket a fájlokat a négy megabájt darabokat.
Így lesz egy 100 MB-os PDF-fájlt, és mi
darab be 25 négy megabyte darabokat.
Azok a darabokat ezután titkosítva akkor küldje el a blokk szervereket.
>> ALEX ALLAIN: A blokk szerverek a tárolás a blokkok maguk
és így minden egyes blokk van tárolva a blokk szerver az adatokat
és a Shaw 356 hash, hogy a blokk.
Ez egy nagyon egyszerű titkosítási primitív , amely összefoglalja, bizonyos értelemben,
az adatokat egy nagyon egyedi módon ami egyedi az adatokat.
>> Lehet feltölteni a az egész fájlt egyszerre,
de kiderül, ha nem arra, hogy az igazán nagy fájlokat fog
egy nagyon hosszú idő, hogy feltölt, és ha van egy hiba, akkor így jártál
és meg kell újraindítani.
>> Amit akkor nem is mondunk másik szerver a rendszerben,
és hívjuk a metaadatok szervert, hogy hé ez egy fájl,
és ez áll a alábbi lista a blokkok.
És adja át a hash-eket azonosítani azokat a blokkokat
helyett újra feltölteni az egész blokk.
A metaserver akkor ellenőrzi a blokk szerverek,
biztosítja, hogy a blokkok vannak.
Ha igen, tökéletes.
Minden jó.
>> THOMAS CARRIERO: Amikor szeretnénk alapvetően letölteni
A fájlt az interneten, nézzük mondjuk, azt mondom, hogy az utolsó metaserver
először, hé tudsz mondani arról, hogy hol ez a fájl található?
És metaserver azt mondják, ó, ez a fájl a valójában 25 négy megabyte darabokat,
és itt vannak.
Aztán elmegyünk egy blokk szerver és valójában letölt minden egyes ilyen darabokat.
És akkor majd rekonstruálni A fájlt onnan,
és aztán majd indítsa el a letöltést.
Igen, így Dropbox foglalkozik skálával alapvetően
a nagyon, nagyon agresszív sharding.
>> ALEX ALLAIN: Sharding az, amikor hogy minden, a felhasználók a induló
vagy a vállalat, és talán Régen egy adatbázisban,
és ez remekül működik, amíg meg nem megüt egy bizonyos számú felhasználó.
És tényleg, mit akarsz kell tennie, hogy megtalálja a módját,
megosztani azokat az egész két adatbázisok, vagy talán több, mint kettő.
Ideális esetben elég, hogy van-e hogy minden felhasználó a világon.
>> És így ha Szilánk, amit csinálsz te
valamilyen módon a döntés melyik adatbázishoz kell menni
az, amely nem igényel ütő a központi könyvtár.
Vagy talán ez egy nagyon gyors, olcsó look-up központi könyvtárban.
>> THOMAS CARRIERO: Mi soha nem mindent tárolni egy adatbázisban,
mert ez majdnem soha nem fog a skála.
Tehát ahelyett, hogy mit fogunk tennie, hogy minden hogy az információ, a fájlok
tárolt metaadatok, Shard több száz
vagy több ezer logikai adatbázisok.
És ez azt jelenti, hogy van egy kéri a felhasználó adatait,
akkor először azt mondják, hé, amely az adatbázis a felhasználó által tárolt adatok?
Akkor alapvetően használni, hogy a döntést, hogy megy
meg, hogy az adatbázis és itt fogunk
betölteni a fájlokat vagy az összes A metaadatok a fájlokat.
>> Így is rengeteg sharding.
De sharding nem mindig elég.
Ön valóban szükség van a cache sok a közös kérelmek
mert még azok az adatbázis lekérdezések költséges lehet
ezért mi is ezt az agresszív rögzítése stratégiákat, hogy megbizonyosodjon arról, hogy a leginkább
közös kérelmek elég könnyű kiszámolni.
És tulajdonképpen, ami egy csomó gyorsabb, és ez teszi a munka ex skálán.
Szóval ez egy nagyon magas szintű, hogy Dropbox működik.
>> ALEX ALLAIN: Alex vagyok Allain.
>> THOMAS CARRIERO És Én vagyok Thomas Carriero.
ALEX ALLAIN: És ez CS50.