ปัจจัยอะไรบ้างที่บ่งบอกถึงเวลาที่ต้องใช้การจำลองแบบ SQL Server


11

ฉันพยายามสร้างสมดุลระหว่างฐานข้อมูลที่มีประสิทธิภาพสูงและการบำรุงรักษาง่าย เรากำลังพิจารณาที่จะใช้การจำลองแบบเพื่อปรับปรุงประสิทธิภาพโดยการจำลองรายงาน SSRS ของเราไปยังฐานข้อมูลแยกทางกายภาพจากฐานข้อมูลธุรกรรมของเรา อย่างไรก็ตามการเปิดใช้งานการจำลองแบบมีข้อเสียจำนวนหนึ่งจากมุมมองของนักพัฒนา:

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

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

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

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


1
คุณจะตัดสินใจได้อย่างไรว่าความซับซ้อนเพิ่มเติมนั้นมีมากกว่าผลกำไร มีเพียงคุณเท่านั้นที่ตอบได้! สถานการณ์ของทุกคนต่างกัน ....

แต่ฉันจะรู้ได้อย่างไรว่าจะได้รับสิ่งใดถึงจะได้รับจนกว่าฉันจะตั้งค่าไว้แล้ว? ฉันเดาว่าเป็นคำถาม มีการวัดประสิทธิภาพใด ๆ บ้างหรือไม่?

คำตอบ:


2

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

สำหรับวัตถุประสงค์ในการรายงานการจำลองแบบไม่ใช่คำตอบ ปัญหาประสิทธิภาพส่วนใหญ่ในสภาพแวดล้อมการรายงานมาจากข้อเท็จจริงที่ว่ามีการเขียนรายงานกับระบบที่กำหนดค่าไว้สำหรับการประมวลผลธุรกรรมออนไลน์ (OLTP)

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

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

โดยทำตามวิธีนี้คุณจะได้รับประโยชน์ด้านประสิทธิภาพอย่างมาก


1

สำหรับสิ่งที่คุ้มค่าเราพบว่าการจำลองแบบมีประโยชน์ในสถานการณ์ที่คล้ายกันเพราะผู้เขียนรายงานสามารถ "เป็นเจ้าของ" ดัชนีในฐานข้อมูลที่จำลอง สิ่งนี้ทำให้เรามีความสามารถในการปรับปรุงประสิทธิภาพการสืบค้นโดยการเพิ่มดัชนีที่นักพัฒนาแอปพลิเคชันไม่เคยได้รับอนุมัติในการผลิตเนื่องจากผลกระทบเชิงลบต่อ INSERTS และ UPDATES

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

หวังว่านี่จะช่วยได้!

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