Oszacowanie zakresu migracji danych
Jak oszacować czas trwania migracji danych: przenoszenie danych między systemami, uzgadnianie danych i przełączenie na nowy system. Przetwarzanie trwa godzinę, a czyszczenie danych – kwartał.
Sama migracja to najłatwiejsza część. Trudności kryją się właśnie w etapie uzgadniania, o którym Pan zapomniał.
Migracja danych (przenoszenie danych z jednego systemu do drugiego lub z jednej struktury do drugiej w ramach tego samego systemu) przypomina transformację. Odczyt z źródła, transformacja, zapis do miejsca docelowego, przełączenie ruchu. Zespół głosuje nad transformacją. Transformacja jest zazwyczaj najmniejszym elementem pracy w ramach danego zadania. Trudności tkwią w elementach, których transformacja nie uwzględnia: rekordy, które wyglądają poprawnie, ale odwołują się do danych, które nie zostały przeniesione; rekordy, które wydają się uszkodzone, ale w rzeczywistości są poprawne w sposób, którego specyfikacja nie uwzględniła; oraz przypadki skrajne, które przetrwały tylko dlatego, że stary system je tolerował, a nowy już nie.
Jest to problem inny niż migracja bazy danych. Migracja schematu zmienia strukturę jednego magazynu danych, w którym dane już się znajdują. Migracja danych polega na przenoszeniu danych między systemami, a pytanie nie brzmi: „czy operacja ALTER zakończy się na czas?”, lecz: „co zrobić z wierszami, które nie pasują do żadnej ze stron?”. Większość pracy polega na uzgadnianiu danych, opracowaniu strategii przełączenia oraz cofaniu zmian. Kod transformujący jest częścią, którą pisze się najszybciej, a kończy jako ostatnią.
O czym się mówi w tym pomieszczeniu
Backend: „To skrypt. Odczyt, mapowanie, zapis. Najwyżej dwa dni.”
Data eng: „Czy sprawdziliśmy, w jakim stopniu źródło jest zanieczyszczone?”
SRE: „Jaka jest metoda przejścia na nowy system: metoda »big bang« czy metoda podwójnego zapisu?”
Wstęp: „Kto zajmuje się uzgadnianiem wierszy, których migracja nie przebiega bezbłędnie?”
Premier: „Kiedy zamierzamy wycofać stary system?”
To właśnie pytanie postawione przez premiera powinno stanowić punkt wyjścia dla szacunków. Jeśli stary system zostanie wycofany za miesiąc, potrzebna jest strategia zapewniająca 100-procentową poprawność; jeśli natomiast będzie funkcjonował równolegle z nowym przez dwa kwartały, można sobie pozwolić na odłożenie kwestii „długiego ogona” na później. Szacunek nie dotyczy samej transformacji. Dotyczy on strategii.
Pytania, które warto zadać przed głosowaniem
- Jaka jest jakość danych źródłowych: czyste, zanieczyszczone czy nieznana?
- Strategia przejścia: metoda „big bang”, podwójny zapis, odczyt z kopii zapasowej, stopniowe?
- Jak długo oba systemy będą funkcjonować równolegle? Czy wyznaczono termin wycofania jednego z nich?
- Kto zajmuje się uzgadnianiem wierszy, których migracja nie przebiega bezbłędnie, i na jakim poziomie?
- Jakie są procedury przywrócenia stanu poprzedniego, jeśli nowy system otrzyma błędne dane po przejściu na nowy system?
- Czy istnieją konsumenci danych na dalszych etapach procesu (raporty, integracje), których migracja musi przebiegać synchronicznie?
Jeśli zespół oceni zadanie na 5, a ktoś zapyta: „Chwileczkę, a co z zapisami w dzienniku audytowym?”, to nie mieli Państwo problemu z oszacowaniem; mieli Państwo do czynienia z dwoma historiami udającymi jedną. Należy je rozdzielić: transformacja stanowi jeden zgłoszenie, a uzgodnienie i plan przejścia – kolejne.
Proszę głosować nad strategią, a nie nad zmianami. Zmiany potrwają dwa dni. Strategia obejmuje cały kwartał.
W przypadku wariantu zmiany schematu w ramach jednego systemu prosimy zapoznać się z artykułem szacowanie migracji bazy danych, a także z innymi przykładami szacunków z praktyki. Po nakreśleniu strategii przejścia prosimy rozpocząć bezpłatną sesję planowania pokerowego.