1 00:00:00,000 --> 00:00:00,409 2 00:00:00,409 --> 00:00:01,950 THOMAS CARRIERO: Ben Thomas Carriero değilim. 3 00:00:01,950 --> 00:00:03,640 Ben Dropbox bir yazılım mühendisi değilim. 4 00:00:03,640 --> 00:00:05,250 >> ALEX ALLAIN: Alex Allain değilim. 5 00:00:05,250 --> 00:00:08,200 Burada Dropbox bir mühendisim. 6 00:00:08,200 --> 00:00:11,320 >> THOMAS CARRIERO: Evet, ben CS50 için aslında ilk baş TF 7 00:00:11,320 --> 00:00:13,660 David Malin sınıfının devraldığı zaman. 8 00:00:13,660 --> 00:00:17,010 Ben zaten öğretim olmuştu Iki dönem için CS50 9 00:00:17,010 --> 00:00:20,700 Mike Smith ile, kim oldu Orada önce profesör. 10 00:00:20,700 --> 00:00:25,310 >> ALEX ALLAIN: Yani aslında yoktu CS50 almak, ama ben iki kere TF yaptım. 11 00:00:25,310 --> 00:00:29,050 Bir kez düzenli bir TF olarak, ve sonra benim kıdemli yıl 12 00:00:29,050 --> 00:00:32,520 Aslında bir TF baş oldu Eğlenceli bir sürü vardı CS50. 13 00:00:32,520 --> 00:00:34,270 THOMAS CARRIERO: Yani David uzandığımda 14 00:00:34,270 --> 00:00:38,647 Bana hakkında kurma CS50 cihaz Dropbox, 15 00:00:38,647 --> 00:00:41,230 Çünkü, gerçekten heyecan biz aslında Linux istemci var, 16 00:00:41,230 --> 00:00:46,270 bu nedenle bizim kullanıcıların çoğu birini kullanın Windows veya Macintosh istemcileri, 17 00:00:46,270 --> 00:00:50,940 ancak Linux, Macintosh ve Windows istemciler tüm aslında çok benzer. 18 00:00:50,940 --> 00:00:55,590 >> Peki biz yaptık önceden yüklenmiş olduğu CS50 Dropbox Linux istemci 19 00:00:55,590 --> 00:00:59,990 Cihaz ve sadece gibi çalışır Bizim diğer Linux kullanıcılarının tüm. 20 00:00:59,990 --> 00:01:02,210 >> ALEX ALLAIN: O Dropbox işleri yolu olduğunu 21 00:01:02,210 --> 00:01:08,590 Birçok farklı bir istemci olarak çalışır işletim sistemleri ve cihazlar. 22 00:01:08,590 --> 00:01:11,387 Dropbox masaüstü istemcisi En iyi bilinen on, 23 00:01:11,387 --> 00:01:12,720 ve en ilginç biri. 24 00:01:12,720 --> 00:01:15,460 >> THOMAS CARRIERO: Yani Dropbox temelde tüm dosyaları alır 25 00:01:15,460 --> 00:01:19,500 Eğer klasörde koymak ve topakları bu Dört megabayt parçalar içine bu dosyaları. 26 00:01:19,500 --> 00:01:23,270 Bu yüzden 100 megabayt alacağım PDF dosyası ve yaparız 27 00:01:23,270 --> 00:01:26,070 25 dört megabayt parçalar halinde yığın onu. 28 00:01:26,070 --> 00:01:30,670 Bu parçalar daha sonra şifrelenir ve sonra bizim blok sunucularına gönderebilirsiniz. 29 00:01:30,670 --> 00:01:35,980 >> ALEX ALLAIN: blok sunucular blokların depolama, 30 00:01:35,980 --> 00:01:39,570 ve böylece her blok saklanır veri bloğu sunucu 31 00:01:39,570 --> 00:01:43,990 ve bu bloğun Shaw 356 karma. 32 00:01:43,990 --> 00:01:48,280 Bu çok temel bir şifreleme ilkel Bu, bir anlamda, özetler 33 00:01:48,280 --> 00:01:53,140 Bir çok benzersiz bir şekilde veri o verilere benzersiz. 34 00:01:53,140 --> 00:01:55,540 >> Sen yükleyebilir Tüm kerede tüm dosya, 35 00:01:55,540 --> 00:02:00,120 ancak bunu yaparsanız çıkıyor Gerçekten büyük dosyalar alır, o 36 00:02:00,120 --> 00:02:03,616 gerçekten uzun bir zaman yüklemek ve eğer Eğer bir başarısızlık varsa, şans bitti 37 00:02:03,616 --> 00:02:04,740 ve bunu yeniden başlatmanız gerekir. 38 00:02:04,740 --> 00:02:07,620 >> Anlayabiliriz Ne o ne olduğunu Bizim sistemde başka bir sunucu, 39 00:02:07,620 --> 00:02:11,550 ve biz meta ne diyoruz Sunucu, hey bu bir dosya olduğunu, 40 00:02:11,550 --> 00:02:14,200 ve müteşekkil blok Aşağıdaki liste. 41 00:02:14,200 --> 00:02:17,030 Ve biz sağlamalarının geçmek kadar bu bloklar tespit etmek 42 00:02:17,030 --> 00:02:18,770 yerine yeniden yükleme daha Bütün blok. 43 00:02:18,770 --> 00:02:20,820 Sonra tanıtan metaserver Blok sunucuları denetler, 44 00:02:20,820 --> 00:02:22,153 bloklar vardır emin olur. 45 00:02:22,153 --> 00:02:23,140 Onlar, mükemmel iseniz. 46 00:02:23,140 --> 00:02:24,040 Her şey iyi. 47 00:02:24,040 --> 00:02:26,400 >> THOMAS CARRIERO: Ne zaman temelde indirmek istiyorum 48 00:02:26,400 --> 00:02:30,050 internetten dosya, diyelim diyelim ki, biz geçen tanıtan metaserver söyleyecek 49 00:02:30,050 --> 00:02:33,090 İlk, hey sen bana söyleyebilir Bu dosyanın bulunduğu en nerede? 50 00:02:33,090 --> 00:02:37,230 Ve tanıtan metaserver oh bu dosyanın, diyecekler Aslında 25 dört megabayt parçaları, 51 00:02:37,230 --> 00:02:38,210 ve burada onlar. 52 00:02:38,210 --> 00:02:41,712 Ve sonra bir blok sunucusu gidersiniz ve aslında bu parçalar her indir. 53 00:02:41,712 --> 00:02:43,670 Ve sonra yeniden edeceğiz Dosya oradan, 54 00:02:43,670 --> 00:02:45,086 ve sonra yüklemeyi başlayacağız. 55 00:02:45,086 --> 00:02:47,580 Fırsatlar Evet, bu yüzden Dropbox ölçek ile temelde 56 00:02:47,580 --> 00:02:50,460 Çok, çok agresif Sharding tarafından. 57 00:02:50,460 --> 00:02:56,400 >> ALEX ALLAIN: Sharding sizi olduğunu sizin başlangıç ​​kullanıcıların tüm almak 58 00:02:56,400 --> 00:03:00,010 veya şirket ve belki de bir veritabanında olmak için kullanılan, 59 00:03:00,010 --> 00:03:02,620 ve bu sizin kadar harika çalışıyor kullanıcıların belirli sayıda çarptı. 60 00:03:02,620 --> 00:03:04,578 Ve gerçekten ne istediğinizi bir yol bulmak yapmak için 61 00:03:04,578 --> 00:03:07,410 İki genelinde olanlar bölmek için veritabanları, ya da belki ikiden fazla. 62 00:03:07,410 --> 00:03:10,830 İdeal olarak, yeterli olduğunu yapabilirsiniz dünyadaki her kullanıcıya sahip. 63 00:03:10,830 --> 00:03:13,080 >> Ve böylece shard, ne yapmak sensin 64 00:03:13,080 --> 00:03:16,830 karar bir yol bulmak hangi veritabanı gitmek 65 00:03:16,830 --> 00:03:20,240 bu gerektirmez merkezi dizin isabet. 66 00:03:20,240 --> 00:03:23,670 Ya da belki, bir çok hızlı olduğunu Ucuz look-up merkezi dizin. 67 00:03:23,670 --> 00:03:27,189 >> THOMAS CARRIERO: Biz asla tek bir veritabanında saklanan her şeyi, 68 00:03:27,189 --> 00:03:28,980 neredeyse çünkü Asla kıracak. 69 00:03:28,980 --> 00:03:33,970 Bunun yerine, ne yapacağız tüm take Bu bilgiler, tüm dosyalar 70 00:03:33,970 --> 00:03:36,610 metadata saklanır, yüzlerce genelinde shard 71 00:03:36,610 --> 00:03:38,710 mantıksal veritabanlarının veya binlerce. 72 00:03:38,710 --> 00:03:42,900 Ve biz bir olduğunda demektir Kullanıcının bilgi talep, 73 00:03:42,900 --> 00:03:46,890 biz ilk hangi veritabanı hey, söyleyeceğim Bu kullanıcının bilgileri saklanır? 74 00:03:46,890 --> 00:03:49,852 Sonra biz temelde olacak gitmek için bu kararı kullanın 75 00:03:49,852 --> 00:03:51,560 Bu veritabanını bulmak ve bu nerede olacak bulunuyor 76 00:03:51,560 --> 00:03:55,080 Tüm dosyaları veya tüm yük dosyaları hakkında meta. 77 00:03:55,080 --> 00:03:56,464 >> Bu yüzden Sharding bir çok kullanırım. 78 00:03:56,464 --> 00:03:57,880 Ama sharding her zaman yeterli değildir. 79 00:03:57,880 --> 00:04:00,380 Sen aslında önbelleğe gerekir Ortak istekleri bir sürü, 80 00:04:00,380 --> 00:04:04,010 hatta veritabanı nedeniyle sorgular pahalı olabilir 81 00:04:04,010 --> 00:04:07,570 bu yüzden de agresif yakalama yapmak stratejiler yapmak emin, en emin 82 00:04:07,570 --> 00:04:10,310 Ortak talepler hesaplamak oldukça kolay. 83 00:04:10,310 --> 00:04:14,630 Ve temelde bir çok yapar hızlı ve o eski ölçek iş yapar. 84 00:04:14,630 --> 00:04:17,320 Yani bu çok az var Dropbox nasıl çalıştığını üst düzey. 85 00:04:17,320 --> 00:04:19,149 >> ALEX ALLAIN: Alex Allain değilim. 86 00:04:19,149 --> 00:04:20,857 >> THOMAS CARRIERO: Ve Ben Thomas Carriero değilim. 87 00:04:20,857 --> 00:04:22,579 ALEX ALLAIN: ve bu CS50 olup. 88 00:04:22,579 --> 00:04:23,936