Gegevensreplicatie betekent het kopiëren van gegevens van de ene plaats naar de andere, en wordt meestal gedaan tussen gebruikers van verschillende databases die hetzelfde informatieniveau moeten delen. Replicatie kan ook betrekking hebben op andere gegevensbronnen en doelen, en wordt complexer in termen van transformatie en tijd.
Dit is het eerste van twee artikelen over databasereplicatie in de IRI Workbench GUI. IRI Workbench is de gratis IDE die is gebouwd op Eclipse™ en die alle IRI-producten ondersteunt, inclusief IRI NextForm (voor gegevens- en databasemigratie) en IRI Voracity (een totaalplatform voor gegevensbeheer met NextForm et al.). IRI Workbench maakt en voert gegevensreplicatietaken uit via wizards, scripts en werkstroomdiagrammen.
Hier zijn enkele manieren waarop replicaties plaatsvinden:
- Gegevens in de ene database worden gekopieerd naar een andere database op dezelfde of een andere server.
- Gegevens uit twee of meer databases worden gecombineerd in één database.
- Gebruikers krijgen volledige eerste exemplaren van de database en vervolgens periodieke updates als gegevens veranderen.
- Gegevens worden selectief uit een database gehaald en in een extern bestand gerepliceerd.
Met gegevensreplicatie kunt u slechts een deel van de database repliceren; d.w.z. geselecteerde tabellen, kolommen en/of rijen. Het repliceren van alle tabellen maakt deel uit van database-mirroring. Wijzigingen in schema's, beperkingen, procedures en toegangsautorisaties zijn echter niet zo eenvoudig te repliceren en kunnen afzonderlijke processen met zich meebrengen.
Basisvoorbeeld in IRI Workbench
Voor dit eerste voorbeeld van gegevensreplicatie gebruiken we een wizard voor het maken van taken uit het menu NextForm in de IRI Workbench-werkbalk. We zullen gegevens uit een Oracle-tabel kopiëren naar zowel een MySQL-tabel als een aangepast plat bestand. In dit tweede artikel wordt de replicatie van alleen bijgewerkte gegevens in een tabel gedemonstreerd door kolomwaarden van tijdstempels te evalueren.
Het NextForm-menu bevat drie wizards voor het maken van vacatures:
- Nieuwe herformatteringstaak
- Nieuwe migratietaak met één bron
- Nieuwe migratietaak voor meerdere tabellen
We zullen de wizard Nieuwe taak opnieuw formatteren gebruiken om deze replicatie uit te voeren. Voor een complexere taak zouden we een andere NextForm-wizard gebruiken, of een ETL-taakwizard in het Voracity-menu (of handmatig een nieuwe workflow bouwen).
Hier is de structuur van de bron- en doeltabellen:
Stap 1:Specificeer de naam en taakopties
Selecteer in het menu NextForm op de bovenste werkbalk de wizard Nieuwe taak opnieuw formatteren. Voer voor dit voorbeeld de naam van het taakbestand ingegevensreplicatie . NextForm voegt de extensie .ncl toe. U kunt ook alle relevante informatie over deze taak toevoegen die als opmerkingen in het script zal verschijnen.
Laat in de lijst met keuzerondjes de standaardselectie van Script maken omdat dit een op zichzelf staande taak is en geen onderdeel is van een groter stroom- of batchproject.
Stap 2:Identificeer de bron
Klik in het volgende scherm, Gegevensbronnen, op Gegevensbron toevoegen . De bron in dit voorbeeld is een ODBC-verbonden database, dus selecteer ODBC, en klik vervolgens op Bladeren om de naam van de gegevensbron (DSN) en tabel te selecteren.
Stap 3:Specificeer de bronmetadata
Om ervoor te zorgen dat IRI-software de gegevens in de engine kan verplaatsen en manipuleren (in dit geval repliceren in NextForm), hebt u metagegevens nodig voor de bron en doelen die zijn gedefinieerd in het taakscript, in IRI's DDF-indeling (data definition file).
U kunt de DDF's voor elke bron (of doel) automatisch bouwen in IRI Workbench. Die functionaliteit is hier ingesloten, waar u kunt kiezen om Metadata ontdekken of Bestaande metadata toevoegen . In dit geval voegen we bestaande metadata toe, die op een andere manier is gemaakt. Die keuze en de resultaten ervan worden weergegeven in het volgende dialoogvenster:
Klik op Bronveldlay-out om de lay-out van de gegevens te zien.
Klik op OK om de bronveldlay-out te sluiten. Klik vervolgens op Volgende op de pagina Gegevensbronnen om de pagina Gegevensdoel te openen.
Stap 4:Definieer de doelen
We sturen de gerepliceerde Oracle-gegevens naar twee doelen:een MySQL-tabel die we een naam gevencustomers_out , en een bestand met de naam personout.csv .
Een doeltabel toevoegen
Klik op Gegevensdoel toevoegen . Selecteer ODBC en klik op Bladeren . Selecteer vervolgens de naam van de gegevensbron (DSN) Oracle en de tabel CUSTOMERS_REP . Klik op OK om het dialoogvenster te sluiten.
Markeer op de pagina Gegevensdoelen de tabelnaam en klik op Bestaande metagegevens toevoegen . Selecteer cust.ddf (die eerder is gemaakt), en klik op OK .
We willen het aantal records in dit bestand beperken tot 100. Klik op Bewerk doelopties om de editor te openen, en in de Outcollect veld, voer 100 . in en klik op OK .
Een doelbestand toevoegen
Klik nogmaals op Gegevensdoel toevoegen . Selecteer Bestand en voer personout.csv . in en klik op OK . We willen het aantal records in het bestand beperken tot maximaal 50, en we moeten ook het formaat wijzigen naar CSV. Om beide te doen, klikt u op Bewerk doelopties om de editor te openen. Wijzig het Formaat veld naar CSV , en in de Outcollect veld, voer 50 . in en klik op OK .
Voeg een tekenreeksfunctie toe aan het doelbestand
We zullen ook een tekenreeksfunctie toevoegen om alleen de laatste vier cijfers van het SSN-veld weer te geven. Klik hiervoor op Indeling doelveld, en klik op het tabblad personout.csv.
Selecteer het SSN-veld, klik met de rechtermuisknop en selecteer Regel toepassen > Regel maken . Selecteer op de pagina Wizard Selectie nieuwe veldregel de optie Tekenreeksmanipulatiefuncties . Op de volgende pagina – Functies voor stringmanipulatie – selecteer sub_string . In de Verschuiving veld, voer 6 in voor het aantal tekens aan de linkerkant van het veld, en in het Lengte veld, voer 4 in voor de lengte van de subtekenreeks en klik vervolgens op Voltooien .
Voeg een include-filter toe
Om door te gaan met het wijzigen van het CSV-bestand, voegen we een filter toe om de gegevens te beperken tot alleen die records van CA. Klik opOpnamefilter om het filter te maken. Selecteer Opnemen voor de filteractie en selecteer Nieuwe voorwaarde voor de soort. Open de opbouwfunctie voor expressies door op het functiepictogram te klikken. Selecteer in de Expression Builder de categorie Relationele operators en het item EQ . In de Uitdrukking veld bovenaan, voer STATE EQ "CA" in met behulp van de tools op de werkbalk en klik op Voltooien .
Terug op de pagina Gegevensdoelen besluiten we de velden voor achternaam en voornaam na het zip-veld opnieuw te positioneren. Selecteer Achternaam en klik op Omlaag totdat het veld onderaan de lijst staat, selecteer dan FIRSTNAME en doe hetzelfde.
Wanneer we klaar zijn met het toevoegen van beide doelen, worden de velden en wijzigingen weergegeven op de pagina Gegevensdoelen.
Klik op Voltooien om het bouwen van het script te voltooien, dat hieronder wordt weergegeven in de kleurgecodeerde, syntaxisbewuste editorweergave van IRI Workbench:
Resultaten
Voer het taakscript uit door met de rechtermuisknop in het script te klikken enUitvoeren als> te selecteren IRI-baan . De doelgegevens worden weergegeven in de onderstaande tabbladen:
Als je vragen hebt over het repliceren van gegevens in NextForm of Voracity, neem dan contact op met je IRI-vertegenwoordiger.
- Klik in de Data Source Explorer met de rechtermuisknop op de tabel en selecteer IRI > DDF genereren . Dit creëert de DDF voor de tabel in de actieve projectmap, en er zal tijdens runtime naar worden verwezen door de datamanipulatie-engine van IRI.