THOMAS CARRIERO: Jam Thomas Carriero.
Unë jam një inxhinier software në Dropbox.
>> ALEX Allain: Unë jam Alex Allain.
Unë jam një inxhinier këtu në Dropbox.
>> THOMAS CARRIERO: Po, unë kam qenë në fakt TF parë kreu për CS50
kur Davidi Malin mori klasën.
Unë tashmë ishte mësuar CS50 për dy semestra
me Mike Smith, i cili ishte profesor para atje.
>> ALEX Allain: Kështu që unë në fakt nuk e kam marrë CS50, por unë e bëri TF atë dy herë.
Pasi si TF rregullt, dhe pastaj viti im i lartë
Unë kam qenë në fakt TF kreu i CS50, e cila ishte një shumë e fun.
THOMAS CARRIERO: Pra, Kur Davidi arriti jashtë
për mua në lidhje me ngritjen e Dropbox në aplikim CS50,
Unë kam qenë i ngacmuar me të vërtetë, sepse ne fakt kemi një klient Linux,
kështu që shumica e përdoruesve tanë përdorin ose Dritaret apo klientët Macintosh,
por Linux, Macintosh, dhe Windows klientët janë të gjitha në të vërtetë shumë të ngjashme.
>> Pra, ajo që ne e bëmë ne është para-instaluar klienti Dropbox Linux në CS50
aplikim, dhe ai shkon vetëm si të gjithë përdoruesit e tjerë tona Linux.
>> ALEX Allain: Pra, mënyrë Dropbox punon është ajo
shkon si një klient në shumë të ndryshme sistemeve operative dhe pajisjet.
Desktop klient Dropbox është një nga më të njohur mirë,
dhe një nga më interesante.
>> THOMAS CARRIERO: Pra Dropbox në thelb merr të gjitha dosjet
që ju të vënë në dosje dhe chunks ato fotografi në chunks katër-megabyte.
Pra, ne do të marrin një 100-megabyte PDF fotografi dhe ne do të
copë atë në 25 chunks katër-megabyte.
Këto chunks atëherë janë të koduara dhe atëherë ne dërgoni ato në serverat tanë bllok.
>> ALEX Allain: Serverat bllok janë magazinimit për vetë blloqe,
dhe kështu çdo bllok është e ruajtur në server bllok me të dhënat
dhe një hash Shaw 356 të këtij blloku.
Kjo është një encryption shumë bazë primitive që përmbledh, në një kuptim,
të dhënat në një mënyrë shumë të veçantë kjo është unike për këto të dhëna.
>> Ju mund të ngarkoni tërë fotografi të gjitha përnjëherë,
por rezulton në qoftë se ju bëni që, fotografi të vërtetë të mëdha të
një kohë të vërtetë e gjatë për të ngarkoni, dhe në qoftë se ju keni një dështim, ju jeni nga fat
dhe ju duhet të rinisni atë.
>> Ajo që ne pastaj të bëjë është që të themi: një tjetër server në sistemin tonë,
dhe ajo që ne e quajmë metadata server, se hej kjo është një fotografi,
dhe është e përbërë nga pas listën e blloqeve.
Dhe ne të kalojë deri hashes për të identifikuar ato blloqe
në vend se të ri-ngarkimi i gjithë blloku.
Metaserver pastaj kontrollon servers bllok,
bën të sigurt blloqet janë atje.
Nëse ata janë, të përsosur.
Çdo gjë është e mirë.
>> THOMAS CARRIERO: Kur ne doni të shkarkoni në thelb
fotografi nga interneti, le të thonë, ne do të thonë se në metaserver fundit
parë, hey mund të më thoni se ku gjendet e skedës?
Dhe metaserver do të thonë, oh këtë fotografi të në të vërtetë 25 chunks katër-megabyte,
dhe këtu janë ata.
Dhe pastaj ne do të shkojnë një server bllok dhe në të vërtetë shkarko secili prej këtyre chunks.
Dhe pastaj ne do të rindërtojnë fotografi nga atje,
dhe pastaj ne do të filluar shkarkimin.
Po, kështu që Dropbox e marrëveshjeve me shkallë në thelb
nga shumë, sharding shumë agresive.
>> ALEX Allain: Sharding është kur ju të marrë të gjithë përdoruesit në fillimin tuaj
ose kompania juaj dhe ndoshta ata përdoret për të qenë në një bazë të dhënash,
dhe që vepra të mëdha deri sa ju goditur një numër të caktuar të përdoruesve.
Dhe me të vërtetë atë që ju dëshironi të bëni është të gjejnë ndonjë mënyrë
për të ndarë ato në të dy Bazat e të dhënave, ose ndoshta më shumë se dy.
Në mënyrë ideale, të mjaftueshme që ju mund të kanë çdo përdorues në botë.
>> Dhe kështu që kur ju copë e thyer, atë që ju bëni është të ju
të gjejnë një mënyrë për të vendosur të cilat baza e të dhënave për të shkuar
të që nuk kërkon goditur një drejtori qendrore.
Apo ndoshta kjo është një shumë të shpejtë, Drejtoria qendrore look-up të lirë.
>> THOMAS CARRIERO: Ne kurrë nuk kemi çdo gjë ruhet në një bazë të dhënash,
sepse kjo është pothuajse e kurrë nuk përhapet.
Pra në vend të kësaj, ajo që ne do të bëjmë është të marrë të gjitha se informatat, të gjitha dosjet që
ruhen ne metadata, copë e thyer nëpër qindra
ose mijëra të bazave të të dhënave logjike.
Dhe kjo do të thotë se kur ne kemi një kërkesë për informacion të një përdoruesi,
ne do të themi së pari, hej cilat baza e të dhënave është informata e perdoruesit ruajtur në?
Pastaj ne do të në thelb përdorin atë vendim për të shkuar
të gjeni se bazën e të dhënave dhe kjo është ajo ku ne do të
ngarkesës të gjitha dosjet apo të gjithë metadata për fotografi.
>> Pra, ne përdorim një shumë të sharding.
Por sharding nuk është gjithmonë e mjaftueshme.
Ju në fakt jeni nevojë për të cache një shumë e kërkesave të përbashkëta,
sepse edhe ata të bazës së të dhënave pyetje mund të jetë i shtrenjtë
kështu që ne gjithashtu bëjmë kapjen agresive strategjitë për të siguruar që më
kërkesa të zakonshme janë shumë e lehtë për të llogaritur.
Dhe në thelb që e bën shumë më të shpejtë dhe kjo e bën atë punë ex shkallë.
Pra, kjo është në një shumë të i nivelit të lartë si punon Dropbox.
>> ALEX Allain: Unë jam Alex Allain.
>> THOMAS CARRIERO: Dhe Unë jam Thomas Carriero.
ALEX Allain: Dhe kjo është CS50.