Geçirmeyi planladığınız veriler şu anda hatalıysa, geçiş yapıp yapmamanız düzeltilmelidir. Kötü veri = işe yaramaz veri.
Göçler riskli, bu doğru. Ancak her büyük BT projesi de öyle. Riski azaltmanın yolları var ve bunların kesinlikle bir göç sırasında önceden planlanması gerekiyor.
İlk olarak, şimdi olduğu gibi sisteme geri dönmek için her zaman bir yolunuz olmalıdır. İkinci geçiş, yalnızca geçiş için ayarlanan test sunucularında yapılmalıdır. Önce sınama kabiliyeti olmadan göç yapmak aptalca. Üçüncüsü, geçiş için tüm kodlar kaynak kontrolünde olmalıdır.
Dördüncüsü, taşıma işlemine başlamadan önce gereksinimler ve test planları gerekir. Eski sistemde 1.293.687 kayıt bulunduysa, yenisinde aynı olduğunu veya nereye gittiklerini (belki de bir istisna tablosuna) bildiğinizi bilmeniz gerekir. Denormalize bir şema normalleştiriyorsanız, başlamadan önce kaç kayıt yapmanız gerektiğini hesaplamanız ve sonra bunu kontrol etmeniz gerekir. Bir sistemden diğerine eşlemelerin ne olduğunu belirten dokümantasyon gerekir. Bu, QA çalışanlarınızın verilerin doğru yere gittiğini kontrol etmesine yardımcı olacaktır.
Geçerli hatalı verilerin nasıl işleneceğini belirlemeniz gerekir. Ne temizlenebilir, 'Bilinmeyen' yazan zorunlu bir alanda neye ihtiyaç duyulabilir? İstisna tablosuna ne atılmalı, bir grup kullanıcı tarafından elle müdahale edilmesi gerekenler (bu iki insanın gerçekten ya da kaç kişi olduğuna karar vermek. Bu uygulamada örneğin aynı isimde iki doktor var mı ve eğer iki kaydın ne zaman seçileceğini seçmek için bir veriyse, vb.
Başarılı bir göçün anahtarı planlamadır. Planlamanın (test senaryolarının ve ünite testlerinin yazılmasını içeren) genellikle fiili gelişmeden daha fazla zaman aldığını buldum.
Başarılı bir veri taşıma işleminin bir sonraki anahtarı KG. Bu, QA ekibine lansmandan bir gün önce atılacak bir proje değil. QA bir sorun olduğunu söylediğinde başlatılacak bir proje değil.
Başarılı bir geçişin diğer bir anahtarı, verilerin çoğunluğunu dağıtmak ve orjinal sistem çalışırken hala test etmektir. Çok fazla kayıt taşıyorsanız, bu zaman alabilir ve yeni değişiklikler olacaktır. Bu nedenle işleminiz, taşıma başladıktan sonra veri değişikliklerini de yapabilmelidir. Örneğin, SQL Server, bu konuda yardımcı olabilecek Change Data Capture adlı bir şeye sahiptir. Orjinal sistemin bir yedeğini alabilir ve aynı zamanda değişiklik verilerini yakalamayı açabilirsiniz. Ardından, yedeklemeyi taşıma sunucunuza yeniden döndürebilir, taşıma işlemini sınayabilir, yüklenen verilerin çoğunluğunu alabilirsiniz ve ardından yalnızca değişen kayıtları yüklemeniz gerekir. Kesin kayıtları geçirdiğinizde, geçiş tamamlanıncaya kadar kaynak sistemi kapatın. Bu, kayıtların çoğunu vaktinden önce geçirmenin bir nedenidir, bu yüzden başvuru en az süredir. Geçiş zamanınızı iyi seçin, maaş bordrosunu işleme koymaları veya W2'leri göndermeleri gereken günü kapatmayın. Ve düşük kullanım saatlerinde yapın. Birden fazla müşteriniz varsa, önce bir kişiyi geçirmeyi ve diğerlerini yapmadan önce hepsinin iyi olduğundan emin olmayı düşünebilirsiniz. Bir sorun varsa, bir müşterinin verilerini 10000'den geri almak çok daha kolaydır. Ama yaparsanız bunu dikkatlice planlayın. Bir sorun varsa 10000'den fazla veri. Ama yaparsanız bunu dikkatlice planlayın. Bir sorun varsa 10000'den fazla veri. Ama yaparsanız bunu dikkatlice planlayın.
Geçiş yeni bir kullanıcı arayüzü içeriyorsa, lütfen gerçek kullanıcıları geçiş testi kapsamında kullanmalarını sağlayın. Daha sonra diğer kullanıcıları eğitmeden önce eğitin (ama gitmeden bir haftadan daha az bir süre önce unuturlar). Sınamaya dahil olan kullanıcıların eğitimi tasarlamalarına yardımcı olmasını sağlayın, hangi soruları olduğunu ve insanların hangi sırayla bilmeleri gerektiğini bilirler. Girdilerini alın, bir alan gerekli yapın, çünkü kullanıcılar kayıtlara girdiklerinde genellikle bu veriye sahip olmadıklarında yardımcı olmayacağını düşünüyorsanız. Verileri tam olarak alamadıkları için yeni gerekli alana önemsiz bırakacaklar.
Mevcut verilerde neyin yanlış olduğuna bakın, gelecekte bunun kötüleşmesini önlemek için yabancı anahtarlar, kısıtlamalar, tetikleyiciler, uygulamadaki iş kuralları, varsayılan değerler vb. Ekleyebilir misiniz? Kötü verileri temizlediğinizde, aynı zamanda bu kötü verilerin gelecekte girmesini önlemek için bir yol oluşturmanız gerekir. Kötü verilerin neden alaşımlandığını analiz edin ve deliklerin iç dizaynını düzeltin.