THOMAS CARRIERO: Јас сум Томас Carriero. Јас сум софтверски инженер во Dropbox. ALEX Ален: Јас сум Алекс Ален. Јас сум инженер тука во Dropbox. THOMAS CARRIERO: Да, бев всушност првиот шеф ТФ CS50 кога Дејвид Малин презеде класа. Јас веќе се предава CS50 за два семестри со Мајк Смит, кој беше претходна професор таму. ALEX Ален: Па јас всушност не се CS50, но јас не ТФ тоа двапати. Еднаш како редовен ТФ, а потоа мојот постар година Јас всушност главата ТФ на CS50, кој беше многу забавно. THOMAS CARRIERO: Значи Кога Давид стигна ми за поставување Dropbox во CS50 апаратот, Бев навистина возбуден, бидејќи ние всушност имаат клиент Линукс, па повеќето од нашите корисници се користи или Windows или Macintosh клиенти, но Linux, Macintosh и Windows клиенти се сите всушност многу слични. Значи она што го правевме е ние пред-инсталиран на клиентот Dropbox Линукс во CS50 апаратот, и тоа работи само како и сите наши други корисници на Линукс. ALEX Ален: Па начин Dropbox работи е тоа работи како клиент на многу различни оперативни системи и уреди. На Dropbox десктоп клиентот е една од најпознатите добро познато, и една од најинтересните. THOMAS CARRIERO: Значи Dropbox во основа ги зема сите датотеки што ќе се стави во папка и тоа парчиња оние датотеки во четири мегабајти парчиња. Па ние ќе ги 100-мегабајти PDF датотека и ние ќе парче на тоа во 25 со четири мегабајти парчиња. Оние парчиња потоа се шифрираат и тогаш ние да ги испратите на нашиот блок сервери. ALEX Ален: Блокот сервери се складирање за самите блокови, и така секој блок се чуваат во блок сервер со податоци и Шо 356 хаш на тој блок. Тоа е многу основни енкрипција примитивни дека резимира, во извесна смисла, податоците во многу уникатен начин кое е уникатно за податоците. Вие би можеле да испратите целата датотека одеднаш, но излегува ако не тоа, навистина големи датотеки земе навистина долго време за да испратите, и ако имате неуспех, ти си надвор од среќа и што треба да го рестартирате. Она што ние тогаш да направите е да го кажете друг сервер во нашиот систем, и она што ние го нарекуваме метаподатоци серверот, која еј ова е датотека, и тоа е составен од Следнава листа на блокови. И ние помине до хашови да се идентификуваат оние блокови наместо повторно да се постават целиот блок. На metaserver потоа проверува блок сервери, прави сигурни дека блокови се таму. Ако тие се, совршен. Сè е добро. THOMAS CARRIERO: Кога ќе сакате да основа преземете на датотека од интернет, да да речеме, ќе речеме на последниот metaserver прво, еј можеш да ми кажеш за тоа каде се наоѓа оваа датотека е? И metaserver ќе каже, ох оваа датотека е всушност 25 четири-мегабајти парчиња, и тука тие се. А потоа ќе одиме на еден блок на серверот и всушност преземете секоја од овие парчиња. А потоа ние ќе се реконструираат датотека од таму, а потоа ние ќе го започнете преземањето. Да, Dropbox на договори со скала во основа од страна на многу, многу агресивен sharding. ALEX Ален: Sharding е кога ќе ги преземе сите на корисници во вашата стартување или вашата компанија, а можеби и тие користи за да се во една база на податоци, и дека работи одлично, додека не се хит на одреден број на корисници. И навистина она што го сакате да направите е да се најде некој начин да се подели на оние во две бази на податоци, или можеби повеќе од две. Идеално, доволно што може да имаат секој корисник во светот. И така кога ќе фрагмент, она што го правите е што најде некој начин на одлучување која база на податоци да се оди за тоа не бара притискање на централната директориум. Или можеби е многу брз, евтини погледнете-up централна директориум. THOMAS CARRIERO: Ние никогаш не треба сè што се чуваат во една база на податоци, затоа што тоа е речиси никогаш нема да скала. Така, наместо, она што ќе го направите е да ги преземе сите таа информација, сите датотеки што се чуваат на метаподатоци, Парче низ стотици или илјадници логички бази на податоци. А тоа значи дека кога имаме барање за информации на корисникот, ние прво ќе кажам, еј која база на податоци е информации на овој корисник се чуваат во? Потоа ќе основа ја користат таа одлука да се оди најдете дека базата на податоци и тоа е каде што ќе товар на сите датотеки или сите метаподатоци за датотеки. Па ние ги користиме многу sharding. Но sharding не е секогаш доволно. Вие сте всушност треба да кешот многу од заедничките барања, бидејќи дури и оние база на податоци прашања може да биде скапо па ние исто така, направи агресивен фаќањето стратегии за да бидете сигурни дека повеќето заеднички барања се сосема лесно да се пресмета. И во основа што го прави многу побрзо и тоа го прави работат екс скала. Па тоа е во многу на високо ниво како Dropbox работи. ALEX Ален: Јас сум Алекс Ален. THOMAS CARRIERO: И Јас сум Томас Carriero. ALEX Ален: И ова е CS50.