THOMAS Carriero: Mimi Thomas Carriero. Mimi nina mhandisi wa programu katika Dropbox. ALEX Allain: Mimi Alex Allain. Mimi ni mhandisi hapa Dropbox. THOMAS Carriero: Ndiyo, nilikuwa kweli kwanza kichwa TF kwa CS50 Daudi Malin alichukua juu ya darasa. Nilikuwa tayari kufundisha CS50 kwa semesters mbili na Mike Smith, ambaye alikuwa profesa kabla ya hapo. ALEX Allain: Kwa hiyo mimi kwa kweli si kuchukua CS50, lakini mimi TF ni mara mbili. Mara baada ya kama TF mara kwa mara, na kisha mwaka wangu wa mwandamizi Mimi kwa kweli kichwa TF ya CS50, ambayo ilikuwa mengi ya furaha. THOMAS Carriero: Hivyo Daudi kufikiwa nje na mimi kuhusu kuanzisha Dropbox katika CS50 appliance, Mimi kwa kweli nilikuwa msisimko, kwa sababu sisi kweli kuwa Linux mteja, hivyo wengi wa watumiaji wetu kutumia aidha Windows au wateja Macintosh, lakini Linux, Macintosh, na Windows wateja wote ni kweli sawa sana. Hivyo tulichokifanya ni sisi kabla ya imewekwa Dropbox Linux mteja katika CS50 appliance, na anaendesha tu kama yetu yote ya watumiaji wengine Linux. ALEX Allain: Hivyo njia Dropbox kazi ni anaendesha kama mteja juu ya mbalimbali mifumo ya uendeshaji na vifaa. Dropbox desktop mteja ni mmoja wa watu wengi maalumu, na moja ya kuvutia zaidi. THOMAS Carriero: Kwa hiyo Dropbox kimsingi inachukua mafaili yote kwamba kuweka katika folder na chunks files wale katika nne megabyte chunks. Hivyo tutaweza kuchukua 100 megabyte PDF file na tutaweza chunk ndani 25 nne megabyte chunks. Wale chunks ni basi encrypted na kisha sisi kuwatuma kuzuia yetu server. ALEX Allain: watumishi kuzuia ni kuhifadhi kwa ajili ya vitalu wenyewe, na hivyo kuzuia kila ni kuhifadhiwa katika kuzuia server na data na Shaw 356 hash ya kuzuia hiyo. Hiyo ni encryption ya msingi sana primitive kuwa muhtasari wa, katika baadhi ya akili, data kwa njia ya kipekee sana kwamba ya kipekee kwa data hiyo. Unaweza kupakia file zima wote kwa mara moja, lakini zinageuka kama wewe kufanya kwamba, kwa kweli kubwa files kuchukua kweli kwa muda mrefu kupakia, na kama una kushindwa, wewe ni nje ya bahati na una upya yake. Nini sisi basi ni sisi tunasema server nyingine katika mfumo wetu, na kile tunachokiita metadata server, kwamba hey hii ni faili, na ni linajumuisha zifuatazo orodha ya vitalu. Na sisi kupita juu hashes kutambua vitalu wale badala ya re-kuweka kuzuia nzima. metaserver kisha hundi ya kuzuia watumishi, hufanya uhakika vitalu ni huko. Kama wao ni, kamilifu. Kila kitu ni nzuri. THOMAS Carriero: Wakati sisi wanataka kimsingi kushusha file kutoka katika mtandao, hebu kusema, tutaweza kusema kwa metaserver mwisho kwanza, hey unaweza kuniambia kuhusu ambapo iko file huyu? Na metaserver watasema, oh file huu kweli 25 nne megabyte chunks, na hapa ni. Na kisha tutaweza kwenda kuzuia server na kweli kushusha kila chunks hizo. Na kisha tutaweza upya file kutoka huko, na kisha tutaweza kuanza download. Ndiyo, hivyo Dropbox ya mikataba na wadogo kimsingi na sana, sharding fujo sana. ALEX Allain: Sharding ni wakati kuchukua yote ya watumiaji katika kuanza yako up au kampuni yako na labda wao kutumika kuwa katika orodha ya moja, na kwamba kazi kubwa mpaka hit idadi fulani ya watumiaji. Na kwa kweli nini unataka kufanya ni kutafuta baadhi ya njia kugawa wale katika mbili database, au labda zaidi ya miaka miwili. Kusema ukweli, kutosha kwamba unaweza na kila user katika dunia. Na hivyo wakati wewe Shard, nini kufanya ni wewe kutafuta baadhi ya njia ya kuamua ambayo database kwenda kwa hauhitaji kupiga directory ya kati. Au labda ni haraka sana, nafuu kuangalia-up directory ya kati. THOMAS Carriero: Sisi kamwe kuwa kila kitu kuhifadhiwa katika database moja, kwa sababu hiyo karibu kamwe kwenda wadogo. Hivyo badala yake, nini sisi kufanya ni kuchukua kila kwamba habari, files yote ni kuhifadhiwa kwenye metadata, kigae katika mamia au maelfu ya database mantiki. Na hiyo ina maana kwamba wakati tuna kuomba kwa habari ya mtumiaji, tutaweza kusema kwanza, hey ambayo database ni habari mtumiaji huyu kuhifadhiwa katika? Basi tutaweza kimsingi kutumia uamuzi huo kwenda kujua kwamba database na hapo ndipo tutaweza mzigo mafaili yote au yote metadata kuhusu files. Hivyo sisi matumizi mengi ya sharding. Lakini sharding haitoshi daima. Wewe ni kweli haja ya cache mengi ya maombi ya kawaida, kwa sababu hata wale database maswali inaweza kuwa ghali hivyo sisi pia kufanya ukamataji fujo mikakati ya kuhakikisha kwamba wengi maombi ya kawaida ni rahisi kabisa compute. Na kimsingi kwamba inafanya mengi kasi na inafanya kazi wa zamani wadogo. Hivyo kwamba ni katika sana kiwango cha juu cha jinsi Dropbox kazi. ALEX Allain: Mimi Alex Allain. THOMAS Carriero: Na Mimi nina Thomas Carriero. ALEX Allain: Na hii ni CS50.