THOMAS CARRIERO: Mi estas Thomas Carriero. Mi estas softvara inĝeniero en Demetujo. ALEX Allain: Mi estas Alex Allain. Mi estas inĝeniero tie ĉe Demetujo. THOMAS CARRIERO: Jes, mi estis efektive la unua estro TF por CS50 Kiam David Malin transprenis la klaso. Mi jam estis instruanta CS50 por du sesmonatoj kun Mike Smith, kiu estis la antaŭan instruiston tie. ALEX Allain: Do mi efektive ne preni CS50, sed mi faris TF ĝin dufoje. Iam kiel regula TF, kaj tiam mia lasta jaro Mi estis vere kapo TF el CS50, kiu estis tre amuza. THOMAS CARRIERO: Tiel Kiam David etendis al mi pri starigadon Demetujo en la CS50 aparaton, Mi estis vere ekscititaj, ĉar ni efektive havas Linukson kliento, tial la plimulto de niaj uzantoj uzi aŭ Vindozo aŭ Makintoŝo klientoj, sed la Linukso, Makintoŝo kaj Vindozo klientoj estas ĉiuj vere tre similaj. Do, kion ni faris estas ni pre-instalita la Demetujo Linukso kliento en la CS50 aparato, kaj kuras nur kiel ĉiuj niaj aliaj uzantoj de Linukso. ALEX Allain: Do la vojo Demetujo laboras estas runs kiel kliento sur multaj malsamaj operaciumoj kaj aparatoj. La Demetujo labortablo kliento estas unu el la plej bone konataj, kaj unu el la plej interesaj. THOMAS CARRIERO: Do Demetujo baze prenas ĉiujn dosierojn ke vi metu en la dosierujo kaj chunks tiujn dosierojn en kvar-megabajto pecoj. Do ni devos preni la 100-megabajto PDF-dosieron kaj ni chunk ĝin en 25 kvar-megabajto pecoj. Tiuj pecoj estas poste ĉifrita kaj tiam ni sendos ilin al nia bloko serviloj. ALEX Allain: La forbaro serviloj estas la stokado por la blokoj sin, kaj tiel ĉiu bloko estas stokita en la bloko servilo kun la datumoj kaj Shaw 356 hash de tiu bloko. Tio estas tre baza ĉifrado primitiva kiu resumas, iusence, la datumoj en tre unika vojo tio estas unika al tiu datumo. Vi povus alŝuti la tutan dosieron ĉiuj samtempe, sed ĝi rezultas, se vi faras ke, vere grandaj dosieroj preni vere longa tempo por alŝuti, kaj se vi havas la fiasko, vi estas el sorto kaj vi devas restartigi ĝin. Kion ni faru do estas ni diru alia servilo en nia sistemo, kaj kion ni nomas la metadatumojn servilo, por ke hey ĉi estas arkivo, kaj ĝi estas formita de la sekvanta listo de blokoj. Kaj ni pasas la hashes identigi tiujn blokojn anstataŭ re-alŝutas la tutan blokon. La metaserver tiam kontrolas la bloko serviloj, certigas la blokoj estas tie. Se ili estas, perfekta. Ĉio estas bona. THOMAS CARRIERO: Kiam ni volas baze elŝuti la dosieron el la interreto, ni diru, ni diros al la lasta metaserver unue, hey vi povas diri al mi, pri kie tiu dosiero lokita? Kaj metaserver diros: Ho, ĉi tiu dosiero efektive 25 kvar-megabajto pecoj: kaj ĉi tie ili estas. Kaj tiam ni iros bloko servilo kaj reale elŝuti ĉiun el tiuj pecoj. Kaj tiam ni devos rekonstrui la dosieron de tie, kaj tiam ni povos komenci la download. Jes, do Demetujo de efo kun skalo esence per tre, tre agresema sharding. ALEX Allain: Sharding estas kiam vi preni ĉiujn de la uzantoj en via komenco supren aŭ vian entreprenon kaj eble ili kutimis esti en unu datumbazo, kaj tio funkcias granda ĝis vi batis certan nombron de uzantoj. Kaj vere, kion vi volas fari estas trovi iun manieron dividi tiujn trans du datumbazoj, aŭ eble pli ol du. Ideale, sufiĉas ke vi povas havi ĉiun uzanton en la mondo. Kaj do, kiam vi Shard, kion vi faras estas vi trovi iun manieron de decidanta kiu datumbaza iri al kiu ne postulas bati centra dosierujo. Aŭ eble ĝi estas tre rapida, malmultekosta rigardo-supren centra dosierujo. THOMAS CARRIERO: Neniam ni havas ĉiun stokitaj en unu datumbazo, ĉar tio estas preskaŭ neniam tuj grimpi. Do anstataux, kion ni faros estas preni la tutan tiun informon, ĉiuj dosieroj estas konservataj en la metadatumojn, Shard trans centojn aŭ miloj da logikaj datumbazoj. Kaj tio signifas ke kiam ni havas peti por uzanto informojn, ni unue diru, hey kiu datumbaza Estas ĉi tiu uzanto informojn stokitaj en? Tiam ni esence uzos tiun decidon iri trovi tiun datumbazon kaj tie estas kie ni ŝarĝi ĉiuj dosieroj aŭ ĉiuj la metadatumojn pri la dosierojn. Do ni uzu multan sharding. Sed sharding ne ĉiam sufiĉas. Vi vere bezonas caché multon el la komunaj petoj, ĉar eĉ tiuj datumbazo pridemandojn povas esti multekosta tiel same ni ankaux faru agresema kaptante strategiojn por certigi ke la plej komuna petoj estas tute facila al komputi. Kaj esence kiu faras multan rapida kaj tio faras ĝin labori eks skalo. Do tio estas je tre altnivelaj kiom Demetujo funkcias. ALEX Allain: Mi estas Alex Allain. THOMAS CARRIERO: Kaj Mi estas Thomas Carriero. ALEX Allain: Kaj jen estas CS50.