Het verplaatsen van data van de ene database naar een andere is een van de meest voorkomende taken in data management, of u nu systemen consolideert na een fusie, een verouderd platform buiten gebruik stelt, zich op één databaseleverancier focust, of een database op een desktop verplaatst naar een serverdatabase. Altova MapForce is een tool voor databasemigratie die deze conversies uitvoert via een visuele interface met drag-and-drop functionaliteit, zonder dat u zelf migratiescripts hoeft te schrijven.
MapForce maakt verbinding met uw bron- en doeldatabases, leest beide schema's automatisch en stelt u in staat om de migratieregels te definiëren door verbindingen te leggen tussen de tabellen en kolommen aan beide kanten. Omdat de bron en het doel expliciet worden gekoppeld, bent u niet beperkt tot identieke schema's: u kunt kolommen hernoemen, velden splitsen of combineren, gegevenstypen converteren, rijen filteren en de structuur van het doel aanpassen, allemaal binnen dezelfde migratie.
Ondersteund relationeel databases: databases: databanken
Ondersteunde NoSQL databases:
Elke ondersteunde database kan fungeren als bron, als bestemming, of als beide. Dit betekent dat hetzelfde hulpmiddel alle mogelijke combinaties van bron naar bestemming kan verwerken, in plaats van slechts één vast migratiepad.
Het is eenvoudig om een database-migratieproject te definiëren met behulp van visuele tools voor datamapping, waarbij u elementen kunt slepen en neerzetten in MapForce. U kunt zelfs beginnen met Altova AI om suggesties voor verbindingen te krijgen nadat u uw bron- en doelstructuren hebt ingeladen.
1. Verbind met de brondatabase. De databaseverbinding-wizard begeleidt u bij het maken van de verbinding. Verbinden met SQLite-databases is mogelijk via een directe verbinding met het databasebestand, zonder dat er aparte drivers nodig zijn. Voor andere databases is een directe verbinding mogelijk, of een verbinding via standaard interfaces, waaronder ODBC, JDBC, ADO en ADO.NET.
2. Verbind met de doeldatabase. MapForce laadt het doel-schema op dezelfde manier en toont de beschikbare tabellen, views en relaties.
3. Definieer de tabellen en kolommen. Sleep verbindingslijnen van de bron naar de bestemming, of begin met Altova AI. MapForce herkent automatisch de relaties tussen tabellen, waardoor gerelateerde tabellen hun structuur overnemen in de mapping.
4. `Transformeer de gegevens indien nodig. Voeg filters, voorwaarden en dataverwerkingsfuncties toe tussen de bron en de bestemming om datatypes te converteren, waarden te formatteren, velden samen te voegen of te splitsen, en rijen uit te sluiten die u niet wilt migreren.
5. Voorbeeld bekijken en uitvoeren. De ingebouwde MapForce Engine stelt u in staat om de SQL-scripts – SELECT-, INSERT-, UPDATE- en DELETE-statements – voor te bekijken op het tabblad "Uitvoer" voordat u ze uitvoert op de doeldatabase.
Hieronder worden enkele van de meest voorkomende taken beschreven die nodig zijn bij het migreren van gegevens tussen databases. Deze aanpak is van toepassing op elke andere combinatie van ondersteunde databases.
Organisaties die van Oracle naar PostgreSQL overstappen, moeten tabelgegevens verplaatsen tussen twee systemen die hun kolommen anders benoemen en typen. Met behulp van de Database Connectiewizard maakt MapForce verbinding met Oracle via JDBC of ODBC en met PostgreSQL via een native verbinding of een verbinding via een driver. Het laadt beide schema's in het mappaneel, waar u tabellen van Oracle kunt koppelen aan hun equivalente PostgreSQL-tabellen door ze te slepen en neer te zetten (of door Altova AI te gebruiken).
Het is net zo eenvoudig om dataverwerkingsfuncties te slepen en neer te zetten om waarden tussen Oracle- en PostgreSQL-datatypen om te zetten, datums en tijdstempels in verschillende formaten aan te passen, en NULL-waarden op een manier te verwerken die rekening houdt met de NULL-waarden, in overeenstemming met de regels van de betrokken databases. Met de database-sleutelinstellingen kunt u bepalen of de waarden van primaire en externe sleutels afkomstig zijn van de Oracle-bron of dat ze door PostgreSQL worden gegenereerd bij het invoegen.
Het migreren van MySQL naar PostgreSQL is een van de meest voorkomende conversies waarvoor MapForce wordt gebruikt. Zodra beide database structuren zijn ingeladen, interpreteert MapForce elk schema, toont de beschikbare tabellen en views, en herkent de relaties daartussen. Voltooi de migratie door verbindingslijnen tussen de bron- en doelstructuren te slepen en dataverwerkingsfuncties toe te voegen waar de MySQL- en PostgreSQL-typen of conventies verschillen.
Omdat de mapping is opgeslagen als een herbruikbaar ontwerp, kan dezelfde migratie van MySQL naar PostgreSQL herhaald worden telkens wanneer de brongegevens veranderen, bijvoorbeeld tijdens een gefaseerde overgang of als een periodieke data-import.
SQLite-databases worden vaak gebruikt voor lokale of ingebouwde opslag, maar moeten later vaak worden overgezet naar een gedeelde MySQL-server.
Het flexibele typebeheer van SQLite is het belangrijkste aspect om rekening mee te houden bij deze migratie: de waarden die SQLite losjes opslaat, moeten worden toegewezen aan expliciet getypeerde MySQL-kolommen. De dataverwerkingsfuncties van MapForce voeren die conversie uit binnen de mapping, zodat correct getypeerde waarden naar de MySQL-doelbestemming worden geschreven.
Bij het migreren van MSSQL naar MySQL, behandelt MapForce de verschillen in de datastructuur tussen de twee systemen als onderdeel van de mapping. Het hernoemen van kolommen, het omzetten van datatypes en het formatteren van waarden gebeurt allemaal grafisch, in plaats van via migratiescripts. Met de tabelacties heeft u controle over hoe de gegevens worden toegewezen. U kunt per tabel kiezen voor INSERT, UPDATE of DELETE, en u kunt definiëren welke kolommen MapForce gebruikt om te bepalen of een doelrij al bestaat.
Databases die te groot zijn voor een desktopomgeving worden meestal gemigreerd naar SQL Server. MapForce maakt via ADO verbinding met zowel Microsoft Access als SQL Server, laadt beide schema's en stelt u in staat om Access-tabellen en -query's te koppelen aan SQL Server-tabellen.
Access en SQL Server verschillen in datatypes, de manier waarop sleutels worden behandeld en de naamgevingsregels. Het visueel weergeven van de conversie maakt deze verschillen duidelijk en stelt u in staat om ze één keer te corrigeren in de conversie zelf, in plaats van herhaaldelijk in de data. De instellingen voor database-sleutels bepalen of de AutoNumber-waarden van Access worden overgenomen of vervangen door de identiteitswaarden van SQL Server.
Het converteren van een ACCDB-bestand naar SQLite verplaatst een Access-database naar een lichtgewicht, op bestanden gebaseerd formaat dat overal kan worden gebruikt. MapForce leest de Access-database via ADO en schrijft naar het SQLite-bestand via een native verbinding. Net als bij elke MapForce-migratie, hoeven de bron- en doelstructuren niet exact overeen te komen. U kunt de Access-structuur vereenvoudigen, hernoemen of een subset ervan gebruiken bij de transformatie naar SQLite.
MariaDB en MySQL zijn nauw verwant, maar een migratie tussen de twee vereist nog steeds aandacht voor datatypes, sleutels en eventuele afwijkende kolomdefinities. Wanneer de schema's identiek zijn, is de mapping een eenvoudige reeks verbindingen; wanneer ze verschillen, gelden dezelfde filters en functies die ook gebruikt worden bij andere migratiepaden.
MapForce migreert ook data uit relationele databases naar NoSQL-databases, waaronder MongoDB, CouchDB en Microsoft Azure Cosmos DB. Relationele rijen en de bijbehorende tabellen worden visueel omgezet in documentstructuren, waardoor een genormaliseerd SQL-schema tijdens de migratie zelf kan worden omgevormd tot documenten, in plaats van in een aparte transformatiestap.
De meeste daadwerkelijke data-migraties zijn geen eenvoudige, directe overdracht van kolommen. MapForce bevat een bibliotheek met functies voor dataverwerking voor logische vergelijkingen, wiskundige berekeningen, tekstbewerking en het verwerken van datums en tijden, evenals filters en voorwaarden die bepalen welke rijen de bestemming bereiken.
Dit betekent dat u een deel van de brongegevens kunt migreren, twee bronkolommen kunt samenvoegen in één doelkolom, één bronkolom kunt opsplitsen over meerdere doelkolommen, waarden kunt opzoeken en vervangen, of bedrijfsspecifieke regels kunt toepassen tijdens de migratie, allemaal binnen dezelfde visuele mapping.
Instellingen voor de database-sleutel
De database-instellingen van MapForce bieden u de mogelijkheid om te bepalen hoe primaire en externe sleutelwaarden worden toegevoegd aan de doeldatabase tijdens een migratie. U kunt sleutelwaarden vanuit MapForce zelf invoeren, waarbij de identificatiecodes die in het bronsysteem worden gebruikt, behouden blijven, of u kunt het doeldatabasesysteem de automatische generatie van deze waarden laten verzorgen.
Definieer de acties die op de database tabel kunnen worden uitgevoerd
Het dialoogvenster "Database tabelacties" bepaalt hoe gegevens naar elke doel tabel worden geschreven. Selecteer welke actie (INVOEGEN, UPDATEN, VERWIJDEREN) moet worden uitgevoerd en definieer de kolommen die MapForce gebruikt om overeenkomstige records in de doel tabel te vinden. Dit dialoogvenster ondersteunt het vergelijken van NULL-waarden, waardoor een migratie kan worden geconfigureerd om gegevens op een manier te vergelijken die rekening houdt met NULL-waarden, in overeenstemming met de regels van de betreffende database.
Ondersteuning voor SQL-opgeslagen procedures
MapForce biedt ondersteuning voor opgeslagen procedures die gebruikt kunnen worden als invoer- of uitvoercomponenten, of als aanroepen die lijken op functies. Hierbij wordt invoerdata geleverd, de procedure wordt uitgevoerd en de uitvoerdata wordt toegewezen aan andere componenten. Opgeslagen procedures kunnen ook worden gebruikt om sleutelwaarden te genereren tijdens een migratie.
Database-uitvoer loggen / traceren
Logboek van database-wijzigingen registreert alle wijzigingen die een migratie aanbrengt tijdens de uitvoering. Wanneer het loggen is ingeschakeld, worden gebeurtenissen zoals database-invoegingen of -updates, en fouten, weggeschreven naar een XML-bestand dat u later kunt analyseren of verder kunt verwerken. Het loggen van de output is nuttig om een overzicht te krijgen van wat er is gemigreerd.
Behandeling van fouten bij database transacties
MapForce biedt functionaliteit voor het verwerken van database-transacties, waardoor een foutief onderdeel van een databaseconversie kan worden teruggedraaid wanneer er een fout optreedt. Optioneel kan de conversie vervolgens worden voortgezet met de rest van de gegevens. Dit voorkomt dat een gedeeltelijk mislukte conversie de doeldatabase in een inconsistente toestand achterlaat.
Raadpleeg databases direct
Het tabblad "Database Query" stelt u in staat om SQL-query's uit te voeren tegen de bron- of doeldatabase, direct vanuit MapForce, met een volledige SQL-editor. Dit is handig om de brondata te inspecteren voordat u de mapping ontwerpt, en om de resultaten in de doeldatabase te verifiëren nadat de migratie is uitgevoerd.
Sorteer de invoercomponenten van de database
Voor migraties waarbij invoergegevens in een specifieke volgorde vereist zijn, biedt het SQL-WHERE/ORDER-onderdeel extra sorteer- en filteropties voor database-invoercomponenten.
Zodra een migratiemapping is ontworpen en getest in MapForce, biedt Altova MapForce Server krachtige automatisering die kan worden aangeroepen via de commandoregel, programmatisch via een API, of als een taakstap die wordt beheerd door FlowForce Server, op basis van gedefinieerde triggers en planningen.
MapForce Server omvat parallelle verwerking en multi-threading, bulk SQL-inserts en ondersteuning voor verschillende platforms, waardoor grote migraties en herhaalde data-overdrachten sneller verlopen dan wanneer ze interactief worden uitgevoerd. Voor een gefaseerde migratie waarbij dezelfde tabellen herhaaldelijk worden overgezet tot de definitieve overgang, maakt dit een eenmalige mapping om tot een herhaalbare, geplande operatie.




