THOMAS Carriero: ฉันโทมัส Carriero
ผมเป็นวิศวกรซอฟต์แวร์ที่ Dropbox
>> ALEX Allain: ผมอเล็กซ์ Allain
ผมเป็นวิศวกรที่นี่ที่ Dropbox
>> THOMAS Carriero: ใช่ฉันเป็น จริง TF หัวแรกสำหรับ CS50
เมื่อเดวิดลินเข้ามาในชั้นเรียน
ฉันได้รับการเรียนการสอนแล้ว CS50 สำหรับสองภาคการศึกษาปกติ
กับไมค์สมิ ธ ซึ่งเป็น อาจารย์ก่อนที่มี
>> ALEX Allain: ดังนั้นที่จริงผมไม่ได้ ใช้ CS50 แต่ฉันไม่ TF มันสองครั้ง
เมื่อเป็น TF ปกติ แล้วปีสุดท้ายของฉัน
ฉันเป็นจริง TF หัวของ CS50 ซึ่งเป็นจำนวนมากสนุก
THOMAS Carriero: ดังนั้น เมื่อเดวิดเอื้อมมือออก
กับฉันเกี่ยวกับการตั้งค่า Dropbox ในเครื่อง CS50,
ผมตื่นเต้นจริงๆเพราะ เราจะมีลูกค้าลินุกซ์
ดังนั้นส่วนใหญ่ของผู้ใช้ของเราใช้ทั้ง Windows หรือลูกค้าแมคอินทอช
แต่ Linux, Macintosh, และ Windows ลูกค้าทุกคนจริงที่คล้ายกันมาก
>> ดังนั้นสิ่งที่เราทำคือเราติดตั้ง ลูกค้า Dropbox ลินุกซ์ใน CS50
เครื่องใช้และมันจะทำงานเช่นเดียวกับ ทั้งหมดของผู้ใช้ลินุกซ์อื่น ๆ ของเรา
>> ALEX Allain: ดังนั้น วิธี Dropbox ทำงานมัน
ทำงานเป็นลูกค้าที่แตกต่างกันมาก ระบบปฏิบัติการและอุปกรณ์
ลูกค้าเดสก์ทอป Dropbox เป็น หนึ่งในที่รู้จักกันดีที่สุด,
และเป็นหนึ่งในที่น่าสนใจที่สุด
>> THOMAS Carriero: ดังนั้น Dropbox โดยทั่วไปจะใช้เวลาทุกไฟล์
ที่คุณใส่ในโฟลเดอร์และชิ้น ไฟล์เหล่านั้นเป็นชิ้นสี่เมกะไบต์-
ดังนั้นเราจะใช้เวลา 100 เมกะไบต์ ไฟล์ PDF และเราจะ
ก้อนเป็น 25 ชิ้นสี่เมกะไบต์-
ชิ้นเหล่านั้นจะถูกเข้ารหัสแล้วและ แล้วเราส่งพวกเขาไปยังเซิร์ฟเวอร์บล็อกของเรา
>> ALEX Allain: เซิร์ฟเวอร์บล็อกเป็น การจัดเก็บข้อมูลสำหรับบล็อกของตัวเอง
และเพื่อให้แต่ละบล็อกจะถูกเก็บไว้ใน เซิร์ฟเวอร์บล็อกที่มีข้อมูล
และชอว์ 356 กัญชาของบล็อกที่
นั่นคือการเข้ารหัสขั้นพื้นฐานมากดั้งเดิม ที่สรุปในความรู้สึกบางอย่าง
ข้อมูลในทางที่ไม่ซ้ำกันมาก ที่ไม่ซ้ำกันกับข้อมูลที่
>> คุณสามารถอัปโหลด ไฟล์ทั้งหมดทั้งหมดในครั้งเดียว
แต่ปรากฎถ้าคุณทำ ว่าไฟล์ขนาดใหญ่จริงๆใช้
เป็นเวลานานมากในการอัปโหลดและถ้า คุณมีความล้มเหลวของคุณจะออกจากโชค
และคุณจะต้องเริ่มต้นใหม่ได้
>> แล้วสิ่งที่เราทำคือเราบอก เซิร์ฟเวอร์อื่นในระบบของเรา
และสิ่งที่เราเรียกว่าเมตาดาต้า เซิร์ฟเวอร์ที่เฮ้นี้เป็นไฟล์
และก็ประกอบไปด้วย รายชื่อของบล็อกต่อไปนี้
และเราผ่านขึ้น hashes ในการระบุกลุ่มผู้
มากกว่าอีกครั้งอัพโหลด บล็อกทั้งหมด
metaserver แล้ว ตรวจสอบเซิร์ฟเวอร์บล็อก
ทำให้แน่ใจว่าบล็อกจะมี
หากเป็นเช่นนั้นสมบูรณ์แบบ
ทุกอย่างเป็นสิ่งที่ดี
>> THOMAS Carriero: ตอนที่เรา ต้องการดาวน์โหลดโดยทั่วไป
ไฟล์จากอินเทอร์เน็ตให้ กล่าวว่าเราจะพูดกับ metaserver ล่าสุด
แรกเดี๋ยวก่อนคุณสามารถบอกฉัน เกี่ยวกับการที่ไฟล์นี้ตั้งอยู่ที่ไหน
และ metaserver จะบอกว่าโอ้ไฟล์นี้ของ จริง 25 ชิ้นสี่เมกะไบต์,
และที่นี่พวกเขาจะ
แล้วเราจะไปบล็อกเซิร์ฟเวอร์และ ดาวน์โหลดจริงแต่ละชิ้นเหล่านั้น
แล้วเราจะสร้าง ไฟล์จากที่นั่น
แล้วเราจะเริ่มต้นการดาวน์โหลด
ใช่เพื่อ Dropbox ของข้อเสนอ ที่มีขนาดโดยทั่วไป
โดย sharding มากก้าวร้าวมาก
>> ALEX Allain: sharding คือเมื่อคุณ ใช้เวลาทั้งหมดของผู้ใช้ในการเริ่มต้นของคุณ
หรือ บริษัท และบางทีพวกเขาของคุณ ที่ใช้จะอยู่ในฐานข้อมูลหนึ่ง
และที่ใช้งานได้ดีจนกว่าคุณจะ ตีจำนวนที่แน่นอนของผู้ใช้
และจริงๆสิ่งที่คุณต้องการ ที่จะทำคือการหาวิธีการบางอย่าง
ที่จะแยกผู้ที่ข้ามสอง ฐานข้อมูลหรืออาจจะมากกว่าสอง
ดีพอที่จะทำให้คุณสามารถ มีผู้ใช้ทุกคนในโลก
>> และดังนั้นเมื่อคุณชิ้นส่วน, สิ่งที่คุณทำคือคุณ
หาวิธีการที่จะตัดสินใจบางอย่าง ซึ่งฐานข้อมูลที่จะไป
การที่ไม่ต้องใช้ ตีไดเรกทอรีกลาง
หรืออาจจะเป็นได้อย่างรวดเร็วมาก มองขึ้นไดเรกทอรีกลางราคาถูก
>> THOMAS Carriero: เราไม่เคยมี ทุกอย่างที่เก็บไว้ในฐานข้อมูลหนึ่ง
เพราะนั่นคือเกือบ ไม่เคยไปวัด
ดังนั้นแทนที่จะสิ่งที่เราจะทำคือการใช้เวลาทั้งหมด ข้อมูลที่ไฟล์ทั้งหมดที่
จะถูกเก็บไว้ในเมตาดาต้าที่ ชิ้นส่วนหลายร้อย
หรือหลายพันของฐานข้อมูลตรรกะ
และนั่นหมายความว่าเมื่อเรามี ขอข้อมูลของผู้ใช้
ครั้งแรกที่เราจะบอกว่าเดี๋ยวก่อนซึ่งฐานข้อมูล เป็นข้อมูลของผู้ใช้ที่เก็บไว้นี้มีอะไรบ้าง
จากนั้นเราก็จะเป็นพื้น ใช้การตัดสินใจที่จะไป
พบฐานข้อมูลที่ และที่ที่เราจะ
โหลดไฟล์ทั้งหมดหรือทั้งหมด ข้อมูลเกี่ยวกับไฟล์
>> ดังนั้นเราจึงใช้มาก sharding
แต่ sharding ไม่เคยพอ
คุณเป็นจริงจำเป็นที่จะต้องเก็บ จำนวนมากของการร้องขอทั่วไป
เพราะแม้แต่ฐานข้อมูลเหล่านั้น คำสั่งจะมีราคาแพง
ดังนั้นเราจึงยังไม่จับก้าวร้าว กลยุทธ์ที่จะทำให้แน่ใจว่าส่วนใหญ่
คำขอทั่วไป ค่อนข้างง่ายต่อการคำนวณ
และโดยทั่วไปที่ทำให้จำนวนมาก ได้เร็วขึ้นและมันทำให้ทำงานระดับอดีต
เพื่อให้ได้เป็นอย่างมาก ระดับสูงวิธีการทำงานของ Dropbox
>> ALEX Allain: ผมอเล็กซ์ Allain
>> THOMAS Carriero: และ ฉันโทมัส Carriero
ALEX Allain: และนี่คือ CS50