1 00:00:00,000 --> 00:00:00,409 2 00:00:00,409 --> 00:00:01,950 THOMAS Carriero: Mən Thomas Carriero deyiləm. 3 00:00:01,950 --> 00:00:03,640 Mən Dropbox bir proqram mühəndis oldum. 4 00:00:03,640 --> 00:00:05,250 >> ALEX Allain: Mən Alex Allain deyiləm. 5 00:00:05,250 --> 00:00:08,200 Burada Dropbox bir mühəndis deyiləm. 6 00:00:08,200 --> 00:00:11,320 >> THOMAS Carriero: Bəli, mən həqiqətən CS50 üçün ilk baş TF 7 00:00:11,320 --> 00:00:13,660 David Malin sinif götürdü zaman. 8 00:00:13,660 --> 00:00:17,010 Mən artıq tədris edilmişdir Iki semestr üçün CS50 9 00:00:17,010 --> 00:00:20,700 olan Mike Smith ilə orada əvvəl professor. 10 00:00:20,700 --> 00:00:25,310 >> ALEX Allain: Mən həqiqətən etmədi CS50 almaq, amma TF bunu iki dəfə etdi. 11 00:00:25,310 --> 00:00:29,050 Bir müntəzəm TF kimi, və sonra mənim böyük il 12 00:00:29,050 --> 00:00:32,520 Mən, həqiqətən, baş TF idi Fun bir çox olan CS50. 13 00:00:32,520 --> 00:00:34,270 THOMAS Carriero: Belə ki, David həyata gəldikdə 14 00:00:34,270 --> 00:00:38,647 mənə yaradılması haqqında CS50 cihaz Dropbox, 15 00:00:38,647 --> 00:00:41,230 Mən, həqiqətən, heyecan, çünki biz, həqiqətən, bir Linux müştəri var, 16 00:00:41,230 --> 00:00:46,270 belə ki, bizim istifadəçilər əksəriyyəti ya istifadə Windows və ya Macintosh müştərilər, 17 00:00:46,270 --> 00:00:50,940 lakin Linux, Macintosh və Windows müştərilərə bütün həqiqətən çox oxşardır. 18 00:00:50,940 --> 00:00:55,590 >> Belə ki, nə biz biz önceden götürmüş edir Bu CS50 Dropbox Linux müştəri 19 00:00:55,590 --> 00:00:59,990 cihaz və bu, yalnız kimi çalışır digər Linux users bütün. 20 00:00:59,990 --> 00:01:02,210 >> ALEX Allain: Belə ki, Dropbox işləyir yolu deyil 21 00:01:02,210 --> 00:01:08,590 çox müxtəlif bir müştəri kimi çalışır əməliyyat sistemləri və cihazlar. 22 00:01:08,590 --> 00:01:11,387 Bu Dropbox masa üstü müştəri ən məşhur biri, 23 00:01:11,387 --> 00:01:12,720 və ən maraqlı biridir. 24 00:01:12,720 --> 00:01:15,460 >> THOMAS Carriero: Belə Dropbox əsasən bütün faylları edir 25 00:01:15,460 --> 00:01:19,500 Siz qovluq qoymaq və chunks ki, bu faylları dörd MB chunks daxil. 26 00:01:19,500 --> 00:01:23,270 Belə ki, biz 100-meqabayt almaq lazımdır PDF file və biz will 27 00:01:23,270 --> 00:01:26,070 yığın 25 dörd-megabayt chunks onu. 28 00:01:26,070 --> 00:01:30,670 Həmin chunks sonra şifreli və sonra biz blok server onları göndərin. 29 00:01:30,670 --> 00:01:35,980 >> ALEX Allain: The blok serverlər blokları özləri üçün storage, 30 00:01:35,980 --> 00:01:39,570 və hər blok saxlanılır məlumatları ilə blok server 31 00:01:39,570 --> 00:01:43,990 və ki, blok bir Shaw 356 hash. 32 00:01:43,990 --> 00:01:48,280 Ki, ibtidai bir çox əsas şifreleme var ki, müəyyən mənada, ümumiləşdirir, 33 00:01:48,280 --> 00:01:53,140 bir çox unikal şəkildə məlumat ki, data unikal var. 34 00:01:53,140 --> 00:01:55,540 >> Siz yüklemek bilər bütün bir dəfə bütün fayl, 35 00:01:55,540 --> 00:02:00,120 lakin əgər bu çıxır ki, həqiqətən böyük faylları almaq 36 00:02:00,120 --> 00:02:03,616 yüklemek üçün bir həqiqətən uzun zaman və əgər bir uğursuzluq var, siz uğurlar bitti 37 00:02:03,616 --> 00:02:04,740 və siz yenidən başladın lazımdır. 38 00:02:04,740 --> 00:02:07,620 >> Bəs nə biz demək deyil bizim sistemində başqa server, 39 00:02:07,620 --> 00:02:11,550 və nə biz metadata zəng server ki, hey bu, bir fayl 40 00:02:11,550 --> 00:02:14,200 və ibarət olub bloklarının siyahısı aşağıdakı. 41 00:02:14,200 --> 00:02:17,030 Və biz hashes qədər keçmək həmin blokları müəyyən etmək 42 00:02:17,030 --> 00:02:18,770 daha çox yenidən uploading bütün blok. 43 00:02:18,770 --> 00:02:20,820 The metaserver sonra blok serverlər yoxlayır, 44 00:02:20,820 --> 00:02:22,153 blokları var əmin edir. 45 00:02:22,153 --> 00:02:23,140 Onlar mükəmməl varsa. 46 00:02:23,140 --> 00:02:24,040 Hər şey yaxşıdır. 47 00:02:24,040 --> 00:02:26,400 >> THOMAS Carriero: biz əsasən download istəyirəm 48 00:02:26,400 --> 00:02:30,050 internet fayl, edək demək, biz son metaserver demək lazımdır 49 00:02:30,050 --> 00:02:33,090 ilk, hey siz mənə deyə bilərsiniz Bu fayl yerləşir Ü haqqında? 50 00:02:33,090 --> 00:02:37,230 Və metaserver demək, oh bu faylın edəcək həqiqətən 25 dörd-megabayt chunks, 51 00:02:37,230 --> 00:02:38,210 və burada onlar. 52 00:02:38,210 --> 00:02:41,712 Və sonra biz bir blok server getmək lazımdır həqiqətən bu chunks hər download. 53 00:02:41,712 --> 00:02:43,670 Və sonra biz yenidən qurulması lazımdır fayl oradan, 54 00:02:43,670 --> 00:02:45,086 və biz download başlamaq lazımdır. 55 00:02:45,086 --> 00:02:47,580 Əqdlərin Bəli, belə Dropbox miqyaslı əsasən 56 00:02:47,580 --> 00:02:50,460 çox, çox aqressiv sharding. 57 00:02:50,460 --> 00:02:56,400 >> ALEX Allain: zaman Sharding edir başlanğıc istifadəçilər bütün almaq 58 00:02:56,400 --> 00:03:00,010 və ya şirkət və bəlkə onlar bir bazasında olmaq üçün istifadə, 59 00:03:00,010 --> 00:03:02,620 və sizin qədər böyük çalışır istifadəçi müəyyən edib. 60 00:03:02,620 --> 00:03:04,578 Və həqiqətən istədiyiniz nə etmək üçün bir yol tapmaq edir 61 00:03:04,578 --> 00:03:07,410 iki arasında o split məlumat bazaları, və ya bəlkə daha iki. 62 00:03:07,410 --> 00:03:10,830 Siz ki, ideal, kifayət qədər Dünyada hər istifadəçi var. 63 00:03:10,830 --> 00:03:13,080 >> Və belə ki, qanadüstü zaman nə siz edir 64 00:03:13,080 --> 00:03:16,830 həlledici bəzi yol tapmaq bazası getmək üçün 65 00:03:16,830 --> 00:03:20,240 ki, tələb etmir mərkəzi kataloq vuruş. 66 00:03:20,240 --> 00:03:23,670 Və ya bəlkə bu, bir çox sürətli var ucuz göz-up mərkəzi directory. 67 00:03:23,670 --> 00:03:27,189 >> THOMAS Carriero: Biz heç vaxt bir bazasında saxlanılır hər şey, 68 00:03:27,189 --> 00:03:28,980 demək olar ki, çünki miqyaslı gedən heç vaxt. 69 00:03:28,980 --> 00:03:33,970 Belə ki, əvəzinə, biz nə edəcəyik bütün almaq edir məlumat ki, bütün faylları 70 00:03:33,970 --> 00:03:36,610 metadata saxlanılır, yüzlərlə arasında qanadüstü 71 00:03:36,610 --> 00:03:38,710 və ya məntiqi verilənlər bazası min ev. 72 00:03:38,710 --> 00:03:42,900 Və o deməkdir ki, biz bir zaman bir istifadəçi məlumat üçün tələb, 73 00:03:42,900 --> 00:03:46,890 biz ilk demək lazımdır hey bazası Bu istifadəçinin informasiya saxlanılır? 74 00:03:46,890 --> 00:03:49,852 Sonra biz əsasən will getmək üçün qərar istifadə 75 00:03:49,852 --> 00:03:51,560 ki, verilənlər bazası tapmaq və olduğu biz will 76 00:03:51,560 --> 00:03:55,080 bütün faylları və ya bütün yük faylları haqqında metadata. 77 00:03:55,080 --> 00:03:56,464 >> Beləliklə, biz sharding çox istifadə. 78 00:03:56,464 --> 00:03:57,880 Amma sharding həmişə kifayət qədər deyil. 79 00:03:57,880 --> 00:04:00,380 Siz, həqiqətən, cache lazımdır ümumi sorğuların bir çox, 80 00:04:00,380 --> 00:04:04,010 çünki hətta bazası queries bahalı ola bilər 81 00:04:04,010 --> 00:04:07,570 belə ki, biz də aqressiv ele bunu əmin ən etmək üçün strategiyalar 82 00:04:07,570 --> 00:04:10,310 ümumi sorğu var hesablamaq üçün olduqca asan. 83 00:04:10,310 --> 00:04:14,630 Və əsasən bir çox edir daha sürətli və bu ex miqyaslı iş edir. 84 00:04:14,630 --> 00:04:17,320 Belə ki, bir çox da var Dropbox necə yüksək səviyyədə. 85 00:04:17,320 --> 00:04:19,149 >> ALEX Allain: Mən Alex Allain deyiləm. 86 00:04:19,149 --> 00:04:20,857 >> THOMAS Carriero: And Mən Thomas Carriero deyiləm. 87 00:04:20,857 --> 00:04:22,579 ALEX Allain: Bu CS50 edir. 88 00:04:22,579 --> 00:04:23,936