MySQL Fabric และ MySQL Cluster ต่างกันอย่างไร


9

ฉันยังใหม่กับโลก MySQL และทั้งสองก็สับสน พวกเขาทั้งคู่ไม่ให้ความพร้อมใช้งานสูงและการแยกชิ้นส่วนใช่หรือไม่

นอกจากนี้ WebScaleSQL เปรียบเทียบอย่างไร

คำตอบ:


20

3 สิ่งเหล่านี้ไม่มีอะไรเกี่ยวข้องกัน ฉันจะให้คำแนะนำแก่คุณและคุณสามารถค้นหาหรือขอข้อมูลเพิ่มเติมแยกต่างหาก:

MySQL Clusterเป็นชื่อทางการตลาดของสิ่งที่พวกเราหลายคนเรียก - เพื่อหลีกเลี่ยงความสับสนเช่นเดียวกับที่คุณกำลังทุกข์ทรมานจาก - "NDB Cluster" หรือ "MySQL NDB Cluster" เป็นที่เก็บคีย์ - ค่าหน่วยความจำส่วนใหญ่แบบซิงโครนัสซึ่งอนุญาตให้มีสถาปัตยกรรมแบบไม่มีอะไรที่ใช้ร่วมกันได้สำหรับ MySQL (จัดเตรียมแบ็กเอนด์ให้กับ NDB Engine) มันให้เศษอัตโนมัติ (ดังนั้นดีกว่าอ่านและเขียนทรูพุต) และความพร้อมใช้งานสูง. มันทำงานได้ดีสำหรับระบบคีย์ข้อมูลขนาดเล็กที่มีปริมาณงานสูง แต่มีความซับซ้อนในการตั้งค่า (นำไปสู่ปัญหาหากไม่ได้กำหนดค่าอย่างถูกต้องหรือถูกใช้ในวิธีที่ไม่ได้ตั้งใจ) และไม่ใช่ความล่าช้าที่ดีที่สุด ฉลาด (ความเร็วดิบ) นี่เป็นเวอร์ชั่นที่เรียบง่าย (สามารถใช้กับสิ่งอื่น ๆ ได้มากกว่าหน่วยความจำเท่านั้นและคีย์ - ค่า แต่มันถูกออกแบบมาโดยรอบ) ในความคิดของฉันวิศวกรรมที่ดีมาก แต่มีข้อ จำกัด ในการใช้งานเนื่องจากเป็นผลิตภัณฑ์ที่แตกต่างจากเซิร์ฟเวอร์ MySQL ทั่วไปที่มีการดาวน์โหลดแยกต่างหาก (และจำเป็นต้องใช้เครื่องมือเฉพาะ)

MySQL ผ้าเป็นชุดเครื่องมือ / มิดเดิลแวร์เขียนในหลามที่ช่วยให้ผู้จัดการของชุดของ MySQL เซิร์ฟเวอร์ปกติในสภาพแวดล้อมที่ มันไม่ได้เป็นคลัสเตอร์ต่อ seแต่จะอำนวยความสะดวกในการจัดการของหนึ่ง มีลิงก์ไปยัง (ตอนนี้) ตัวเชื่อมต่อ Java และ Python ดังนั้นจึงสามารถจัดการกับ sharding และความพร้อมใช้งานสูงของเซิร์ฟเวอร์ได้โดยอัตโนมัติ แต่เป็นเลเยอร์ที่อยู่ด้านบนสุดของเซิร์ฟเวอร์ MySQL ปกติและการจำลองแบบปกติ . การจำลองแบบจนถึงขณะนี้คือแบบอะซิงโครนัส (หรือกึ่งซิงโครนัส) ดังนั้นจึงอาจไม่ได้ให้ความมั่นคงและความปลอดภัยที่ดีที่สุด สิ่งนี้อาจเปลี่ยนแปลงในรุ่น 5.7 ในอนาคต อย่างไรก็ตามวิธีการนี้มีค่าใช้จ่ายในการตอบสนองต่อเวลาน้อยกว่าและใช้เทคโนโลยีการจำลองแบบที่คุ้นเคยมากกว่าของ MySQL DBA MySQL Fabric เป็นเด็กที่ค่อนข้างใหม่ในละแวกใกล้เคียงดังนั้นจึงยังไม่ขยายออกไปมากนัก แต่ดูเหมือนว่าปฏิกิริยาของออราเคิล (รวมถึงการจำลองแบบซิงโครนัสที่ประกาศแล้ว) ให้กับกลุ่ม Galera-based ของคู่แข่ง

หากคุณต้องการใช้การแบ่งส่วนและ HA คุณอาจใช้หนึ่งในสองผลิตภัณฑ์เก่า แต่อาจเป็นไปได้สำหรับสถานการณ์ที่แตกต่างกันโดยสิ้นเชิง

WebScaleSQLไม่ใช่โซลูชัน HA เช่นเดียวกับก่อนหน้านี้เป็นเพียงชื่อที่ บริษัท หลายแห่งมอบให้กับMySQL / ทางแยกของรุ่นที่พวกเขาแบ่งปันแพทช์เฉพาะที่พวกเขาต้องการและบางที Oracle ไม่ได้ใช้ เท่าที่ฉันรู้ว่ามันถูกสร้างขึ้นโดย Facebook, Twitter, LinkedIn และ Google และพวกเขา rebase รุ่น MySQL ของตัวเองบนฐานสามัญนั้น พวกเขาไม่ได้ให้การสนับสนุนหรือเผยแพร่ไบนารี หากคุณเป็นผู้ใช้คุณอาจไม่ควรใช้มัน แต่คุณควรจับตามองโครงการเพื่อดูว่าอะไรจะเกิดขึ้นจากมันหรือการตอบสนองจากผู้ขายรายอื่น

หากคุณพยายามที่จะเรียนรู้ / เริ่มต้นด้วย MySQL HA / การปรับขนาดให้เริ่มต้นด้วยการจำลองแบบ MySQLขั้นพื้นฐาน(อาจไม่ดีที่สุด แต่มันเป็นสิ่งที่ง่ายที่สุดในการเริ่มต้นด้วย) จากนั้นคุณสามารถดำเนินการต่อจากที่นั่นไปยังโซลูชันอื่น ๆ : DRBD [ sic], การจำลองแบบ GTID, NDB, Galera, Tungsten


ทำไมคุณถึงใส่ "[sic]" หลังชื่อ DRBD ฉันได้ดูพวกเขาและพวกเขาน่าประทับใจพอสมควรจากมุมมองทางเทคโนโลยี
Vérace

DRBD เป็นเทคโนโลยีระดับบล็อกซึ่งหมายความว่าไม่รู้อะไรเกี่ยวกับ DB หรือบัฟเฟอร์ อย่าคาดหวังประสิทธิภาพที่ยอดเยี่ยมสำหรับระบบ OLTP มันไม่สามารถใช้งานได้ (ไม่เหมือนในโหมดอ่านอย่างเดียว) ถ้า MySQL ล่มคุณต้องกู้คืนเนื่องจากมันล้มเหลวในเครื่องและไม่ปกป้องคุณจากความเสียหายของฐานข้อมูล มันไม่ได้เป็นเทคโนโลยี "ไม่มีอะไรที่ใช้ร่วมกัน" อย่างแท้จริงในระดับตรรกะ - มันเป็น RAID แบบกระจายมากกว่าดังนั้นจึงไม่เหมาะสำหรับ MySQL เป็นการดีสำหรับโหลดที่เขียนน้อยหรือถ้าคุณต้องการแจกจ่ายหลายโปรโตคอลในเวลาเดียวกัน การจำลองแบบกึ่งซิงค์แถวที่ใช้แถวนั้นดีกว่าอย่างอื่น
jynus

@ Vérace ... โดยสรุปแล้วเป็นการคัดค้านกรณีการใช้งาน (การจัดกลุ่ม MySQL) ฉันไม่มีอะไรเทียบกับเทคโนโลยีในกรณีอื่น ๆ ที่โปรโตคอลระดับสูงอาจไม่พร้อมใช้งาน / มันอาจจะดีกว่า
jynus

ฉันเข้าใจอย่างถ่องแท้ - จุดเกี่ยวกับการบัฟเฟอร์นั้นทำมาอย่างดี - DRBD อย่างที่คุณบอกไม่ทราบอะไรเกี่ยวกับ internals ของ MySQL - เช่นสิ่งที่ทำไว้ แต่ยังไม่ได้เขียนลงดิสก์จะหายไปในกรณีที่เกิดความผิดพลาด
Vérace

2

MySQL Fabric ถูกนำมาใช้เป็นโหนด / กระบวนการของ Fabric Fabric ของ MySQL (ซึ่งทำหน้าที่จัดการด้านการจัดการ) และตัวเชื่อมต่อ Fabric-aware ซึ่งสามารถกำหนดเส้นทางการสืบค้นและธุรกรรมโดยตรงไปยังเซิร์ฟเวอร์ MySQL ที่เหมาะสมที่สุด โหนด MySQL Fabric เก็บข้อมูลสถานะและเส้นทางใน State Store (ซึ่งเป็นฐานข้อมูล MySQL)

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

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