THOMAS CARRIERO: Ég er Thomas Carriero. Ég er a hugbúnaður verkfræðingur hjá Dropbox. ALEX Allain: Ég er Alex Allain. Ég er verkfræðingur hér á Dropbox. THOMAS CARRIERO: Já, ég var reyndar fyrsta höfuð TF fyrir CS50 Þegar Davíð Malin tók á bekknum. Ég hafði þegar verið að kenna CS50 fyrir tvær annir við Mike Smith, sem var að fyrrverandi prófessor þar. ALEX Allain: Svo ég gerði í raun ekki taka CS50, en ég gerði TF það tvisvar. Einu sinni sem venjulegur TF, og þá lokaári mínu Ég var reyndar höfuð TF á CS50, sem var mikið gaman. THOMAS CARRIERO: Svo þegar Davíð náði út við mig um að setja upp Dropbox í CS50 tæki, Ég var mjög spenntur, vegna þess að Við höfum í raun Linux viðskiptavinur, svo af notendum okkar nota annaðhvort Windows eða Macintosh viðskiptavinum, en Linux, Macintosh og Windows viðskiptavinir eru í raun mjög svipuð. Svo er það sem við gerðum við fyrirfram uppsett á Dropbox Linux viðskiptavinur í CS50 tæki, og það rennur bara eins og allar aðrar Linux notendum okkar. ALEX Allain: Svo vegur Dropbox virkar það keyrir eins og a viðskiptavinur á mörgum mismunandi stýrikerfi og tæki. The Dropbox skrifborð viðskiptavinur er einn af the heilbrigður þekktur, og einn af the áhugaverður. THOMAS CARRIERO: Svo Dropbox grundvallaratriðum tekur allar skrár sem þú setur í möppu og það bitum þær skrár í fjögurra megabæti klumpur. Þannig að við munum taka a 100-megabæti PDF skrá og við munum klumpur það í 25 fjögurra megabæti klumpur. Þeir klumpur eru síðan dulkóðaðar og þá erum við að senda þau til að loka netþjónum okkar. ALEX Allain: The blokk netþjónum eru geymslu fyrir blokkir sjálfir, og svo hver blokk er geymt í blokk miðlara með gögn og Shaw 356 kjötkássa af því blokk. Það er mjög einfalt dulkóðun frumstæð að samantekt, í einhverjum skilningi, gögnin á mjög einstakan hátt sem er einstakt við þessi gögn. Þú getur hlaða hana heild skrá allt í einu, en það kemur í ljós ef þú gerir Það, virkilega stór skrá taka mjög langan tíma til að hlaða, og ef þú hafa a bilun, þú ert út af heppni og þú þarft að endurræsa það. Það sem við gerum þá er að við segja annar framreiðslumaður í kerfi okkar, og það sem við köllum lýsigögn miðlara, að hey þetta er a skrá, og það er samsett af Eftirfarandi listi yfir blokkir. Og við framhjá upp kjötkássa að skilgreina þá blokkir fremur en með tilvísun til-senda allt blokk. The metaserver þá fer yfir blokk netþjóna, gerir viss blokkir eru þar. Ef þeir eru, fullkomin. Allt er gott. THOMAS CARRIERO: Þegar við vilt í rauninni að sækja skrá af internetinu, við skulum segja, munum vér segja við síðasta metaserver fyrst, hey getur þú sagt mér um hvar staðsett Þessi skrá er? Og metaserver mun segja, ó þessa skrá er í raun 25 fjögurra megabæti klumpur, og hér eru. Og þá munum við fara blokk miðlara og raunverulega sækja hvert þessara klumpur. Og þá munum við endurbyggja skráin þaðan, og þá munum við hefja niðurhalið. Já, svo Dropbox tilboðin með mælikvarða grundvallaratriðum með mjög, mjög árásargjarn sharding. ALEX Allain: Sharding er þegar þú taka alla notendur í byrjun upp eða þitt fyrirtæki og ef til vill þeir er notað til að vera í einni gagnagrunninum, og það virkar fínt þar til þú högg ákveðinn fjölda notenda. Og virkilega það sem þú vilt að gera er að finna einhverja leið að skipta þeim yfir tvo gagnagrunna, eða kannski meira en tveir. Fullkomlega, nóg að þú getur hafa hvern notanda í heiminum. Og svo þegar þú Shard, hvað þú gerir er þér finna einhverja leið til að ákveða sem gagnagrunn til að fara að þessi hjartarskinn ekki þurfa hitting miðlæga skrá. Eða kannski er það mjög fljótur, ódýr líta upp Mið skrá. THOMAS CARRIERO: Við höfum aldrei allt geymt í einum gagnagrunni, því það er nánast aldrei að fara að skala. Svo í stað, hvað við munum gera er að taka allt að upplýsingar, allar skrárnar sem eru geymdar á lýsigögn, Shard yfir hundrað eða þúsundir rökrétt gagnagrunna. Og það þýðir að þegar við höfum Beiðni um upplýsingar notanda, við munum fyrst segja, hey sem gagnagrunnur eru upplýsingar notanda geymdar í? Þá munum við í rauninni nota þá ákvörðun að fara finna þessi gagnagrunnur og það er þar sem við munum hlaða allar skrár eða allt lýsigögn um skrár. Svo við notum mikið af sharding. En sharding er ekki alltaf nóg. Þú ert í raun þarft að skyndiminni A einhver fjöldi af the sameiginlegur beiðnir, því jafnvel þeir gagnagrunni fyrirspurnir geta verið dýr þannig að við gerum líka árásargjarn handtaka aðferðir til að tryggja að sem mest algengar beiðnir eru auðvelt að reikna. Og í rauninni gerir það mikið hraðar og það gerir það að vinna fyrrverandi mælikvarða. Svo er það á mjög háttsettum hvernig Dropbox virkar. ALEX Allain: Ég er Alex Allain. THOMAS CARRIERO: Og Ég er Thomas Carriero. ALEX Allain: Og þetta er CS50.