เผยแพร่ครั้งแรกเมื่อวันที่ 4 มิถุนายน 2018 ที่ ObjectRocket.com/blog
เราสามารถกำหนด การปรับขนาด เหมือนเอาเกล็ดออกจากตัวปลา อย่างไรก็ตาม ด้วยฐานข้อมูล การปรับขนาด หมายถึงความสามารถในการขยายเพื่อตอบสนองความต้องการเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูล, ดิสก์, RAM, CPU, รอบการประมวลผล, เครือข่าย หรือทรัพยากรอื่นๆ
คุณจะทราบได้อย่างไรว่าถึงเวลาปรับขนาดเมื่อใด
ทุกวันนี้ เป็นเรื่องปกติที่จะเห็นการเติบโตอย่างรวดเร็วของข้อมูลและอัตราการนำไปใช้อย่างรวดเร็วสำหรับแอปพลิเคชัน เช่น เมื่อแอปเริ่มแพร่ระบาดและการใช้งานเริ่มลดลง เมื่อสิ่งนี้เกิดขึ้น คุณจะเติบโตเร็วกว่าสภาพแวดล้อมเริ่มต้นของคุณอย่างรวดเร็ว การเติบโตดังกล่าวสามารถเกิดขึ้นได้เนื่องจากความต้องการพื้นที่จัดเก็บข้อมูลทางกายภาพ การเข้าถึงประสิทธิภาพ และความเสื่อมโทรมที่จะต้องใช้ทรัพยากรมากขึ้น คิดว่า CPU, RAM, ระบบเครือข่าย หรือการรวมกันของพื้นที่เหล่านั้นทั้งหมด คุณจะวางแผนการเติบโตในเชิงรุกหรือจะเลือกขยายเมื่อเริ่มเห็นประสิทธิภาพขนาดเล็ก
การปรับขนาดเชิงรุก
อาจมีรูปแบบทั่วไปอย่างน้อย 2 รูปแบบเมื่อคุณวางแผนที่จะปรับขนาดในเชิงรุก:
- คุณกำลังมีแรงผลักดันทางการตลาดครั้งใหญ่ และจำนวนลูกค้าหรือปริมาณข้อมูลจะเพิ่มขึ้นอย่างมาก
- การสมัครหรือธุรกิจของคุณมีแนวโน้มที่จะเป็นวัฏจักร (เช่น การซื้อในช่วงคริสต์มาส ปณิธานปีใหม่ และอื่นๆ) และคุณเห็นว่ากิจกรรมเพิ่มขึ้นซึ่งนำไปสู่การรวบรวมและรักษาปริมาณข้อมูลไว้สูง
อ่านโพสต์ของเรา:จะทราบได้อย่างไรว่าเมื่อใดจึงควรปรับขนาดอินสแตนซ์ MongoDB ของคุณ
ปรับขนาดแบบตอบสนอง
หากคุณประสบปัญหาคอขวดและคาดว่าจะเติบโตต่อไป คุณต้องคิดถึงการปรับขนาด
สัญญาณปัญหารวมถึงสิ่งต่าง ๆ เช่นข้อกังวลต่อไปนี้:
- เพิ่มเวลาค้นหาสำหรับผู้ใช้ปลายทาง
- เพิ่มเวลาในการเข้าสู่ระบบ
- คำขอและเซิร์ฟเวอร์หยุดทำงาน
- ข้อร้องเรียนเกี่ยวกับฐานข้อมูลจากนักพัฒนา
- เวลาตอบสนองของเซิร์ฟเวอร์ช้าลง
- เพิ่มภาระให้กับโฮสต์
- หน่วยความจำไม่เพียงพอ
- การเลือกตั้งโดยไม่ได้ตั้งใจ
- ข้อผิดพลาดในบันทึก
เมื่อคุณเริ่มเห็นสัญญาณเหล่านี้ ก็ถึงเวลาที่จะเริ่มปรับขนาดเพื่อให้ทันกับความต้องการและตรวจสอบให้แน่ใจว่าคุณจะไม่สูญเสียลูกค้า
คุณสามารถปรับขนาดแนวตั้ง .ได้ (ขึ้น) หรือ แนวนอน (ออก)
การปรับขนาดในแนวตั้ง
นี่คือสุภาษิต เหล็กใหญ่ วิธีการ:เครื่องขนาดใหญ่หนึ่งเครื่องที่มีทรัพยากรจำนวนมาก (แกน CPU, ความเร็วของ CPU ที่สูงขึ้น, RAM จำนวนมาก, ที่เก็บข้อมูล) ประโยชน์หลักของการปรับขนาดแนวตั้ง ได้แก่ ความซับซ้อนทางสถาปัตยกรรมที่ลดลงและโฮสต์ที่น้อยกว่าที่ต้องบำรุงรักษา สิ่งนี้มีประโยชน์หากคุณไม่มีใครดูแลจัดการให้คุณ
ทุกวันนี้มีหลายวิธีในการปรับขนาดแนวตั้ง ตัวเลือกเหล่านี้บางตัวรวมถึงฮาร์ดแวร์ที่ใช้งานได้ดีกว่า ดิสก์และพื้นที่เก็บข้อมูลที่ถูกกว่า ตัวเลือกการจัดเก็บข้อมูลที่ดีกว่า หน่วยความจำที่ถูกกว่า ซอฟต์แวร์ที่ดีกว่า และเครือข่าย ดังนั้นคุณจึงสามารถจัดการกับการเฟลโอเวอร์และการหยุดชะงักได้อย่างสวยงามยิ่งขึ้น
การปรับขนาดเหมาะสำหรับการใช้งานและความต้องการมากมาย และเราขอแนะนำ ชุดแบบจำลอง เราจะหารือในส่วนต่อไปนี้ สิ่งหนึ่งที่ควรคำนึงถึงเมื่อคุณใช้ชุดแบบจำลองที่มีขนาดใหญ่กว่านั้นก็คือ อาจมีค่าใช้จ่ายแอบแฝงในการปรับขนาดในแนวตั้ง หากสภาพแวดล้อมของคุณเติบโตอย่างรวดเร็ว คุณอาจต้องย้ายไปยังเครื่องที่ใหญ่ขึ้นอย่างต่อเนื่อง หรือมีทรัพยากรเพิ่มเติมจนกว่าจะถึงจุดที่ไม่มีตัวเลือกอีกต่อไป คุณควรพิจารณาด้วยว่ารอบการอัปเกรดมีประสิทธิภาพน้อยกว่าบนโฮสต์ที่ใหญ่กว่าเพียงโฮสต์เดียวเมื่อเทียบกับสภาพแวดล้อมที่มีการปรับสัดส่วนตามแนวนอน ด้วยการเติบโตอย่างต่อเนื่อง คุณต้องตัดสินใจว่าคุณควรขยายขนาดต่อไปหรืออาจได้รับประโยชน์จากการปรับขนาดในแนวนอน
การปรับขนาดในแนวนอน
การแบ่งส่วนคือการปรับขนาดแนวนอน การแบ่งกลุ่มข้อมูลจะเก็บข้อมูลบนหลายโหนด กระจายโหลดและกระบวนการทั่วทั้งโฮสต์ การจำลองแบบได้รับการจัดการโดยใช้โมเดล Primary-Replica พร้อมความสามารถในการเพิ่มโหนดเพิ่มเติมตามความจำเป็น
ตัวโหลดบาลานซ์จะกระจายส่วนต่างๆ ของข้อมูลทั่วทั้งดิสก์บนโหนด
สิ่งนี้จะเพิ่มความสามารถในการอ่านและเขียนโดยการกระจายการดำเนินการอ่านและเขียนไปยังกลุ่มเครื่องจักร แทนที่จะใช้ค้อนทุบเครื่องเดียวด้วยการเขียนหรือการอ่าน โชคดีที่ฟังก์ชันบาลานเซอร์มีการปรับปรุงอย่างมากในช่วงสองสามรีลีสล่าสุด การปรับขนาดในแนวนอนใช้ประโยชน์จากความสามารถในการชาร์ดในตัวของ MongoDB® และได้รับประโยชน์จากการใช้ฮาร์ดแวร์สินค้าโภคภัณฑ์ที่ถูกกว่า
เมื่อคุณปรับขนาดในแนวนอน คุณจะเพิ่มทรัพยากรด้วยโฮสต์จริงหรือโฮสต์เสมือน
- ทางกายภาพ – ฮาร์ดแวร์สินค้าราคาถูกจำนวนมาก
- เสมือน – เพิ่มแกนหรือโหนดของ CPU เพิ่มเติมโดยใช้ VM หรือระบบคลาวด์
- เครือข่าย – เพิ่มตัวโหลดบาลานซ์ กระบวนการ mongoS® เพิ่มเติม และอื่นๆ
การใช้เทคโนโลยีโหลดบาลานซ์ที่ได้รับการปรับปรุง (ฮาร์ดแวร์และซอฟต์แวร์) เพื่อส่งทราฟฟิกไปยังที่ที่ต้องไปโดยใช้ตัวจัดสรรภาระงาน
คุณจะปรับใช้การปรับขนาดกับชุดแบบจำลองใน MongoDB ได้อย่างไร
MongoDB สามารถขยายในแนวนอนโดยใช้ชุดแบบจำลองขนาดใหญ่ชุดเดียวที่มี หลักหนึ่งชุด และ รอง two 2 คน ที่มี heartbeatcommunication สำหรับสถานะขึ้นหรือลง การจำลองแบบเกิดขึ้นในลำดับที่สองผ่านกระบวนการลอจิสติกส์
การปรับขนาดแนวนอน:ชุดแบบจำลองหรือการแบ่งส่วนข้อมูล
การแลกเปลี่ยนกับการแบ่งส่วนจะเพิ่มความซับซ้อนโดยรวม แต่การแบ่งกลุ่มย่อยยังให้ประโยชน์โดยทำให้การบำรุงรักษาง่ายขึ้น อนุญาตให้อัปเกรดแบบต่อเนื่องและให้คุณดำเนินการบางอย่างได้ เช่น การสร้างดัชนีแบบขนานพร้อมกันทั่วทั้งชาร์ดและโหนดของคุณ ต่อไปนี้เป็นการเปรียบเทียบระหว่างชุดแบบจำลองที่ใหญ่กว่ากับคลัสเตอร์ที่มีการแบ่งส่วน:
ชุดแบบจำลอง | การแบ่งส่วน |
---|---|
ง่าย | ต้องการความชำนาญ |
การอ่านจำนวนมากในชุดข้อมูลแบบกว้าง (ไม่ต้องการกระจายการรวบรวม) | เขียนและอัปเดตจำนวนมาก (ต้องการไปที่ส่วนแบ่งข้อมูลโดยตรงเพื่อดูผลลัพธ์) |
ข้อมูลเยอะ อัตรากิจกรรมต่ำ | ข้อมูลเยอะ กิจกรรมเยอะ |
ต้องการ ปกติมากกว่านี้ ทรัพยากร เช่น ดิสก์ | ต้องการทรัพยากรทั้งหมดมากกว่านี้ รวมถึงดิสก์, RAM, CPU, ขอบเขตการเขียน |
เหตุใดจึงเลือก MongoDB ที่มีการจัดการจาก ObjectRocket
Rackspace ObjectRocket หมายถึง ความเชี่ยวชาญ . เราได้จัดการ MongoDB ในขนาดตั้งแต่เริ่มต้น เราให้การสนับสนุนสำหรับชุดแบบจำลองที่ใหญ่กว่า และเราเป็นหนึ่งในผู้ให้บริการรายแรกๆ ที่ให้การสนับสนุน MongoDBclusters ที่มีการแบ่งส่วนย่อยที่ใหญ่กว่า วิศวกรและ DBA ของเรามีประสบการณ์และเอาชนะอุปสรรคที่ซับซ้อนมาก ซึ่งเป็นอุปสรรคที่ผู้ให้บริการรายอื่นมักไม่เคยได้ยินมาก่อน
ลูกค้ารายใหญ่ที่สุดของเราบางรายในแนวดิ่งเทคโนโลยีการตลาด (การวิเคราะห์อุปกรณ์เคลื่อนที่ สื่อ แคมเปญอีเมล การตรวจจับการฉ้อโกงโฆษณาบนมือถือ และสื่อดิจิทัล) มักพบจุดบกพร่องที่ไม่มีใครเห็นหรือรู้วิธีแก้ไข ข้อความและเอกสารหลายพันล้านข้อความจากลูกค้าที่หลากหลาย แคมเปญขนาดใหญ่และขนาดเล็กหลายพันรายการ แพลตฟอร์มของเราโฮสต์ทั้งหมด
บริการที่เรามีให้ได้แก่:
- โครงสร้างพื้นฐาน
- ที่เก็บข้อมูล
- IOPS
- เครือข่าย
- การสนับสนุนแบบลงมือปฏิบัติที่ดีที่สุด คำตอบที่ถูกต้อง 24×7.
ดูแผนและราคา
เรามุ่งหวังที่จะให้บริการโซลูชันระบบคลาวด์ที่มีการตั้งค่าที่มีประสิทธิภาพอย่างเต็มที่และไม่ได้จัดเตรียมรอง บนโวลุ่มเสมือน ดังนั้นเราจึงหลีกเลี่ยงปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้นหากมีการเลือกตั้งและหลัก .ของคุณ ลงเอยด้วยโฮสต์ที่มีประสิทธิภาพน้อยกว่าที่จัดเตรียมไว้สำหรับรองเท่านั้น นั่นคือมันสำหรับการปรับขนาด อย่าลืมเรียนรู้เพิ่มเติมว่าเมื่อใดควรปรับขนาดอินสแตนซ์ MongoDB เคล็ดลับการแบ่งกลุ่มข้อมูล การเลือกคีย์ชาร์ดที่ดีที่สุด และอื่นๆ
เรียนรู้เพิ่มเติมเกี่ยวกับ Rackspace DBA Services
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถคลิกแชทขาย เพื่อแชทตอนนี้และเริ่มการสนทนา