การขยายตามแนวนอนหมายถึงอะไร


23

ในบริบทของฐานข้อมูลฉันเจอกับความสามารถในการขยายแนวนอนซึ่งเป็นหนึ่งในข้อดีของฐานข้อมูล NOSQL คำนี้หมายถึงอะไร

มันจะเปรียบเทียบกับการขยายในแนวตั้งได้อย่างไร

คำตอบ:


24

การขยายใน
แนวนอนเป็นการเพิ่มขนาดออกจากแนวนอน คุณไม่ต้องไปซื้อเซิร์ฟเวอร์ beefier ที่ใหญ่กว่าและย้ายภาระทั้งหมดของคุณลงไปแทนคุณซื้อเซิร์ฟเวอร์เพิ่มเติม 1+ ตัวและกระจายภาระของคุณไปยังเซิร์ฟเวอร์เหล่านั้น

การปรับสเกลแนวนอนจะใช้เมื่อคุณมีความสามารถในการรันหลายอินสแตนซ์บนเซิร์ฟเวอร์พร้อมกัน โดยทั่วไปแล้วมันจะยากกว่ามากในการเปลี่ยนจากเซิร์ฟเวอร์ 1 เซิร์ฟเวอร์เป็นเซิร์ฟเวอร์ 2 เซิร์ฟเวอร์จากนั้นเป็นเซิร์ฟเวอร์ 2 ถึง 5, 10, 50 และอื่น ๆ

เมื่อคุณได้แก้ไขปัญหาของการใช้งานอินสแตนซ์แบบขนานคุณสามารถใช้ประโยชน์จากสภาพแวดล้อมเช่น Amazon EC2, Cloud Service ของ Rackspace, GoGrid, ฯลฯ เนื่องจากคุณสามารถนำอินสแตนซ์ขึ้นและลงตามความต้องการลดความต้องการจ่ายพลังงานเซิร์ฟเวอร์ คุณไม่ได้ใช้เพียงเพื่อให้ครอบคลุมการโหลดสูงสุดเหล่านั้น

ฐานข้อมูลเชิงสัมพันธ์เป็นหนึ่งในรายการที่ยากต่อการรันอ่าน / เขียนแบบเต็มในแบบคู่ขนาน

ฉันเห็น Damien Katz พูดถึง CouchDB ที่ StackOverflow DevDays ใน Austin และหนึ่งในเป้าหมายหลักของเขาสำหรับการสร้างคืออินสแตนซ์คู่ขนานเหล่านี้ เนื่องจากนี่เป็นจุดสนใจของมันตั้งแต่วันแรกมันจะมีความสามารถในการใช้ประโยชน์จากการปรับสเกลแนวนอนได้มากกว่า

การขยายใน
แนวตั้งคือการสร้างขึ้นแทนที่จะเป็นออก ไปซื้อฮาร์ดแวร์ที่แข็งแกร่งที่สุดที่คุณสามารถจ่ายได้และนำแอปพลิเคชั่นฐานข้อมูลและอื่น ๆ

โลกแห่งความจริง
แน่นอนทั้งสองนี้มีข้อดีและข้อเสีย บ่อยครั้งที่การรวมกันของทั้งสองนี้ใช้สำหรับการแก้ปัญหาขั้นสุดท้าย

คุณอาจมีฐานข้อมูลหลักที่ทุกคนเขียนและอ่านข้อมูลเรียลไทม์บนฮาร์ดแวร์ชิ้นใหญ่ จากนั้นได้แจกจ่ายสำเนาของฐานข้อมูลแบบอ่านอย่างเดียวสำหรับการวิเคราะห์ข้อมูลและการรายงานที่หนักกว่า จากนั้นเว็บแอปพลิเคชั่นส่วนหน้าอาจทำงานบนเว็บเซิร์ฟเวอร์หลายเครื่องด้านหลังตัวโหลดบาลานเซอร์


2
Oracle's RAC เป็นตัวอย่างของ Horizontal Scaling ใน RDBMS แบบดั้งเดิม
Leigh Riffel

0

การปรับสเกลแนวนอนนั้นยอดเยี่ยมเมื่อคุณต้องการแอปพลิเคชั่นที่ต้องจัดการกับการเขียนจำนวนมากและการอ่านแบบขนาน นึกถึงเว็บไซต์ที่ได้รับปริมาณการใช้งานจำนวนมากและต้องการบันทึกสิ่งนี้หรือต้องการบันทึกกิจกรรมจำนวนมาก

ฉันเดาว่าข้อดีที่สุดคือการปรับขนาดแนวนอนสามารถทำได้โดยใช้ฮาร์ดแวร์ชุดสินค้าและมีเพียงคุณเท่านั้นที่สามารถปรับขนาดแนวตั้งได้และพยายามทำให้กล่องที่มีอยู่ของคุณใหญ่ขึ้น

RDBMS แบบดั้งเดิมล้มเหลวที่นี่ด้วยเหตุผลหลายประการ (รวมถึงความจริงที่ว่าพวกเขาเป็นกรด) และโซลูชั่น NoSQL ทำได้ที่นี่เพราะพวกเขาสามารถปรับขนาดแนวนอนได้อย่างง่ายดาย - แต่นั่นเป็นอีกเรื่อง (RDBMS / SQL กับ NoSQL)


0

บางคนในอุตสาหกรรมใช้คำศัพท์ต่างกันในความหมายเดียวกัน:

  • ไต่ขึ้น = การไต่ระดับแนวตั้ง
  • ไต่ระดับ = การปรับสเกลในแนวนอน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.