1 00:00:00,000 --> 00:00:00,409 2 00:00:00,409 --> 00:00:01,950 توماس CARRIERO: أنا توماس Carriero. 3 00:00:01,950 --> 00:00:03,640 أنا مهندس البرمجيات في قطاف. 4 00:00:03,640 --> 00:00:05,250 >> ALEX ALLAIN: أنا اليكس ألين. 5 00:00:05,250 --> 00:00:08,200 أنا مهندس هنا في قطاف. 6 00:00:08,200 --> 00:00:11,320 >> توماس 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 كنت في الواقع رئيس فريق العمل لل CS50، والتي كان الكثير من المرح. 13 00:00:32,520 --> 00:00:34,270 توماس CARRIERO: إذن عندما وصلت داود 14 00:00:34,270 --> 00:00:38,647 لي حول إعداد المنسدل في الأجهزة 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 >> ذلك ما فعلناه هو أننا مثبتة مسبقا العميل دروببوإكس لينكس في CS50 19 00:00:55,590 --> 00:00:59,990 الأجهزة، ويتم تشغيله تماما مثل كل من مستخدمي لينكس الأخرى. 20 00:00:59,990 --> 00:01:02,210 >> ALEX ALLAIN: إذن الطريقة التي يعمل قطاف هو 21 00:01:02,210 --> 00:01:08,590 يعمل كعميل على العديد من مختلف أنظمة التشغيل والأجهزة. 22 00:01:08,590 --> 00:01:11,387 عميل سطح المكتب دروببوإكس هو واحدة من أكثر معروفة جيدا، 23 00:01:11,387 --> 00:01:12,720 واحدة من أكثر إثارة للاهتمام. 24 00:01:12,720 --> 00:01:15,460 >> توماس CARRIERO: حتى دروببوإكس في الأساس يأخذ كل الملفات 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 >> توماس 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 نعم، لذلك المنسدل من الصفقات مع نطاق الأساس 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 >> توماس 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 ذلك أن في جدا رفيع المستوى كيف يعمل المنسدل. 85 00:04:17,320 --> 00:04:19,149 >> ALEX ALLAIN: أنا اليكس ألين. 86 00:04:19,149 --> 00:04:20,857 >> توماس CARRIERO: و أنا توماس Carriero. 87 00:04:20,857 --> 00:04:22,579 ALEX ALLAIN: وهذا هو CS50. 88 00:04:22,579 --> 00:04:23,936