Niestandardowa migracja baz danych: jak zlikwidowaliśmy wąskie gardło w firmie produkcyjnej?
Połączenie danych z MySQL i Microsoft SQL w firmie produkcyjnej pozwoliło usprawnić pracę bez rezygnacji z danych historycznych projektów, zapisanych w programie CIMCO. Kluczem do sukcesu było autorskie oprogramowanie opracowane przez CCA Europe.
Jak zlikwidować wąskie gardła w procesach biznesowych? Nierzadko przyczyna tkwi w brakach komunikacji między działami, która powoduje powstanie niezamierzonych silosów informacyjnych. Z powodu błędów lub braku komunikacji między działami dane mogą być rozproszone w różnych bazach lub repozytoriach. W momencie, gdy zespoły podejmą się wspólnego projektu i zaczynają wymieniać się danymi, współpraca w silosach staje się niemożliwa. Tak niestety wygląda codzienność w wielu firmach produkcyjnych, które nie mają odpowiednich zasobów IT. Jak wyjść z takiej „ślepej uliczki” danych?
Dwie bazy danych, jeden problem – i to spory
Oprogramowanie do zarządzania produkcją, w tym pracą maszyn, wykorzystuje wybrany przez użytkownika typ bazy danych. To zaleta, ale nie wtedy, kiedy dwa różne działy firmy lub zespoły projektowe zainstalują oprogramowanie na własny użytek, a w dodatku każdy wybierze inny typ współpracującej bazy danych. Wtedy współpraca się komplikuje. Powstaje pytanie: którą bazę poświęcić, żeby móc uwspólnić dane i przywrócić jedno firmowe repozytorium, zgodnie z najlepszymi praktykami IT? Każdy zespół chciałby zachować informacje, które są owocem wcześniej wykonanej pracy. Zatem, aby firma mogła płynnie korzystać z obu repozytoriów bez utraty danych, trzeba zmigrować dwie bazy do jednej.
Operacja migracji staje się jeszcze większym wyzwaniem, kiedy owe bazy danych mają różną architekturę i nie da się ich łatwo połączyć za pomocą gotowych schematów, oferowanych przez komercyjne rozwiązania. Wtedy trzeba przeprowadzić migrację niestandardową. Jak podejść do takiego projektu? Przede wszystkim trzeba zaprojektować poszczególne kroki takiego procesu, zaczynając od dogłębnej analizy technicznej, a nawet, jak pokazuje nasz niedawno zrealizowany projekt – od analizy biznesowej.
O przyszłości integracji baz danych pisaliśmy tutaj: Integracja danych: tradycyjna, chmurowa czy hybrydowa? (ccaeurope.pl).
Doświadczenie z bankowości do przemysłu
Przy okazji projektów wdrożeniowych dla bankowości wielokrotnie przeprowadzaliśmy skuteczne migracje danych z wielu popularnych baz takich jak Microsoft SQL Server, Oracle czy MySQL. Stąd wiemy, że głównym wyzwaniem w niestandardowej migracji danych jest zapewnienie spójności i integralności danych.
Oczywiście branża bankowa nie jest jedyną, która musi uporać się z łączeniem różnych formatów danych i nieprzystającą do siebie logiką (strukturą) baz danych. Przemysł, a zwłaszcza produkcja, staje przed podobnymi wyzwaniami. Systemy sterujące urządzeniami i maszynami przemysłowymi, np. specjalistyczne oprogramowanie dla maszyn CNC, wytwarzają duże ilości danych pochodzących z różnych źródeł, takich jak czujniki i systemy sterowania. Co więcej, systemy te nie mają tak dobrego wsparcia IT jak procesy bankowe, bo nie są eksploatowane z taką samą intensywnością i nie mają tak samo krytycznego charakteru.
Coraz częściej przychodzą jednak momenty, w których to wsparcie staje się konieczne. Wtedy właśnie okazuje się, że trudno o eksperta, który wie, jak wyprowadzić sytuację na prostą. Nic dziwnego zatem, że firmy produkcyjne decydują się nieraz na drastyczne kroki. Gdy repozytorium jest mniejsze, firmy godzą się na porzucenie go, a co za tym idzie rezygnację z zawartych w nim danych. Gdy nie mogą sobie na to pozwolić, migracja danych jest odkładana przez wiele lat. Niestety hamują przez to swój rozwój biznesowy.
Silosy danych w firmie przemysłowej: MySQL i Microsoft SQL
We wrześniu 2022 roku zewnętrzny dostawca rozwiązań dla firm produkcyjnych zwrócił się do nas o wsparcie w niestandardowej migracji dwóch baz danych w firmie z branży metalurgicznej. Klient chciał podnieść wersję oprogramowania, żeby skorzystać z nowych, atrakcyjnych funkcji, oferowanych przez nowsze oprogramowanie. By tak się stało, musiałby zaktualizować wersję oprogramowania dla każdego zespołu z osobna. Jednocześnie coraz bardziej doskwierał mu problem braku możliwości współpracy między działami. Oba działy nie mogły korzystać z wypracowanych przez siebie danych, choć realizowane projekty niejednokrotnie tego wymagały. Rozwiązanie problemu pracy na niepowiązanych bazach danych pozwoliłoby jednocześnie uniknąć podwójnych kosztów podnoszenia wersji systemu.
Po naszej analizie okazało się, że przez kilka lat u klienta jeden zespół produkcyjny pracował na komercyjnej bazie Microsoft SQL, a drugi stworzył niezależną bazę w MySQL. W efekcie dane zawarte w programie zarządzającym dokumentacją produkcyjną obrabiarek CNC (CIMCO) były wprowadzane do dwóch odrębnych baz danych, w zależności od tego, do którego zespołu należał pracownik logujący się do aplikacji. Brak komunikacji między bazami powodował powstawanie błędnych komunikatów o dostępności maszyny i utrudniał korzystanie z niej w czasie rzeczywistym w codziennej produkcji.
Nieszablonowe rozwiązanie na wąskie gardło procesu produkcji
By klient nie stracił cennej dokumentacji, tworzonej w ciągu kilku lat, przede wszystkim należało opracować taki sposób migracji danych, żeby zachować ich wzajemne zależności. Oba źródła danych były bowiem relacyjnymi bazami i oprócz relacji jawnych, dostarczanych przez samą bazę danych (indeksy, klucze obce), utrzymywały także relacje niejawne. Są one trudniejsze do wychwycenia i przy braku szczegółowej dokumentacji identyfikowane są dopiero w fazie analizy bazującej na testach.
Klient nie dysponował dokumentacją schematu bazy danych, co jest bardzo częste w firmach wykorzystujących aplikacje produkcyjne. Faza analizy musiała zatem uwzględniać jednocześnie analizę techniczną baz danych oraz analizę biznesową danych, które powinny zostać przeniesione.
Do przekonwertowania bazy MySQL do architektury MSSQL i migracji przydał nam program SQL Server Migration Assistant od Microsoft. Aby wykonać migrację danych posłużyliśmy się autorskim oprogramowaniem, stworzonym przez nasz zespół specjalnie na potrzeby tego projektu.
Korzyści z wdrożenia: większa wydajność, lepsze zarządzanie
Przeprowadzona migracja pozwoliła obu zespołom pracować na danych dostępnych w jednej bazie. Wszyscy użytkownicy i projekty, wraz z dokumentacją, znajdują się teraz w jednej, spójnej bazie danych. W „nowej” bazie danych każdy rekord otrzymał nowe ID, ale zgromadzone notatki zostały nienaruszone. Dzięki temu wyeliminowaliśmy konieczność obsługi administracyjnej dwóch osobnych baz danych (utrzymywania dodatkowej przestrzeni serwerowej oraz kopii zapasowych). Migracja pozwoliła także zmniejszyć koszty aktualizacji nowej wersji oprogramowania.
– W przypadku bardziej skomplikowanych migracji, np. hurtowni danych, wewnętrzne działy IT firm produkcyjnych zwykle nie są w stanie podołać takim projektom, ponieważ brakuje im odpowiednich kompetencji. Nie bardzo mogą też liczyć na producentów oprogramowania, którzy niechętnie podejmują się takich projektów. Z kolei rozwiązania, które stosuje się w innych obszarach IT, np. low-code, niestety nie mają tu zastosowania. To dlatego tak ważne jest, by projekty migracji powierzać doświadczonym specjalistom – tłumaczy Jacek Nowak, CEO CCA Europe.
Jeżeli potrzebujesz wsparcia w usłudze analizy biznesowej, by przeprowadzić migrację baz danych, umów się z nami na niezobowiązującą konsultację technologiczną [link do Kontakt].