วิธีที่ฉันชอบเห็นภาพโซลูชันที่มีความพร้อมใช้งานสูงมีดังต่อไปนี้:
SQL Server Failover Cluster อินสแตนซ์ (FCI)
มีอะไรสูง ตัวอย่างทั้งหมด ซึ่งรวมถึงวัตถุเซิร์ฟเวอร์ทั้งหมด (เข้าสู่ระบบงานตัวแทนของเซิร์ฟเวอร์ SQL ฯลฯ ) ซึ่งรวมถึงฐานข้อมูลและเอนทิตีที่มีอยู่ เป็นโซลูชันที่ยอดเยี่ยมสำหรับอินสแตนซ์ของ SQL Server ที่พร้อมใช้งานสูงเนื่องจากนั่นจะเป็นระดับของการบรรจุด้วยโซลูชันที่กำหนดนี้
สิ่งที่เกี่ยวกับการรายงาน ไม่มี, NULL, ไม่มีอยู่ อินสแตนซ์ของคลัสเตอร์ล้มเหลวมีโหนดที่แอ็คทีฟที่ส่งมอบกลุ่มคลัสเตอร์ที่มีอินสแตนซ์ VNN และโหนดอื่น ๆ ทั้งหมดเป็นแบบพาสซีฟการไม่ทำงานที่ใช้งาน (เท่าที่เกี่ยวข้องกับกลุ่มคลัสเตอร์ปัจจุบัน) และรอการล้มเหลว
จะเกิดอะไรขึ้นเมื่อมีความล้มเหลว การหยุดทำงานสำหรับ FCI จะถูกกำหนดโดยระยะเวลาที่โหนดแฝงใช้เพื่อจับทรัพยากรคลัสเตอร์และทำให้อินสแตนซ์ของ SQL Server อยู่ในสถานะกำลังทำงาน โดยทั่วไปจะใช้เวลาน้อยที่สุด
สิ่งที่เป็นนามธรรมลูกค้า? ใช่สิ่งนี้จะถูกสร้างขึ้นภายในด้วยชื่อเครือข่ายเสมือนสำหรับอินสแตนซ์ของคลัสเตอร์ล้มเหลว สิ่งนี้จะชี้ไปยังโหนดที่ใช้งานอยู่ซึ่งกำลังส่งทรัพยากรคลัสเตอร์ SQL Server ในปัจจุบัน
กลุ่มความพร้อมใช้งาน AlwaysOn
มีอะไรสูง กลุ่มความพร้อมใช้งานจะเป็นข้อ จำกัด ทางตรรกะของความพร้อมใช้งานสูงที่นี่ในขณะที่กลุ่มความพร้อมใช้งานประกอบด้วยฐานข้อมูลจำนวนหนึ่งและชื่อเครือข่ายเสมือน (ผู้ฟังซึ่งเป็นทรัพยากรคลัสเตอร์ทางเลือก) เป็นที่น่าสังเกตว่าวัตถุเซิร์ฟเวอร์เช่นการเข้าสู่ระบบและงานตัวแทนของเซิร์ฟเวอร์ SQL จะไม่เป็นส่วนหนึ่งของโซลูชัน HA และต้องพิจารณาเป็นพิเศษเพื่อให้แน่ใจว่าสิ่งเหล่านี้จะถูกนำไปใช้อย่างเหมาะสมกับกลุ่มความพร้อมใช้งาน ไม่ใช่ข้อกำหนดที่หนักเกินไป แต่จำเป็นต้องได้รับการดูแล
แล้วการรายงานล่ะ นี่เป็นโซลูชันที่ยอดเยี่ยมสำหรับการรายงานแม้ว่าฉันอาจจะไม่ใช้แบบจำลองซิงโครนัสเป็นอินสแตนซ์การรายงานของฉัน มีความสัมพันธ์การคอมมิตสองรายการคือแบบซิงโครนัสและแบบอะซิงโครนัส ในความเห็นของฉันและจากสิ่งที่ฉันได้เห็นในทางปฏิบัติก็คือแบบจำลองที่สองของคุณแบบซิงโครนัสกำลังรอให้เกิดภัยพิบัติ คิดว่ามันเป็นแบบจำลองที่พร้อมที่จะรับการล้มเหลวที่ไม่มีข้อมูลสูญหายในกรณีที่เกิดปัญหา จากนั้นมีแบบจำลองแบบอะซิงโครนัสที่สามารถจัดการปริมาณงานที่รายงาน คุณไม่ได้ใช้แบบจำลองนี้เป็นวิธีการแก้ปัญหาข้างต้น แต่ให้ความสำคัญกับสิ่งต่าง ๆ เช่นการรายงาน การรายงานปริมาณงานสามารถชี้ไปที่เรพลิคานี้ (ไม่ว่าโดยตรงหรือโดยอ้อมผ่านการกำหนดเส้นทางอ่านอย่างเดียวผ่านผู้ฟัง)
จะเกิดอะไรขึ้นเมื่อมีความล้มเหลว สำหรับการซิงโครนัสคอมมิทรองแบบจำลองที่จับคู่กับ failover อัตโนมัตินี่จะเป็นการเปลี่ยนสถานะบทบาทของแบบจำลองจาก SECONDARY_NORMAL เป็น primary_NORMAL เพื่อให้มีการเฟลโอเวอร์อัตโนมัติคุณจำเป็นต้องมีเรพพลิเคชั่นสำรองที่ซิงโครไนซ์ที่ถูกซิงโครไนซ์ในปัจจุบันและสิ่งที่นำไปใช้คือนโยบายการเฟลโอเวอร์แบบยืดหยุ่นเพื่อพิจารณาว่าเมื่อใด นโยบายนั้นสามารถกำหนดค่าได้อย่างแน่นอน
สิ่งที่เป็นนามธรรมลูกค้า? ใช่คุณสามารถเลือกกำหนดค่าฟังกลุ่มความพร้อมใช้งาน AlwaysOn ได้ นี่เป็นเพียงชื่อเครือข่ายเสมือน (สามารถมองเห็นได้ผ่าน WSFC เป็นทรัพยากรคลัสเตอร์ในกลุ่มคลัสเตอร์ของ AG) ที่ชี้ไปที่แบบจำลองหลักปัจจุบัน นี่เป็นส่วนสำคัญในการเลื่อนปริมาณงานการรายงานของคุณรวมถึงการตั้งค่ารายการเส้นทางแบบอ่านอย่างเดียวบนเซิร์ฟเวอร์ใด ๆ ที่คุณต้องการเปลี่ยนเส้นทางปริมาณการใช้งานแบบอ่านอย่างเดียว (นี่คือการตั้งค่าผ่านสายอักขระการเชื่อมต่อ เซิร์ฟเวอร์นี่จะเป็นพารามิเตอร์Application Intentตั้งค่าเป็นReadOnly ) คุณจะต้องตั้งค่า URL การกำหนดเส้นทางแบบอ่านอย่างเดียวสำหรับแต่ละเรพพลิกาที่คุณต้องการรับเวิร์กโหลดการรายงานนี้ในขณะที่อยู่ในบทบาทเรพพลิเคชันสำรอง
การจำลองแบบของทรานแซคชัน
มีอะไรสูง นี้เป็นเรื่องถกเถียงกัน แต่ฉันจะพูดอะไร ฉันไม่เห็นการจำลองแบบเป็นโซลูชันความพร้อมใช้งานสูง แต่อย่างใด ใช่การแก้ไขข้อมูลจะถูกส่งไปยังสมาชิก แต่เรากำลังพูดถึงในระดับสิ่งพิมพ์ / บทความ นี่จะเป็นชุดย่อยของข้อมูล (อาจรวมถึงข้อมูลทั้งหมด แต่จะไม่ถูกบังคับใช้นั่นคือคุณสร้างตารางใหม่ในฐานข้อมูลผู้เผยแพร่และจะไม่ถูกส่งไปยังสมาชิกโดยอัตโนมัติ) เท่าที่ HA ดำเนินไปนี่คือจุดต่ำสุดของบาร์เรลและฉันจะไม่รวมมันเข้ากับโซลูชัน HA ที่แข็งกระด้าง
สิ่งที่เกี่ยวกับการรายงาน ทางออกที่ดีสำหรับการรายงานชุดย่อยของข้อมูลไม่ต้องสงสัยเลยว่า หากคุณมีฐานข้อมูล 1 TB ที่มีการทำธุรกรรมสูงและคุณต้องการเก็บรายงานภาระงานนั้นออกจากฐานข้อมูล OLTP การจำลองแบบของทรานแซคชันเป็นวิธีที่ยอดเยี่ยมในการผลักดันชุดย่อยของข้อมูลไปยังสมาชิก (หรือสมาชิก) สำหรับปริมาณงานการรายงาน จะเกิดอะไรขึ้นหากจากข้อมูล 1 TB นั้นภาระงานการรายงานของคุณมีค่าประมาณ 50 GB เท่านั้น นี่เป็นโซลูชันที่ชาญฉลาดและสามารถกำหนดค่าได้ค่อนข้างตรงกับความต้องการทางธุรกิจของคุณ
สรุป
สิ่งที่ทำให้เกิดคำถามมากมายที่จำเป็นต้องได้รับคำตอบ (ธุรกิจส่วนหนึ่ง):
- จะต้องมีอะไรพร้อมใช้งานสูง
- อะไรSLAบอกให้เขียนสำหรับ HA / DR?
- การรายงานประเภทใดที่จะเกิดขึ้นและเวลาในการตอบสนองเป็นเท่าใด
- เราจำเป็นต้องจัดการกับHA ที่กระจายตัวทางภูมิศาสตร์อย่างไร (การจำลองแบบการจัดเก็บข้อมูลมีราคาแพง แต่ต้องมี FCI AGs ไม่ต้องการที่เก็บข้อมูลที่ใช้ร่วมกันจากอินสแตนซ์แบบสแตนด์อโลนและคุณสามารถใช้พยานการแชร์ไฟล์สำหรับองค์ประชุมที่อาจไม่จำเป็นต้องใช้พื้นที่เก็บข้อมูลร่วม)