THOMAS CARRIERO: Es esmu Thomas Carriero.
Es esmu programmatūras inženieris Dropbox.
>> ALEX ALLAIN: Es esmu Alex Allain.
Es esmu inženieris šeit Dropbox.
>> THOMAS CARRIERO: Jā, es biju faktiski pirmā vadītāja TF par CS50
kad David Malin pārņēma klasi.
Man jau bija mācību CS50 divus semestrus
ar Mike Smith, kurš bija pirms profesors tur.
>> ALEX ALLAIN: Tāpēc es tiešām nebija veikt CS50, bet es tomēr TF to divreiz.
Vienreiz kā regulāru TF, un tad mans vecākais gads
Es biju tiešām vadītājs TF no CS50, kas bija daudz jautrības.
THOMAS CARRIERO: So kad David vērsās
man par izveidot Dropbox ir CS50 ierīces,
Es biju patiesi satraukti, jo mums tiešām ir Linux klients,
tāpēc lielākā daļa no mūsu lietotājiem izmantot vai nu Windows vai Macintosh klientiem,
bet Linux, Macintosh un Windows klienti ir visi patiesībā ir ļoti līdzīgi.
>> Tātad, ko mēs izdarījām ir mums iepriekš instalēta Dropbox Linux klients ir CS50
ierīces, un tas darbojas tāpat kā visiem citiem mūsu Linux lietotājiem.
>> ALEX ALLAIN: So kā Dropbox darbojas tas
darbojas kā klients no daudziem dažādiem operētājsistēmas un ierīces.
Dropbox desktop klients ir viens no labi zināms,
un viens no visvairāk interesanti.
>> THOMAS CARRIERO: So Dropbox galvenokārt veic visus failus
ka jūs likts uz mapi un tas gabalu šos failus četru megabaitu gabalos.
Tātad mēs ņemšu 100 megabaitu PDF fails, un mēs
rieciens to 25 četru megabaitu gabalos.
Šie gabali ir tad šifrēta, un tad mēs tos sūtīt uz mūsu bloka serveriem.
>> ALEX ALLAIN: Bloku serveri pašiem blokiem uzglabāšana,
un tā katrs bloks tiek glabāta bloks serveris ar datiem
un Shaw 356 hash no šī bloka.
Tas ir ļoti pamata šifrēšanas primitīvs kas apkopoti, savā ziņā,
dati ļoti unikālā veidā , kas ir unikāla šiem datiem.
>> Jūs varētu augšupielādēt Visa failu visu uzreiz,
bet izrādās, ja jūs ka, patiešām lieli faili aizņem
ļoti ilgs laiks, lai augšupielādēt, un, ja Jums ir mazspēja, jūs no luck
un jums ir restartēt.
>> Ko mēs tad darīt, ir mums pateikt otru serveri mūsu sistēmā,
un tas, ko mēs saucam metadatus Serveris, ka hey tas ir fails,
un tas sastāv no pēc saraksta blokiem.
Un mēs iet uz augšu hashes identificēt šos blokus
nevis atkārtoti augšupielādējot viss bloks.
Metaserver tad pārbauda bloku serveriem,
pārliecinās, ka bloki ir tur.
Ja tie ir, perfekta.
Viss ir labi.
>> THOMAS CARRIERO: Kad mēs vēlas, lai būtībā lejupielādētu
failu no interneta, pieņemsim teiksim, mēs sakām pēdējā metaserver
pirmkārt, hey, jūs varat man pateikt par to, kur šī faila atrodas?
Un metaserver teiks, ak šis fails ir faktiski 25 četru megabaitu gabalos,
un šeit tie ir.
Un tad mēs iesim bloka serveri un faktiski lejupielādēt katru no šiem gabalos.
Un tad mēs rekonstruēt failu no turienes,
un tad mēs sāktu lejupielādi.
Jā, tāpēc Dropbox darījumu ar skalu pamatā
ko ļoti, ļoti agresīvi sharding.
>> ALEX ALLAIN: Sharding ir tad, kad tu veikt visus lietotājus savā uzsākšanas
vai jūsu uzņēmums, un varbūt viņi izmanto, lai vienā datu bāzē,
un tas darbojas lieliski, kamēr jūs hit noteiktu lietotāju skaitu.
Un tiešām, ko jūs vēlaties jādara, ir atrast kādu veidu,
sadalīt tos divās datu bāzēm, vai, iespējams, ir vairāk nekā divi.
Ideāli, pietiekami, ka jūs varat ir katram lietotājam pasaulē.
>> Un tad, kad tu Shard, ko jūs darāt, ir jums
atrast kādu veidu, lemjot kuru datubāzi iet
to, kas neprasa hitting centrālo direktoriju.
Vai varbūt tas ir ļoti ātrs, lēti meklēt-up centrālo direktoriju.
>> THOMAS CARRIERO: Mums nekad nav viss glabājas vienā datu bāzē,
jo tas ir gandrīz nekad mērogā.
Tā vietā, ko mēs darīsim, ir jāveic visi šī informācija, visi faili, kas
tiek saglabāti uz metadatiem, Shard pāri simtiem
vai tūkstošiem loģisko datu bāzēm.
Un tas nozīmē, ka tad, kad mēs esam pieprasītu lietotāja informāciju,
mēs vispirms teikt, hey, kas datu bāzes Vai šī lietotāja informācija glabājas?
Tad mēs būtībā izmantot šo lēmumu, lai dotos
konstatēt, ka datu bāze un tas ir, ja mēs
ielādēt visus failus vai visus metadati par failus.
>> Tāpēc mēs izmantojam daudz sharding.
Bet sharding ne vienmēr ir pietiekami.
Jums tiešām ir nepieciešams, lai cache daudz kopīgo pieprasījumu,
jo pat tie, datu bāzes vaicājumi var būt dārgi
tāpēc mēs arī to agresīvi notveršanā stratēģijas, lai pārliecinātos, ka visvairāk
kopējie pieprasījumi ir diezgan viegli aprēķināt.
Un būtībā, kas padara daudz ātrāk, un tas padara darbu ex skalu.
Tātad tas ir pie ļoti augsta līmeņa, kā Dropbox darbojas.
>> ALEX ALLAIN: Es esmu Alex Allain.
>> THOMAS CARRIERO: Un Es esmu Thomas Carriero.
ALEX ALLAIN: Un tas ir CS50.