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.