Nếu dữ liệu bạn dự định di chuyển hiện đang xấu, thì nó cần được sửa cho dù bạn có thực hiện di chuyển hay không. Dữ liệu xấu = dữ liệu vô dụng.
Di cư là rủi ro, đó là sự thật. Nhưng mỗi dự án CNTT lớn cũng vậy. Có nhiều cách để giảm thiểu rủi ro và chúng chắc chắn nên được lên kế hoạch trước trong một cuộc di cư.
Đầu tiên, bạn phải luôn có cách quay trở lại hệ thống như bây giờ. Việc di chuyển thứ hai nên được thực hiện trên các máy chủ thử nghiệm được thiết lập chỉ dành cho việc di chuyển. Thật ngu ngốc khi thực hiện di chuyển mà không có khả năng kiểm tra nó trước. Thứ ba, tất cả các mã cho việc di chuyển phải nằm trong kiểm soát nguồn.
Thứ tư, bạn cần các yêu cầu và kế hoạch kiểm tra trước khi bắt đầu di chuyển. Bạn cần biết rằng nếu bạn có 1.293.687 hồ sơ trong hệ thống cũ, thì bạn có cùng một bản mới hoặc bạn biết họ đã đi đâu (có lẽ là một bảng ngoại lệ). Nếu bạn đang chuẩn hóa một sơ đồ không chuẩn hóa, bạn cần tính toán số lượng bản ghi bạn nên kết thúc trước khi bạn bắt đầu và sau đó kiểm tra xem. Bạn cần tài liệu chỉ định ánh xạ từ hệ thống này sang hệ thống khác là gì. Điều này sẽ giúp người QA của bạn kiểm tra xem dữ liệu đã đến đúng nơi chưa.
Bạn cần xác định cách xử lý dữ liệu xấu hiện tại. Những gì có thể được làm sạch, những gì có thể cần một giá trị trong trường bắt buộc có nội dung 'Không xác định', những gì cần được đưa ra một bảng ngoại lệ, những gì cần một sự can thiệp thủ công của một nhóm người dùng (quyết định xem hai người này có thực sự là một bản sao hay không Có hai bác sĩ trong thực tế đó có cùng tên chẳng hạn và nếu đó là bản sao mà dữ liệu sẽ chọn khi hai bản ghi khác nhau, v.v.).
Chìa khóa để di chuyển thành công là lập kế hoạch. Tôi đã thấy rằng việc lập kế hoạch (bao gồm viết các trường hợp kiểm thử và kiểm tra đơn vị) thường mất nhiều thời gian hơn so với phát triển thực tế.
Chìa khóa tiếp theo để di chuyển dữ liệu thành công là QA. Đây không phải là một dự án để ném vào đội QA một ngày trước khi ra mắt. Đây không phải là một dự án để khởi động khi QA nói có vấn đề.
Một chìa khóa khác để di chuyển thành công là triển khai phần lớn dữ liệu và kiểm tra nó trong khi hệ thống ban đầu vẫn đang chạy. Nếu bạn đang di chuyển nhiều hồ sơ, điều này có thể tốn thời gian và những thay đổi mới sẽ xảy ra. Vì vậy, quá trình của bạn phải có khả năng kéo các thay đổi dữ liệu sau khi quá trình di chuyển cũng bắt đầu. Ví dụ, SQL Server có một thứ gọi là Change Data Capture có thể giúp với điều này. Bạn có thể sao lưu hệ thống ban đầu và bật ghi dữ liệu thay đổi cùng một lúc. Sau đó, bạn có thể sắp xếp lại bản sao lưu vào máy chủ di chuyển của mình, kiểm tra di chuyển, lấy phần lớn dữ liệu được tải và sau đó bạn chỉ phải tải các bản ghi đã thay đổi. Khi bạn di chuyển các bản ghi cuối cùng, hãy tắt hệ thống nguồn cho đến khi quá trình di chuyển được thực hiện. Đây là một lý do để di chuyển phần lớn các hồ sơ trước thời hạn, vì vậy ứng dụng giảm thời gian ít nhất Chọn thời gian di chuyển của bạn thật tốt, đừng tắt hệ thống bảng lương vào ngày họ nên xử lý bảng lương hoặc gửi W2. Và làm điều đó trong giờ sử dụng thấp. Nếu bạn có nhiều khách hàng, bạn có thể xem xét việc di chuyển một khách hàng trước và đảm bảo tất cả đều tốt trước khi thực hiện các khách hàng khác. Việc khôi phục dữ liệu của một khách hàng dễ dàng hơn rất nhiều nếu có vấn đề. Nhưng kế hoạch này cẩn thận nếu bạn làm điều đó. s dữ liệu hơn 10000 nếu có vấn đề. Nhưng kế hoạch này cẩn thận nếu bạn làm điều đó. s dữ liệu hơn 10000 nếu có vấn đề. Nhưng kế hoạch này cẩn thận nếu bạn làm điều đó.
Nếu việc di chuyển liên quan đến giao diện người dùng mới, vui lòng yêu cầu người dùng thực tế sử dụng giao diện đó như một phần của thử nghiệm di chuyển. Sau đó đào tạo những người dùng khác trước khi bạn phát trực tiếp (nhưng chưa đầy một tuần trước khi bạn phát trực tiếp hoặc họ sẽ quên). Có những người dùng tham gia thử nghiệm giúp thiết kế chương trình đào tạo, họ biết họ có câu hỏi gì và mọi người cần biết theo thứ tự nào. Nhận đầu vào của họ, tạo một trường bắt buộc vì bạn nghĩ rằng nó sẽ không hữu ích nếu người dùng thường không có dữ liệu đó khi họ nhập vào hồ sơ. Họ sẽ chỉ đưa rác vào trường mới được yêu cầu vì họ không thể lấy dữ liệu theo cách khác.
Hãy xem những gì không đúng với dữ liệu hiện tại, bạn có thể thêm khóa ngoại, ràng buộc, kích hoạt, quy tắc kinh doanh trong ứng dụng, giá trị mặc định, v.v ... để tránh điều này trở nên tồi tệ trong tương lai không? Khi bạn xóa dữ liệu xấu, bạn cũng cần tạo một cách để tránh dữ liệu xấu tương tự đó xuất hiện trong tương lai. Phân tích lý do tại sao dữ liệu xấu được xử lý và sửa các thiết kế lỗ hổng.