1 00:00:00,000 --> 00:00:00,409 2 00:00:00,409 --> 00:00:01,950 THOMAS CARRIERO: I توماس Carriero هستم. 3 00:00:01,950 --> 00:00:03,640 من یک مهندس نرم افزار در Dropbox به ام. 4 00:00:03,640 --> 00:00:05,250 >> ALEX ALLAIN: I الکس Allain هستم. 5 00:00:05,250 --> 00:00:08,200 من یک مهندس در اینجا در Dropbox به است. 6 00:00:08,200 --> 00:00:11,320 >> THOMAS CARRIERO: بله، من بود در واقع اولین TF سر برای CS50 7 00:00:11,320 --> 00:00:13,660 هنگامی که دیوید مالین در زمان بیش از کلاس. 8 00:00:13,660 --> 00:00:17,010 من تا به حال در حال حاضر تدریس شده CS50 به مدت دو ترم 9 00:00:17,010 --> 00:00:20,700 با مایک اسمیت، که بود استاد قبل وجود دارد. 10 00:00:20,700 --> 00:00:25,310 >> ALEX ALLAIN: بنابراین من در واقع نمی را CS50، اما من TF دو بار این کار را کرد. 11 00:00:25,310 --> 00:00:29,050 هنگامی که به عنوان یک TF به طور منظم، و پس از آن سال آخر من 12 00:00:29,050 --> 00:00:32,520 من در واقع TF سر CS50، که بسیاری از سرگرم کننده است. 13 00:00:32,520 --> 00:00:34,270 THOMAS CARRIERO: پس هنگامی که دیوید رسیده از 14 00:00:34,270 --> 00:00:38,647 به من در مورد راه اندازی Dropbox را در دستگاه CS50، 15 00:00:38,647 --> 00:00:41,230 من واقعا هیجان زده شده بود، به دلیل ما در واقع یک مشتری لینوکس، 16 00:00:41,230 --> 00:00:46,270 بنابراین بسیاری از کاربران ما استفاده از هر دو ویندوز و یا مشتریان مکینتاش، 17 00:00:46,270 --> 00:00:50,940 اما لینوکس، مکینتاش و ویندوز مشتریان در واقع بسیار شبیه هستند. 18 00:00:50,940 --> 00:00:55,590 >> پس کاری که ما کردیم این است که ما از پیش نصب شده مشتری Dropbox به لینوکس در CS50 19 00:00:55,590 --> 00:00:59,990 لوازم خانگی، و آن را اجرا می کند درست مثل همه از کاربران لینوکس استفاده کنید. 20 00:00:59,990 --> 00:01:02,210 >> ALEX ALLAIN: پس راه Dropbox به کار می کند آن است 21 00:01:02,210 --> 00:01:08,590 اجرا می شود به عنوان یک مشتری در بسیاری مختلف سیستم عامل و دستگاه های. 22 00:01:08,590 --> 00:01:11,387 مشتری دسکتاپ Dropbox به است یکی از خوبی شناخته شده، 23 00:01:11,387 --> 00:01:12,720 و یکی از جالب ترین. 24 00:01:12,720 --> 00:01:15,460 >> THOMAS CARRIERO: بنابراین در Dropbox اساسا تمام فایل ها طول می کشد 25 00:01:15,460 --> 00:01:19,500 که شما در پوشه قرار داده و آن را تکه این فایل ها را به تکه های چهار مگابایت. 26 00:01:19,500 --> 00:01:23,270 بنابراین ما یک 100 مگابایت را فایل PDF و ما 27 00:01:23,270 --> 00:01:26,070 مقدار آن را به 25 تکه چهار مگابایت. 28 00:01:26,070 --> 00:01:30,670 این تکه سپس رمز شده و سپس ما آنها را به سرور بلوک ما ارسال کنید. 29 00:01:30,670 --> 00:01:35,980 >> ALEX ALLAIN: بلوک سرور می باشد ذخیره سازی برای بلوک های خود، 30 00:01:35,980 --> 00:01:39,570 و به همین ترتیب هر بلوک در ذخیره سرور بلوک با داده 31 00:01:39,570 --> 00:01:43,990 و مخلوط شاو 356 از آن بلوک. 32 00:01:43,990 --> 00:01:48,280 این رمزگذاری بسیار اساسی اولیه است که به طور خلاصه، از بعضی جهات، 33 00:01:48,280 --> 00:01:53,140 داده ها را در یک راه بسیار منحصر به فرد که منحصر به فرد است که داده ها. 34 00:01:53,140 --> 00:01:55,540 >> شما می توانید از آپلود کل فایل های همه در یک بار، 35 00:01:55,540 --> 00:02:00,120 اما معلوم است اگر شما که، فایل های واقعا بزرگ را 36 00:02:00,120 --> 00:02:03,616 زمان واقعا برای آپلود، و اگر شما باید یک شکست، شما از شانس هستید 37 00:02:03,616 --> 00:02:04,740 و شما باید آن را راه اندازی مجدد. 38 00:02:04,740 --> 00:02:07,620 >> چه ما پس از آن انجام شده است ما بگویید سرور دیگر در سیستم ما، 39 00:02:07,620 --> 00:02:11,550 و آنچه ما از ابرداده تماس بگیرید سرور، که با سلام این یک فایل است، 40 00:02:11,550 --> 00:02:14,200 و آن را از تشکیل زیر لیستی از بلوک. 41 00:02:14,200 --> 00:02:17,030 و ما صرف نظر کردن هش برای شناسایی کسانی که بلوک 42 00:02:17,030 --> 00:02:18,770 به جای دوباره آپلود کل بلوک. 43 00:02:18,770 --> 00:02:20,820 metaserver پس از آن چک سرورهای بلوک، 44 00:02:20,820 --> 00:02:22,153 مطمئن شوید که بلوک وجود دارد می سازد. 45 00:02:22,153 --> 00:02:23,140 اگر آنها، کامل است. 46 00:02:23,140 --> 00:02:24,040 همه چیز خوب است. 47 00:02:24,040 --> 00:02:26,400 >> THOMAS CARRIERO: هنگامی که ما می خواهم به اساسا دانلود کنید 48 00:02:26,400 --> 00:02:30,050 فایل از اینترنت، اجازه دهید مثلا، ما به آخرین metaserver می گویند 49 00:02:30,050 --> 00:02:33,090 برای اولین بار، هی می تواند شما را به من بگو در مورد که در آن قرار دارد این فایل را؟ 50 00:02:33,090 --> 00:02:37,230 و metaserver خواهد گفت، آه این فایل را در واقع 25 تکه چهار مگابایت، 51 00:02:37,230 --> 00:02:38,210 و اینجا هستند. 52 00:02:38,210 --> 00:02:41,712 و پس از آن خواهیم سرور بلوک بروید و در واقع دانلود هر یک از این قطعات سرگردان. 53 00:02:41,712 --> 00:02:43,670 و پس از آن خواهیم بازسازی فایل را از وجود دارد، 54 00:02:43,670 --> 00:02:45,086 و پس از آن خواهیم از دانلود شروع می شود. 55 00:02:45,086 --> 00:02:47,580 بله، پس از Dropbox به از معاملات با مقیاس اساسا 56 00:02:47,580 --> 00:02:50,460 توسط بسیار، sharding بسیار تهاجمی. 57 00:02:50,460 --> 00:02:56,400 >> ALEX ALLAIN: Sharding زمانی است که شما از همه کاربران در آغاز خود را 58 00:02:56,400 --> 00:03:00,010 و یا شرکت شما و شاید آنها استفاده می شود تا در یک پایگاه داده است، 59 00:03:00,010 --> 00:03:02,620 و است که آثار بزرگ تا زمانی که شما به یک تعداد خاصی از کاربران است. 60 00:03:02,620 --> 00:03:04,578 و واقعا چه می خواهید به انجام آن پیدا کردن برخی از راه 61 00:03:04,578 --> 00:03:07,410 به تقسیم آن در دو پایگاه های داده، و یا شاید بیش از دو. 62 00:03:07,410 --> 00:03:10,830 در حالت ایده آل، به اندازه کافی است که شما می توانید هر کاربر در جهان است. 63 00:03:10,830 --> 00:03:13,080 >> و تا زمانی که شما سفال، آنچه شما انجام دهد شما می باشد 64 00:03:13,080 --> 00:03:16,830 پیدا کردن بعضی از راه تصمیم گیری که پایگاه داده به 65 00:03:16,830 --> 00:03:20,240 به که نیازی نیست هدف قرار دادن یک دایرکتوری مرکزی. 66 00:03:20,240 --> 00:03:23,670 یا شاید آن را بسیار سریع، ارزان نگاه کردن دایرکتوری مرکزی. 67 00:03:23,670 --> 00:03:27,189 >> THOMAS CARRIERO: ما هرگز همه چیز ذخیره شده در یک پایگاه داده، 68 00:03:27,189 --> 00:03:28,980 چرا که تقریبا هرگز به مقیاس. 69 00:03:28,980 --> 00:03:33,970 بنابراین به جای آن، چیزی است که ما انجام خواهد داد تا از تمام این اطلاعات، تمام فایل های که 70 00:03:33,970 --> 00:03:36,610 در فراداده های ذخیره شده، سفال در سراسر صدها 71 00:03:36,610 --> 00:03:38,710 و یا هزاران نفر از پایگاه داده های منطقی است. 72 00:03:38,710 --> 00:03:42,900 و این بدان معنی است که هنگامی که ما یک درخواست برای اطلاعات کاربر، 73 00:03:42,900 --> 00:03:46,890 ما برای اولین بار می گویم، هی که پایگاه داده است اطلاعات کاربر ذخیره شده در؟ 74 00:03:46,890 --> 00:03:49,852 پس از آن خواهیم اساسا استفاده از آن تصمیم به رفتن 75 00:03:49,852 --> 00:03:51,560 پیدا است که پایگاه داده و این که در آن ما به شما 76 00:03:51,560 --> 00:03:55,080 بار تمام فایل ها و یا همه ابرداده در مورد فایل ها. 77 00:03:55,080 --> 00:03:56,464 >> بنابراین ما استفاده از بسیاری از sharding. 78 00:03:56,464 --> 00:03:57,880 اما sharding همیشه کافی نیست. 79 00:03:57,880 --> 00:04:00,380 شما در واقع نیاز به کش بسیاری از درخواست مشترک، 80 00:04:00,380 --> 00:04:04,010 از آنجا که حتی پایگاه داده نمایش داده شد را می توان گران 81 00:04:04,010 --> 00:04:07,570 بنابراین ما نیز انجام گرفتن تهاجمی استراتژی مطمئن شوید که بیشترین 82 00:04:07,570 --> 00:04:10,310 درخواست مشترک است بسیار آسان برای محاسبه. 83 00:04:10,310 --> 00:04:14,630 و در واقع باعث می شود که تعداد زیادی سریع تر و آن را می سازد آن را به کار مقیاس سابق. 84 00:04:14,630 --> 00:04:17,320 به طوری که در خیلی سطح بالا چگونه کار می کند Dropbox به. 85 00:04:17,320 --> 00:04:19,149 >> ALEX ALLAIN: I الکس Allain هستم. 86 00:04:19,149 --> 00:04:20,857 >> THOMAS CARRIERO: و I توماس Carriero هستم. 87 00:04:20,857 --> 00:04:22,579 ALEX ALLAIN: و این CS50 است. 88 00:04:22,579 --> 00:04:23,936