หากข้อมูลที่คุณวางแผนจะโยกย้ายไม่ดีในปัจจุบันข้อมูลนั้นจะต้องได้รับการแก้ไขไม่ว่าคุณจะทำการย้ายข้อมูลหรือไม่ ข้อมูลที่ไม่ถูกต้อง = ข้อมูลที่ไร้ประโยชน์
การโยกย้ายมีความเสี่ยงนั่นเป็นเรื่องจริง แต่เป็นโครงการไอทีที่สำคัญทุกโครงการ มีวิธีการลดความเสี่ยงและพวกเขาควรจะวางแผนล่วงหน้าในการโยกย้าย
ก่อนอื่นคุณควรมีวิธีที่จะกลับไปที่ระบบเหมือนเดิม การโยกย้ายครั้งที่สองควรกระทำบนเซิร์ฟเวอร์ทดสอบที่ตั้งค่าไว้สำหรับการโอนย้ายเท่านั้น เป็นเรื่องโง่ที่จะทำการย้ายถิ่นโดยที่ไม่สามารถทดสอบได้ก่อน ประการที่สามรหัสทั้งหมดสำหรับการโยกย้ายควรอยู่ในการควบคุมแหล่งที่มา
ข้อสี่คุณต้องมีข้อกำหนดและแผนการทดสอบก่อนเริ่มโยกย้าย คุณจำเป็นต้องรู้ว่าถ้าคุณมี 1,293,687 บันทึกในระบบเก่าคุณมีเหมือนกันในใหม่หรือคุณรู้ว่าพวกเขาไปที่ไหน (ไปยังตารางข้อยกเว้น) หากคุณกำลังทำให้รูปแบบของการทำให้เป็นปกติเป็นปกติคุณต้องคำนวณจำนวนระเบียนที่คุณควรจะจบด้วยก่อนที่คุณจะเริ่มแล้วตรวจสอบว่า คุณต้องการเอกสารที่ระบุว่าการแมปจากระบบหนึ่งไปยังอีกระบบหนึ่งคืออะไร วิธีนี้จะช่วยให้คนตรวจสอบคุณภาพของคุณตรวจสอบว่าข้อมูลถูกที่แล้ว
คุณต้องกำหนดวิธีจัดการกับข้อมูลที่ไม่ดีในปัจจุบัน สิ่งที่สามารถทำความสะอาดได้สิ่งที่อาจต้องการค่าในฟิลด์ที่จำเป็นซึ่งระบุว่า 'ไม่ทราบ' สิ่งที่ควรโยนออกไปในตารางข้อยกเว้นสิ่งที่ต้องการการแทรกแซงด้วยตนเองโดยกลุ่มผู้ใช้ (ตัดสินใจว่าคนสองคนนี้เป็นซ้ำหรือ มีแพทย์สองคนที่ใช้ชื่อเดียวกันเช่นกันหรือไม่และเป็นข้อมูลที่ต้องเลือกเมื่อทั้งสองระเบียนแตกต่างกันเป็นต้น)
กุญแจสำคัญในการโยกย้ายที่ประสบความสำเร็จคือการวางแผน ฉันพบว่าการวางแผน (ซึ่งรวมถึงการเขียนกรณีทดสอบและการทดสอบหน่วย) มักใช้เวลามากกว่าการพัฒนาจริง
กุญแจสำคัญในการย้ายข้อมูลที่ประสบความสำเร็จคือ QA นี่ไม่ใช่โครงการที่จะโยนทีม QA หนึ่งวันก่อนเปิดตัว นี่ไม่ใช่โครงการที่จะเปิดตัวเมื่อ QA แจ้งว่ามีปัญหา
กุญแจสำคัญอีกข้อหนึ่งในการย้ายข้อมูลที่ประสบความสำเร็จคือการปรับใช้ข้อมูลส่วนใหญ่และทดสอบในขณะที่ระบบเดิมยังคงทำงานอยู่ หากคุณกำลังย้ายบันทึกจำนวนมากอาจใช้เวลานานและการเปลี่ยนแปลงใหม่จะเกิดขึ้น ดังนั้นกระบวนการของคุณจะต้องสามารถดึงการเปลี่ยนแปลงข้อมูลหลังจากการโยกย้ายเริ่มต้นเช่นกัน อินสแตนซ์ของ SQL Server มีบางสิ่งที่เรียกว่า Change Data Capture ซึ่งสามารถช่วยได้ คุณสามารถสำรองข้อมูลของระบบเดิมและเปิดการจับข้อมูลการเปลี่ยนแปลงในเวลาเดียวกัน จากนั้นคุณสามารถโหลดการสำรองข้อมูลไปยังเซิร์ฟเวอร์การโยกย้ายของคุณทดสอบการโยกย้ายรับข้อมูลส่วนใหญ่ที่โหลดแล้วคุณจะต้องโหลดระเบียนที่มีการเปลี่ยนแปลงเท่านั้น เมื่อคุณโอนย้ายระเบียนสุดท้ายให้ปิดระบบต้นทางจนกว่าจะทำการโยกย้ายเสร็จ นี่คือเหตุผลหนึ่งในการโยกย้ายบันทึกส่วนใหญ่ล่วงหน้า ดังนั้นแอปพลิเคชันจะลดจำนวนเวลาอย่างน้อยที่สุด เลือกเวลาการโยกย้ายของคุณได้ดีอย่าปิดระบบเงินเดือนลงในวันที่พวกเขาควรดำเนินการกับเงินเดือนหรือส่ง W2s และทำในช่วงเวลาการใช้งานต่ำ หากคุณมีลูกค้าหลายรายคุณสามารถพิจารณาการย้ายระบบก่อนและตรวจสอบให้แน่ใจว่าทุกอย่างดีก่อนที่จะดำเนินการกับคนอื่น มันง่ายกว่ามากในการย้อนกลับข้อมูลของลูกค้าหนึ่งรายมากกว่า 10,000 หากมีปัญหา แต่วางแผนอย่างนี้ถ้าคุณทำ ข้อมูลมากกว่า 10,000 ถ้ามีปัญหา แต่วางแผนอย่างนี้ถ้าคุณทำ ข้อมูลมากกว่า 10,000 ถ้ามีปัญหา แต่วางแผนอย่างนี้ถ้าคุณทำ
หากการโยกย้ายเกี่ยวข้องกับอินเทอร์เฟซผู้ใช้ใหม่โปรดให้ผู้ใช้จริงใช้เป็นส่วนหนึ่งของการทดสอบการย้ายข้อมูล จากนั้นฝึกผู้ใช้คนอื่นก่อนที่คุณจะใช้งานจริง (แต่น้อยกว่าหนึ่งสัปดาห์ก่อนที่คุณจะใช้งานไม่เช่นนั้นพวกเขาจะลืม) ให้ผู้ใช้มีส่วนร่วมในการทดสอบช่วยออกแบบการฝึกอบรมพวกเขารู้ว่าพวกเขามีคำถามอะไรและผู้คนจำเป็นต้องรู้อะไรในลำดับใด รับข้อมูลของพวกเขาสร้างฟิลด์ที่ต้องการเพราะคุณคิดว่ามันจะไม่ช่วยถ้าผู้ใช้มักจะไม่มีข้อมูลนั้นเมื่อพวกเขาป้อนข้อมูล พวกเขาจะใส่ขยะลงในช่องที่ต้องการใหม่เพราะพวกเขาไม่สามารถรับข้อมูลได้
ดูว่ามีอะไรผิดปกติกับข้อมูลปัจจุบันคุณสามารถเพิ่มคีย์ต่างประเทศข้อ จำกัด ทริกเกอร์กฎเกณฑ์ทางธุรกิจในแอปพลิเคชันค่าเริ่มต้นและอื่น ๆ เพื่อหลีกเลี่ยงปัญหานี้ในอนาคตได้หรือไม่? เมื่อคุณล้างข้อมูลที่ไม่ถูกต้องคุณต้องสร้างวิธีที่จะหลีกเลี่ยงข้อมูลที่ไม่ถูกต้องเช่นกันที่จะเกิดขึ้นในอนาคต วิเคราะห์สาเหตุที่ข้อมูลไม่ดีได้รับการจัดสรรและแก้ไขการออกแบบช่องโหว่