THOMAS CARRIERO: Aš Tomas Carriero. Aš programinės įrangos inžinierius Dropbox. ALEX Allainą: Aš Aleksas Allainą. Esu inžinierius čia Dropbox. THOMAS CARRIERO: Taip, aš buvau iš tikrųjų pirmasis vadovas TF CS50 Dovydas Malin perėmė klasę. Aš jau dėsto CS50 du semestrus su tuo, kas buvo Mike Smith, prieš profesorius ten. ALEX Allainą: Taigi aš iš tikrųjų ne imtis CS50, bet aš TF jį du kartus. Kai, kaip reguliariai TF, ir tada mano vyresnysis metus Aš iš tikrųjų buvo galvos TF iš CS50, kuris buvo smagi. THOMAS CARRIERO: Taigi Dovydas ištiesė man apie steigiant ZMI į CS50 prietaiso, Man buvo tikrai malonu, nes mes iš tikrųjų turime Linux kliento, todėl dauguma mūsų vartotojų naudoja arba "Windows" arba "Macintosh" klientai, bet Linux, Macintosh ir Windows klientai yra visi iš tikrųjų labai panašūs. Taigi, ką mes padarėme, tai mes iš anksto įdiegta ZMI Linux kliento į CS50 prietaisas ir jis veikia kaip visų mūsų kitų Linux vartotojams. ALEX Allainą: Taigi būdas ZMI veikia tai veikia kaip daug skirtingų klientui operacinės sistemos ir prietaisai. ZMI darbalaukio klientas viena iš labiausiai gerai žinomi, ir vienas iš įdomiausių. THOMAS CARRIERO: Taigi ZMI iš esmės priima visus failus kad jūs įtraukėte į aplanką ir ji Dalys tie failai į keturių megabaitų gabaliukus. Taigi, mes priimsime 100 megabaitai PDF failas, ir mes riekė jį į 25 keturių megabaitų gabaliukus. Šie gabalai yra tada šifruojami ir tada mes siunčiame juos į mūsų bendrąsias serverių. ALEX Allainą: Blokas serveriai patiems blokų saugojimui, ir todėl kiekvienas blokas yra saugomi blokas serveris su duomenų ir Shaw 356 maišos tos blokas. Tai labai paprastas šifravimo primityvus kad apibendrina, tam tikra prasme, Į labai unikaliu būdu duomenys tai unikalus šių duomenų. Jūs galite įkelti Visa failą vienu metu, bet it turns out, jei jūs kad, tikrai didelius failus imtis tikrai ilgai įkelti, ir, jei turite nepakankamumas, jums nesiseka ir turite paleisti jį. Ką tada mes darome, yra pasakojame kitas mūsų sistemos serverio, ir ką mes vadiname metaduomenis serverio, kad ei tai yra byla, ir tai sudaro Toliau pateikiamas sąrašas blokus. Ir mes pass up maišas nustatyti tuos blokus Užuot pakartotinai įkelti visą kvartalą. Metaserver tada tikrina blokas serverius, užtikrina blokai yra ten. Jei jie yra, tobula. Viskas yra gerai. THOMAS CARRIERO: Kai mes nori iš esmės parsisiųsti failą iš interneto, galime tarkim, mes pasakyti į paskutinę metaserver pirma, hey galite man pasakyti apie tai, kur Šis failas yra įsikūrusi? Ir metaserver sakys, oi šį failą s faktiškai 25 keturių megabaitų gabaliukus, ir čia jie. Ir tada mes eiti blokas serverį ir iš tikrųjų parsisiųsti kiekvieną iš šių gabaliukus. Ir tada mes rekonstruoti failą iš ten, ir tada mes pradėti atsisiuntimą. Taip, taip, ZMI sandorių su skale iš esmės iki labai, labai agresyvus sharding. ALEX Allainą: Sharding yra, kai jūs imtis visų vartotojų savo pradžios iki arba jūsų įmonė, o gal jie naudojamas būti vienoje duomenų bazėje, ir kad puikiai veikia, kol jums pasiekė tam tikrą skaičių vartotojams. Ir tikrai tai, ko norite reikia padaryti, tai rasti tam tikru būdu padalinti tiems, dviejuose duomenų bazės, o gal daugiau nei du. Idealiu atveju, pakankamai, kad jūs galite turėti kiekvienam vartotojui pasaulyje. Ir todėl, kai jūs Shard, ką jūs darote, yra jums radote nuspręsti, kaip kuria duomenų baze eiti į kuri nereikalauja pataikyti pagrindinį katalogą. O gal tai labai greitai, pigus išvaizda centrinis katalogas. THOMAS CARRIERO: Mes niekada viskas saugomi vienoje duomenų bazėje, nes tai beveik niekada mastelį. Taigi, vietoj to, ką mes bus padaryti, tai imtis visų kad informacija, visus failus, yra saugomi metaduomenys, Shard per šimtus ar tūkstančių loginių duomenų bazių. Ir tai reiškia, kad, kai mes turime paprašyti naudotojo informacijos mes pirmiausia tarkite: ei, kuri duomenų bazė yra šio vartotojo saugoma informacija? Tada mes iš esmės naudoti tą sprendimą eiti pastebėsite, kad duomenų bazę ir tai, kur mes tikrai įkelti visus failus arba visus Metaduomenys apie failus. Taigi mes naudojame sharding daug. Bet sharding ne visada pakanka. Jūs iš tikrųjų reikia talpyklą bendrų prašymų daug, nes net ir tie, duomenų bazė klausimai gali būti brangus todėl mes taip pat padaryti agresyvią gaudymo strategijas, įsitikinkite, kad labiausiai bendri prašymai gana lengva apskaičiuoti. Ir iš esmės, kad daro daug greičiau ir ji leidžia dirbti ex mastą. Štai tuo labai aukšto lygio, kaip "Dropbox" veikia. ALEX Allainą: Aš Aleksas Allainą. THOMAS CARRIERO: O Aš Tomas Carriero. ALEX Allainą: Ir tai yra CS50.