คำถามติดแท็ก replication

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

1
การลบบันทึก bin ในสภาพแวดล้อมการจำลองแบบ
ฉันมีคำถามเกี่ยวกับการลบบันทึกแบบไบนารีในสภาพแวดล้อมการจำลองแบบ: เรามีสภาพแวดล้อมที่มี 1 master และ 2 slaves (กำลังเรียกใช้ mysql 5.5) บางครั้งเราพบปัญหาเกี่ยวกับพื้นที่ระหว่างการประมวลผลครั้งใหญ่โดยที่ bin log directory เต็ม บันทึกหมดอายุทุก 3 วัน ฉันสงสัยว่ามีเหตุผลหรือไม่ที่จะต้องเก็บบันทึกไว้เป็นเวลา 3 วันในกล่องทั้งหมด - ผู้เชี่ยวชาญและทาสทั้งสอง? ยกตัวอย่างเช่นการเก็บบันทึกเป็นเวลา 3 วันสำหรับต้นแบบ แต่สำหรับทาส 1 วัน วิธีที่ดีที่สุดที่จะไปเกี่ยวกับมันคืออะไร? ขอขอบคุณ!

1
ทำซ้ำตารางไปยังชื่อฐานข้อมูลอื่น
สภาพแวดล้อมการควบคุมคุณภาพของเรามีชื่อฐานข้อมูลทั้งหมดที่ต่อท้ายด้วย "ทดสอบ" ตัวอย่างเช่น dbname1 ในการผลิตจะมี dbname1test สำรองใน QA (ส่วนใหญ่จะช่วยป้องกันการตั้งค่า prod / qa ที่ผสมกัน) มีตารางจำนวนหนึ่งที่ฉันต้องการจำลองตารางการผลิตจริงลงใน QA ฉันไม่แน่ใจว่าจะบอกให้พูดว่า "ทำซ้ำจาก dbname1 ไปยัง dbname1test ที่นั่นหรือไม่" เป็นไปได้ไหม

5
มันไม่ฉลาดที่จะเรียกใช้การจำลองแบบบนเซิร์ฟเวอร์จริงหรือไม่?
ฉันใคร่ครวญการตั้งค่าการจำลองแบบ Master-Slave สำหรับฐานข้อมูลของฉัน เซิร์ฟเวอร์ทาสจะใช้สำหรับความซ้ำซ้อนและอาจเป็นเซิร์ฟเวอร์รายงาน อย่างไรก็ตามหนึ่งในปัญหาที่ใหญ่ที่สุดที่ฉันพบคือเราได้ใช้พลังงานอย่างเต็มประสิทธิภาพที่ดาต้าเซ็นเตอร์แล้ว ดังนั้นการเพิ่มเซิร์ฟเวอร์ทางกายภาพอื่นไม่ใช่ตัวเลือก เซิร์ฟเวอร์ฐานข้อมูลที่มีอยู่ของเรานั้นมีการใช้งานไม่เพียงพอเท่าที่ cpu (ค่าเฉลี่ยการโหลดไม่เคยสูงกว่า 1 ใน quad-core) ดังนั้นแนวคิดที่สำคัญคือการโยนในไดรฟ์ใหม่และเพิ่มหน่วยความจำเป็นสองเท่า (จาก 8GB ถึง 16) และเรียกใช้อินสแตนซ์ mysql ที่สองบนเครื่องทางกายภาพเดียวกัน แต่ละอินสแตนซ์จะมีดิสก์แยกต่างหากสำหรับฐานข้อมูล มีอะไรผิดปกติกับความคิดนี้หรือไม่? แก้ไข (ข้อมูลเพิ่มเติม): ฉัน (โชคดี) ไม่เคยมีอะไรเลวร้ายเกิดขึ้นพอที่จะลงเซิร์ฟเวอร์ แต่พยายามวางแผนล่วงหน้า แน่นอนว่าเรามีการสำรองข้อมูลทุกคืนที่เราสามารถกู้คืนได้ แต่ฉันคิดว่าการมีข้อมูลที่ซ้ำซ้อนในดิสก์แยกต่างหากจะให้วิธีแก้ปัญหาที่รวดเร็วกว่าถ้าไดรฟ์ของเซิร์ฟเวอร์หลักล้มเหลว (เห็นได้ชัดว่าไม่ใช่ถ้าเครื่องทั้งหมดหายไป) สำหรับด้านการรายงานตารางใด ๆ ที่เราจะรายงานออกมาก็คือ MyIsam ดังนั้นการอ่านแพง ๆ บนโต๊ะเดียวกันกับที่เขียนไว้สามารถทำให้ชะงักเซิร์ฟเวอร์ได้ การสันนิษฐานของฉันคือการมีเซิร์ฟเวอร์ทาสเพื่อรายงานว่าจะไม่ส่งผลกระทบต่อเซิร์ฟเวอร์หลักตราบใดที่เราขว้าง RAM เพียงพอ (เพราะ cpu โหลดยังไม่มีปัญหา)

3
การเก็บรักษาการจำลองแบบ Snapshot
ฉันได้ตั้งค่าการจำลองแบบ Snapshot บนเซิร์ฟเวอร์การผลิต SQL Server 2008 ของฉันและฉันเพิ่งสังเกตเห็นว่ามีสแนปชอตอยู่หลายปีก่อนในโฟลเดอร์สแน็ปช็อต ฉันจะเปลี่ยนการเก็บรักษาสำหรับสแนปชอตเหล่านี้ได้อย่างไร โดยเฉพาะฉันต้องการเก็บสแนปชอตเป็นเวลา 5 วัน นี่คือภาพหน้าจอของโฟลเดอร์ที่ฉันกำลังดู:

1
อัปเกรด SQL Server 2005 เป็น SQL Server 2012
ฉันมีการตั้งค่าสภาพแวดล้อมการทดสอบด้วยสิ่งต่อไปนี้: เครื่องเสมือน (Hyper-V) Windows Server 2008 R2 SP1 (x64 บิต) SP4 นักพัฒนา Windows SQL Server 2005 SP4 (x64 บิต) (ชื่ออินสแตนซ์เริ่มต้น) 1 ฐานข้อมูลพร้อมการจำลองแบบผสานตั้งค่า ... 3 สิ่งพิมพ์ที่มีสมาชิก 2 ราย เรากำลังทดสอบขั้นตอนการอัปเกรดเป็น SQL Server 2012 Developer Edition (sp1) ... ฉันดาวน์โหลด iso สำหรับ 64bit SQL Server 2012 Dev (sp1) จาก MSDN (สำเนาลิขสิทธิ์แบบเต็ม) และเริ่มลงเส้นทางการอัพเกรด ในขั้นตอนสุดท้ายที่เริ่มต้นการตรวจสอบเกณฑ์ที่แตกต่างกันเราพบปัญหาที่แปลกประหลาดตามที่อธิบายไว้ด้านล่าง: Rule …

2
ความแตกต่างระหว่างการทำซ้ำแถวและคำสั่งใน MySQL?
ความแตกต่างที่แท้จริงระหว่างการจำลองแบบตามแถวและตามคำสั่งคืออะไร ฉันกำลังมองหาในแง่ของผลกระทบของการจำลองแบบต่อทาส ถ้าฉันใช้การจำลองแบบแบบแถวแล้วจะมีผลกับทาสอย่างไรและถ้าฉันใช้ข้อความที่อิงตามคำสั่งจะมีผลอย่างไร โปรดใช้พารามิเตอร์ต่อไปนี้ในการพิจารณา: replicate-ignore-db and replicate-do-db ขอบคุณ .... !

3
ข้อมูลการตรวจสอบการจำลองแบบโดยใช้ T-SQL
รูปภาพด้านล่างแสดงปัญหาการจำลองแบบธุรกรรมที่ฉันกำลังตรวจสอบอยู่ รูปภาพมาจากการตรวจสอบการจำลองแบบ ฉันจะรับข้อมูลนี้โดยใช้ T-SQL ได้อย่างไร

3
การจำลองแบบ MySQL - ทาสจะล้าหลังอาจารย์อย่างต่อเนื่อง
ฉันใช้ MySQL-5.1.50 ด้วยการตั้งค่าการจำลองแบบ Master-slave ส่วนใหญ่เวลาที่ทาสล้าหลังนาย เมื่อฉันเรียกใช้show processlist;ไม่มีการสืบค้นที่ใช้เวลานาน ฉันเปิดใช้งานslow_logเช่นกัน อย่างไรก็ตามไม่พบการสืบค้นที่ทำงานช้า Slave จะส่งการแจ้งเตือนอย่างต่อเนื่องว่าการเรพลิเคทเป็นวินาทีหลังต้นแบบ บางครั้งเวลาล่าช้าจะเพิ่มขึ้น ฉันจะวินิจฉัยสาเหตุของปัญหาได้อย่างไร ฉันต้องการความช่วยเหลือเร่งด่วนเนื่องจากปัญหานี้ยังคงมีอยู่ในช่วง 20 วันที่ผ่านมา

1
การตรวจสอบข้อมูลโต้ตอบกับการจำลองแบบสตรีมได้อย่างไร
การตรวจสอบข้อมูลเป็นคุณลักษณะใหม่ที่นำเสนอใน 9.3 และ: มีพารามิเตอร์ GUC ใหม่ "ign_checksum_failure" ซึ่งจะบังคับให้ PostgreSQL ดำเนินการประมวลผลธุรกรรมต่อไปแม้ว่าจะตรวจพบความเสียหาย ในกรณีที่ความล้มเหลวในการตรวจสอบบนต้นแบบการจำลองข้อมูลที่เสียหายจะถูกทำซ้ำเป็นทาสหรือจะหยุดการจำลองแบบ มันขึ้นอยู่กับการตั้งค่าของignore_checksum_failure? นี้ README มีข้อมูลที่เกี่ยวข้องที่มีประโยชน์บาง แต่ไม่ได้โดยตรงตอบคำถาม

1
การจำลองแบบ SQL Server Snapshot ทำสำเนาข้อมูลทุกครั้งหรือไม่
ฉันกำลังดูการจำลองแบบภาพรวมระหว่างเซิร์ฟเวอร์สองเครื่อง นี่คือสิ่งที่ฉันมี: ฐานข้อมูล 500GB ~ 500MB ต่อวันโหลด bcp ~ 50MB การทำธุรกรรมรายวัน ฉันถาม DBA อื่น ๆ ใน บริษัท เกี่ยวกับประเภทการจำลองแบบที่จะใช้ ฉันบอกให้ใช้การจำลองแบบ Snapshot อย่างไรก็ตามจากสิ่งที่ฉันเข้าใจและได้อ่านทุกคืนหลังจากโหลดสแน็ปช็อตจะคัดลอกฐานข้อมูลทั้งหมดไปยังผู้จัดจำหน่ายแล้วเขียนทับเซิร์ฟเวอร์อื่นอย่างสมบูรณ์ สแน็ปช็อตใช้งานได้ในเดลตาหรือเป็นสำเนาที่สมบูรณ์ทุกครั้งหรือไม่?

2
ผลกระทบของการเปลี่ยนระดับความเข้ากันได้ของฐานข้อมูลสำหรับฐานข้อมูลที่จำลองแบบที่เผยแพร่จาก 90 เป็น 100
ฉันมีเซิร์ฟเวอร์ SQL Server 2008 R2 ที่มีฐานข้อมูลที่เผยแพร่ซึ่งปัจจุบันทำงานภายใต้ระดับความเข้ากันได้ 90 (2005) ฐานข้อมูลการสมัครสมาชิกเป็น SQL Server 2008 R2 ด้วยอย่างไรก็ตามฐานข้อมูลปลายทางจะถูกตั้งค่าเป็นระดับความเข้ากันได้ 100 และการจำลองแบบทำงานได้ดี หากฉันเปลี่ยนระดับความเข้ากันได้สำหรับฐานข้อมูลที่เผยแพร่แล้วจะมีผลต่อการจำลองแบบในทางใดทางหนึ่งหรือจะเป็นกรณีของการเริ่มต้นการสมัครสมาชิกใหม่ทั้งหมดและเริ่มการจำลองแบบใหม่หรือไม่ ฉันสงสัยว่าการเปลี่ยนระดับความเข้ากันได้ของฐานข้อมูลที่เผยแพร่อาจเปลี่ยนแปลงวิธีการที่การจำลองแบบที่เก็บไว้ทำงานเล็กน้อย แต่ฉันไม่แน่ใจ 100% เป็นกรณีนี้หรือไม่?

2
พยายามเข้าใจ SHOW SLAVE STATUS ใน MySQL
ฉันมีการตั้งค่าการจำลองแบบ Master-Slave และดูเหมือนว่ามันจะทำงานได้ดี ด้านล่างเป็นผลลัพธ์ของSHOW SLAVE STATUSคำสั่ง: show slave STATUS\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: *.*.*.* Master_User: repliV1 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 10726644 Relay_Log_File: mysqld-relay-bin.000056 Relay_Log_Pos: 231871 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: data1 Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: …

2
ปัจจัยอะไรบ้างที่บ่งบอกถึงเวลาที่ต้องใช้การจำลองแบบ SQL Server
ฉันพยายามสร้างสมดุลระหว่างฐานข้อมูลที่มีประสิทธิภาพสูงและการบำรุงรักษาง่าย เรากำลังพิจารณาที่จะใช้การจำลองแบบเพื่อปรับปรุงประสิทธิภาพโดยการจำลองรายงาน SSRS ของเราไปยังฐานข้อมูลแยกทางกายภาพจากฐานข้อมูลธุรกรรมของเรา อย่างไรก็ตามการเปิดใช้งานการจำลองแบบมีข้อเสียจำนวนหนึ่งจากมุมมองของนักพัฒนา: มันทำให้การเปลี่ยนแปลงสคีมายากขึ้น มันรบกวนกับเซิร์ฟเวอร์การรวม / สร้างอัตโนมัติของเรา ดูเหมือนว่าจะทำให้มันยากที่จะใช้การควบคุมแหล่ง SQL คำถามของฉันคือ : เมื่อคุณรู้ว่าถึงเวลาที่จะไปกับการจำลองแบบในแง่ของข้อบกพร่องเหล่านี้? คุณจะตัดสินใจได้อย่างไรว่าความซับซ้อนที่เพิ่มเข้ามานั้นเหมาะสมกับผลกำไรหรือไม่? เราเคยใช้มาก่อนการตั้งค่าจึงไม่เป็นปัญหา นี่คือเพิ่มเติมเกี่ยวกับการตัดสินใจหรือไม่เปิดใช้งาน ฉันกำลังมองหาตัวชี้วัดประสิทธิภาพการทำงานของวัตถุที่คนอื่น ๆ สังเกตด้วยการจำลองแบบ แน่นอนว่าสิ่งที่ดีที่สุดคือการทดสอบโหลดแบบจำลองบนเซิร์ฟเวอร์ของเราและคิดออกเอง แต่ฉันหวังว่าจะมีแนวทางทั่วไปอยู่บ้าง

3
การจำลองแบบ MySQL ได้รับผลกระทบจากการเชื่อมต่อระหว่างกันที่มีความล่าช้าสูงหรือไม่
เรามี vanilla master และ MySQL setup ที่อยู่ในดาต้าเซ็นเตอร์ที่ต่างกันและสเลฟอื่นในดาต้าเซ็นเตอร์เดียวกับ master แบนด์วิดท์ระหว่างดาต้าเซ็นเตอร์นั้นค่อนข้างสูง (ในการวัดประสิทธิภาพเครือข่ายที่เราทำเราสามารถไปถึง 15MB / วินาที) แต่มีความหน่วงแฝงอยู่ประมาณ 28ms มันไม่สูงด้วยวิธีใด ๆ แต่มันจะสูงกว่าเวลาแฝงย่อยที่สองในดาต้าเซ็นเตอร์เดียวกัน ในบางครั้งเราพบความล่าช้าที่รุนแรง (2,000 วินาทีขึ้นไป) กับการลบสลาฟในขณะที่สลาฟท้องถิ่นจะอัปเดตอยู่เสมอ เมื่อดูที่ remote slave lagging, โดยปกติแล้วเธรด SQL จะใช้เวลาในการรอเธรด IO เพื่ออัพเดตล็อกรีเลย์ ต้นแบบแสดง "กำลังรอเน็ต" หรือบางอย่างในเวลาเดียวกัน ดังนั้นหมายความว่าเป็นเครือข่าย แต่เรายังคงมีแบนด์วิดธ์ฟรีในขณะที่เกิดเหตุการณ์นี้ คำถามของฉันคือสามารถแฝงระหว่างศูนย์ข้อมูลที่มีผลต่อประสิทธิภาพการจำลองแบบหรือไม่ slave io thread เพียงแค่สตรีมเหตุการณ์จนกระทั่งต้นแบบหยุดส่งหรือว่ามันรวมกำไรหลักระหว่างเหตุการณ์หรือไม่?

3
คุณจะซิงค์ Master MySQL DB กับ Slave DB ใหม่ได้อย่างไรถ้า Master ทำการออฟไลน์
MySQL Server 1 ทำงานเป็น Master MySQL Server 2 ทำงานเป็น Slave ด้วยฐานข้อมูลออนไลน์ทั้งคู่พวกเขาอยู่ใน "ซิงค์ที่สมบูรณ์แบบ" หาก Slave ออฟไลน์จะไม่มีปัญหาหาก Master ยังคงออนไลน์ พวกเขาจะกลับไปซิงค์อีกครั้งเมื่อ Slave ออนไลน์อีกครั้ง นอกเหนือจากการกำหนดค่าเซิร์ฟเวอร์ฉันเปลี่ยนเส้นทางการเชื่อมต่อ (ด้วยรหัส JSP) สำหรับฐานข้อมูล Slave ถ้าเจ้านายเป็นออฟไลน์ (ฉันทดสอบแน่นอนด้วย /etc/init.d/mysqld หยุด) เมื่อ Master กลับมาออนไลน์จะมีวิธีการใดในการซิงค์ Master กับการอัพเดต Slave โดยอัตโนมัติหรือไม่?

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