Narzędzie do migracji baz danych

Konwersja danych z jednej bazy danych do innej

  • Przenoszenie danych między bazami danych
  • Obsługa wszystkich popularnych systemów baz danych relacyjnych
  • Konwersja baz danych SQL na bazy danych NoSQL
  • Mapowanie danych bez użycia kodu, za pomocą interfejsu graficznego
  • Określ ustawienia kluczy bazy danych
  • Mapuj kolumny o różnych nazwach, typach i strukturach
  • Zdefiniuj operacje wykonywane na tabelach bazy danych
  • Wsparcie dla procedur składowanych SQL
  • Rejestrowanie operacji i obsługa błędów z możliwością wycofania zmian
  • Bezpośrednio wysyłaj zapytania do baz danych
  • Sortowanie i filtrowanie elementów danych wejściowych
  • Natychmiastowa konwersja i przystępne cenowo opcje automatyzacji

Narzędzia do migracji baz danych

Przenoszenie danych z jednej bazy danych do innej jest jednym z najczęściej wykonywanych zadań w zarządzaniu danymi, niezależnie od tego, czy chodzi o konsolidację systemów po fuzji, wycofanie przestarzałej platformy, standaryzację na jednego dostawcę baz danych, czy przeniesienie bazy danych z komputera osobistego do serwera. Altova MapForce to narzędzie do migracji baz danych, które umożliwia przeprowadzanie tych konwersji za pomocą intuicyjnego interfejsu graficznego, opartego na przeciąganiu i upuszczaniu, eliminując konieczność ręcznego pisania skryptów migracji.

MapForce łączy się z bazami danych źródłowych i docelowych, automatycznie odczytuje ich schematy i umożliwia definiowanie reguł migracji poprzez tworzenie połączeń między tabelami i kolumnami po obu stronach. Ponieważ źródło i cel są mapowane w sposób jawny, nie jesteś ograniczony do identycznych schematów: możesz zmieniać nazwy kolumn, dzielić lub łączyć pola, konwertować typy danych, filtrować wiersze i przekształcać strukturę docelową w ramach tej samej migracji.

Wspierany relacyjny bazy danych:

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

Wspierany NoSQL Bazy danych:

  • MongoDB
  • CouchDB
  • Microsoft Azure Cosmos DB

Dowolna obsługiwana baza danych może pełnić rolę źródła, bazy docelowej lub obu jednocześnie. Oznacza to, że to samo narzędzie obsługuje wszystkie kombinacje źródła i bazy docelowej wymienione powyżej, a nie tylko pojedynczą, z góry określoną ścieżkę migracji.

Jak działa konwersja danych między bazami danych

W programie MapForce można łatwo zdefiniować projekt migracji bazy danych, korzystając z wizualnych narzędzi do mapowania danych, które pozwalają na przeciąganie i upuszczanie elementów. Można nawet rozpocząć pracę z narzędziem Altova AI, które po załadowaniu struktur źródłowych i docelowych, zaproponuje możliwe połączenia.

1. Połącz się z bazą danych źródłową. Kreator połączenia z bazą danych przeprowadzi Cię przez proces łączenia. Połączenia z bazami danych SQLite są obsługiwane jako natywne, bezpośrednie połączenia z plikiem bazy danych, bez potrzeby instalowania dodatkowych sterowników. Inne bazy danych można łączyć natywnie lub za pomocą standardowych interfejsów, takich jak ODBC, JDBC, ADO i ADO.NET.

 

Połącz się z bazą danych, aby przeprowadzić konwersję

 

2. Połącz się z docelową bazą danych. MapForce wczytuje schemat docelowy w taki sam sposób i wyświetla dostępne tabele, widoki oraz relacje.

3. Zdefiniuj mapowanie tabel i kolumn. Przeciągnij linie łączące od źródła do celu, lub rozpocznij pracę z narzędziem Altova AI. MapForce automatycznie rozpoznaje relacje między tabelami, dzięki czemu powiązane tabele przenoszą swoją strukturę do mapowania.

4. Przekształć dane w razie potrzeby. Wstaw filtry, warunki i funkcje przetwarzania danych pomiędzy źródłem a celem, aby konwertować typy, zmieniać format wartości, łączyć lub dzielić pola oraz wykluczać wiersze, które nie mają być przenoszone.

 

Migracja baz danych w MapForce

 

5. Podgląd i uruchomienie. Wbudowany silnik MapForce umożliwia podgląd skryptów SQL – instrukcji SELECT, INSERT, UPDATE i DELETE – na zakładce "Wyjście" przed ich uruchomieniem względem docelowej bazy danych.

Podgląd wyników zapytań SQL podczas migracji baz danych w programie MapForce

Trasy migracji

Poniżej opisano niektóre z najczęściej wykonywanych zadań związanych z migracją danych między różnymi bazami danych. To samo podejście można zastosować do dowolnej innej kombinacji obsługiwanych baz danych.

Migracja z bazy danych Oracle do PostgreSQL

Organizacje, które migrują z bazy danych Oracle do PostgreSQL, muszą przenieść dane tabel między dwoma systemami, w których kolumny mają różne nazwy i typy. Korzystając z kreatora połączenia z bazą danych, MapForce łączy się z Oracle za pomocą JDBC lub ODBC, a z PostgreSQL za pomocą połączenia natywnego lub sterownika. Narzędzie to ładuje obie struktury danych do okna mapowania, gdzie można przeciągać i upuszczać elementy (lub skorzystać z funkcji Altova AI), aby połączyć tabele Oracle z odpowiadającymi im tabelami w PostgreSQL.

Przesuwanie i upuszczanie funkcji przetwarzania danych jest równie proste i pozwala na konwersję wartości między typami danych Oracle i PostgreSQL, modyfikację formatów dat i znaczników czasu oraz obsługę wartości NULL w sposób uwzględniający zasady obowiązujące w poszczególnych bazach danych. Ustawienia kluczy baz danych pozwalają określić, czy wartości kluczy głównych i obcych pochodzą z bazy Oracle, czy są generowane przez PostgreSQL podczas dodawania nowych rekordów.

Migracja z MySQL do PostgreSQL

Migracja z MySQL do PostgreSQL jest jednym z najczęściej wykonywanych procesów, w których wykorzystywany jest program MapForce. Po załadowaniu struktur obu baz danych, MapForce interpretuje każdą z nich, udostępnia dostępne tabele i widoki oraz rozpoznaje relacje między nimi. Aby zakończyć migrację, należy przeciągnąć linie łączące struktury źródłowe i docelowe oraz dodać funkcje przetwarzania danych w miejscach, gdzie typy danych lub konwencje MySQL i PostgreSQL się różnią.

Ponieważ konfiguracja migracji jest zapisywana jako moduł wielokrotnego użytku, ten sam proces migracji z MySQL do PostgreSQL można uruchomić ponownie w razie zmian w danych źródłowych, na przykład podczas stopniowego przechodzenia na nowy system lub jako regularne operacje ładowania danych.

Migracja z SQLite do MySQL

Bazy danych SQLite są często wykorzystywane do lokalnego przechowywania danych lub do zastosowań w systemach wbudowanych, a następnie konieczne staje się przeniesienie tych danych na współdzielony serwer MySQL.

Elastyczne typowanie danych w SQLite jest kluczowym aspektem, który należy uwzględnić podczas migracji: wartości, które SQLite przechowuje w sposób ogólny, muszą zostać przyporządkowane do konkretnych kolumn w MySQL, które mają określone typy danych. Funkcje przetwarzania danych w MapForce wykonują tę konwersję wewnątrz mapowania, dzięki czemu wartości o poprawnych typach danych są zapisywane w docelowej bazie danych MySQL.

Migracja z SQL Server do MySQL

Podczas migracji z MSSQL do MySQL, MapForce automatycznie uwzględnia różnice w strukturze danych między tymi dwoma systemami w ramach procesu mapowania. Zmiana nazw kolumn, konwersja typów danych oraz formatowanie wartości odbywają się graficznie, a nie za pomocą skryptów migracyjnych. Funkcje związane z tabelami pozwalają kontrolować sposób mapowania danych. Można wybrać operację INSERT, UPDATE lub DELETE dla każdej tabeli, a także określić, które kolumny MapForce wykorzystuje do sprawdzenia, czy w tabeli docelowej już istnieje odpowiadający wiersz.

Migracja z Microsoft Access do SQL Server

Bazy danych, które przekroczyły możliwości działania na komputerze stacjonarnym, są zazwyczaj przenoszone do systemu SQL Server. MapForce łączy się z Microsoft Access i SQL Server za pomocą technologii ADO, ładuje schematy obu systemów i umożliwia mapowanie tabel i zapytań z Access na tabele w SQL Server.

Access i SQL Server różnią się pod względem typów danych, sposobu obsługi kluczy oraz zasad nazywania. Wizualne odwzorowanie konwersji uwidacznia te różnice i pozwala na ich jednorazową korektę w samym odwzorowaniu, zamiast wielokrotnego poprawiania danych. Ustawienia kluczy w bazie danych decydują o tym, czy wartości AutoNumber z Access zostaną przeniesione, czy też zostaną zastąpione przez wartości identyfikatorów SQL Server.

Migracja z Access (ACCDB) do SQLite

Konwersja pliku ACCDB do formatu SQLite przenosi bazę danych Access do lekkiego formatu opartego na plikach, który może być używany w dowolnym miejscu. MapForce odczytuje bazę danych Access za pomocą ADO i zapisuje dane do pliku SQLite za pomocą natywnego połączenia. Podobnie jak w przypadku każdej migracji w MapForce, schematy źródłowe i docelowe nie muszą być identyczne. Można uprościć, zmienić nazwy lub wybrać podzbiór struktury bazy danych Access podczas konwersji do formatu SQLite.

Migracja z MariaDB do MySQL

MariaDB i MySQL są ze sobą ściśle powiązane, ale migracja między nimi nadal wymaga uwzględnienia typów danych, kluczy oraz wszelkich różnic w definicjach kolumn. Jeśli schematy są identyczne, proces mapowania sprowadza się do prostego zestawu połączeń; w przypadku różnic, stosuje się te same filtry i funkcje, które są używane w każdym innym procesie migracji.

Migracja z baz danych SQL do baz danych NoSQL

MapForce umożliwia również migrację danych z relacyjnych baz danych do baz NoSQL, takich jak MongoDB, CouchDB i Microsoft Azure Cosmos DB. Wiersze z relacyjnych baz danych oraz powiązane z nimi tabele są wizualnie mapowane na struktury dokumentów, co oznacza, że schemat SQL, który jest znormalizowany, może być przekształcony w dokumenty w ramach procesu migracji, a nie w oddzielnym etapie transformacji.

Filtrowanie i przetwarzanie danych

Większość rzeczywistych migracji danych nie polega na prostym odwzorowaniu kolumna po kolumnie. MapForce zawiera bibliotekę funkcji przetwarzania danych do porównań logicznych, obliczeń matematycznych, manipulacji tekstowych oraz obsługi dat i czasu, a także filtry i warunki, które kontrolują, które wiersze docierają do celu.

Oznacza to, że można przenieść tylko część danych źródłowych, połączyć dwie kolumny źródłowe w jedną kolumnę docelową, podzielić jedną kolumnę źródłową na kilka kolumn docelowych, wyszukiwać i zastępować wartości, a także stosować zasady biznesowe podczas migracji, wszystko to w ramach tego samego, wizualnego mapowania.

Ustawienia kluczy bazy danych

Ustawienia kluczy baz danych w MapForce pozwalają dostosować sposób dodawania wartości kluczy głównych i obcych do docelowej bazy danych podczas migracji. Można podać wartości kluczy bezpośrednio w MapForce, zachowując identyfikatory używane w systemie źródłowym, lub można pozwolić systemowi docelowej bazy danych, aby automatycznie generował te wartości.

Zdefiniuj akcje wykonywane na tabelach bazy danych

Okno dialogowe "Akcje dla tabel bazy danych" kontroluje sposób, w jaki dane są zapisywane do poszczególnych tabel docelowych. Wybierz, która akcja (INSERT, UPDATE, DELETE) ma zostać wykonana, oraz zdefiniuj kolumny, których MapForce używa do dopasowywania rekordów docelowych. To okno dialogowe obsługuje porównywanie wartości NULL, dzięki czemu migrację można skonfigurować tak, aby porównywała dane z uwzględnieniem wartości NULL, zgodnie z zasadami obowiązującymi w danej bazie danych.

 

Kontroluj sposób zapisu danych podczas mapowania bazy danych

 

Wsparcie dla procedur składowanych SQL

MapForce umożliwia wykorzystanie procedur składowanych jako komponentów wejściowych lub wyjściowych, lub jako wywołań przypominających funkcje – dostarczając dane wejściowe, wykonując procedurę i mapując dane wyjściowe na inne komponenty. Procedury składowane mogą być również wykorzystywane do generowania kluczowych wartości podczas migracji danych.

Rejestrowanie/śledzenie wyników działania bazy danych

Śledzenie zmian w bazie danych rejestruje wszystkie zmiany, jakie wprowadza proces migracji podczas jego działania. Dzięki włączonemu śledzeniu, zdarzenia takie jak operacje dodawania lub aktualizacji danych w bazie danych, a także błędy, są zapisywane w pliku XML, który można później przeanalizować lub przetworzyć. Rejestrowanie zmian jest przydatne do stworzenia dokumentacji tego, co zostało zmigrowane.

Obsługa błędów transakcji w bazie danych

MapForce oferuje mechanizmy obsługi transakcji baz danych, które pozwalają na cofnięcie zmian w przypadku wystąpienia błędu podczas konwersji bazy danych, a opcjonalnie umożliwiają kontynuowanie procesu mapowania dla pozostałych danych. Dzięki temu, nawet w przypadku częściowej awarii, baza danych docelowa pozostaje w spójnym stanie.

Bezpośrednie zapytania do baz danych

Zakładka Zapytanie do bazy danych umożliwia wykonywanie zapytań SQL względem bazy danych źródłowej lub docelowej bezpośrednio w programie MapForce, dzięki wbudowanemu edytorowi SQL. Jest to przydatne do przeglądania danych źródłowych przed zaprojektowaniem transformacji oraz do weryfikacji wyników w bazie docelowej po zakończeniu procesu migracji.

 

Wyszukiwanie danych w bazie podczas konwersji

 

Sortowanie komponentów danych wejściowych

Dla migracji, które wymagają danych wejściowych w określonej kolejności, komponent SQL-WHERE/ORDER oferuje dodatkowe opcje sortowania i filtrowania dla komponentów pobierających dane z bazy danych.

Automatyzuj i skaluj procesy migracji danych za pomocą serwera MapForce

Po zaprojektowaniu i przetestowaniu map migracji w programie MapForce, serwer Altova MapForce Server zapewnia wysokowydajną automatyzację, którą można uruchomić z linii komend, programowo za pomocą interfejsu API lub jako etap procesu zarządzanego przez FlowForce Server, w oparciu o zdefiniowane wyzwalacze i harmonogramy.

Serwer MapForce oferuje przetwarzanie równoległe i wielowątkowe, masowe wstawianie danych do baz SQL oraz obsługę różnych platform, dzięki czemu duże migracje i powtarzające się operacje ładowania danych przebiegają szybciej niż w trybie interaktywnym. W przypadku migracji etapowej, w której te same tabele są wielokrotnie przenoszone do momentu przełączenia, to rozwiązanie przekształca jednorazowe mapowanie w operację, którą można powtarzać i planować.