Data-Base Clone-Tool

Transcription

Data-Base Clone-Tool
Data-Base Clone-Tool
Die Applikation mit dem Namen „Data-Base Clone-Tool“ bietet
seinen Benutzern die Möglichkeit, Daten, welche auf der Datenbank A vorhanden sind, auf die Datenbank B zu synchronisieren.
In der Praxis könnten auf diese Weise zum Beispiel aktuelle und
oder historische Daten aus der ERP-Datenbank in eine Testumgebung überspielt werden.
Ausgangslage
An und für sich keine richtige Novität, zumal schon diverse
datenbank-interne Mechanismen bestehen, welche Daten von
DB-A auf DB-B synchronisieren. Der Einsatz solcher Funktionen
ist jedoch immer mit einem gewissen Definitionsaufwand und
der Pflege der Installation verbunden.
Das Hauptproblem bei der ganzen Thematik war und ist jedoch
immer noch die Performance! Die Geschwindigkeit also, mit
der Daten von A nach B transferiert werden. Es müsste möglich
sein, mindestens einen Insert (MS-SQL) von ca. 1000 Records
p/Sekunde zu erreichen.
Ausserdem sollte das Ausführen einfacher INSERT, UPDATE und
DELETE Operationen auf einer Tabelle gewährleistet sein, damit
kleinere manuelle Datenmanipulationen möglich sind, ohne grosse SQL-Scripts und Prozeduren zu Erstellen und Auszuführen.
Symotech AG
Industriestrasse 38
CH-5314 Kleindöttingen
Tel. +41 56 268 85 70
Fax +41 56 268 85 99
[email protected]
Vorteile
„Data-Base Clone-Tool“ bietet die Möglichkeit, einzelne oder
auch alle Tabellen einer Datenbank von einem System zum anderen zu transferieren. Dabei ist die Basis der Datenbank-Plattform sehr variabel gehalten, womit auch Transfers von und zu
AS/400 DB2, MS-SQL, Oracle oder My-SQL gewährleistet sind.
Alle gewünschten Objekte (Tabellen) können per Drag & Drop
von der Ursprungsdatenbank auf die Zieldatenbank verschoben
werden. Im Vorfeld sind also keine aufwendigen Definitionsarbeiten und auch keine Programmierkenntnisse nötig.
Eine hohe Leistungsperformance dient dazu, den Transfer grosser
Datenmengen in möglichst kurzer Zeit durchführen zu können.
Hier kommt Parallel-Processing zum Einsatz, welches durch den
Einsatz entsprechender Hardware beeinflusst werden kann.
Zusätzlich dazu können einfache manuelle Datenbankoperationen per Dialog ausgeführt werden.
Funktionsweise
Hauptdialog der Applikation ist in zwei Hälften aufgeteilt, eine
Herkunft- und eine Zielinstanz. Natürlich können auch Tabellen
von derselben Instanz verglichen werden. Clone-Operationen in
der gleichen Instanz sind nicht möglich.
www.symotech.ch
Die Hauptaufgabe der Anwendung, das Clonen von Tabellen und
Daten, steht auf der Stufe Instanz und Tabelle zur Verfügung. Auf
Stufe Instanz können einzelne Tabellen für die verschiedenen
Funktionen selektiert werden. Damit in einer grossen Menge von
Tabellen nicht bei jedem Lauf die Selektion neu gemacht werden
muss, können die Einstellungen jeweils gespeichert werden.
Zudem erzeugt der Dialog auch direkt ein LOG-Protokoll welches
einzelne Resultate aus der Verarbeitung speichert.
Messungen während der Prototypenphase haben gezeigt, dass
es ohne Parallel-Processing nicht gehen kann. Je nach Ausstattung des Systems (Prozessoren / Kerne) kann die Transferleistung stark vergrössert werden.
Beschreibung der Methoden
Für das Kopieren der Daten vom Herkunft- zum Zielsystem
stehen insgesamt vier Varianten gemäss nachfolgender Tabelle
zur Verfügung. Da bei einer Menge <n> an Tabellen mit wenig
Datensätzen und einer oder mehreren Tabellen mit grossen
Mengen an Datensätzen der Parallel-Prozess pro Tabelle nicht
wirklich schnell ist, wurde in der Version 3.0 die Möglichkeit
implementiert, dass pro Tabelle mehrere WHERE-Klauseln definiert werden können die dann ebenfalls in einem eigenen Task
ausgeführt werden.
Methode
Beschreibung
Copy Data (Standard/Sequentiell)
Es werden alle selektierten Tabellen nacheinander verarbeitet
Copy Data V.-1.0 (Parallel)
Die Logik für Data-Reader (FROM) und der Bulkinsert (TO) werden
getrennt. Der Data-Reader wird direkt im Parallel-Process Start
ausgeführt, und als Referenz an den Bulkinsert-Process übergeben. MS-SQL Schema-Struktur ist verfügbar.
(Implementierung in DataBase Parallel-Klasse)
Copy Data V.-2.0 (Parallel)
Der Data-Reader (FROM) und der Bulkinsert (TO) werden in einer
Methode Implementiert, welche durch den Parallel-Process (TASK)
gestartet wird.
Pro Task sind also alle Operationen gekapselt und threadsicher
implementiert. MS-SQL Schema-Struktur ist verfügbar.
(Implementierung in DataBase Parallel-Klasse)
Copy Data V.-3.0 (Parallel)
Der Data-Reader (FROM) und der Bulkinsert (TO) werden in einer
Methode implementiert, welche durch den Parallel-Process (TASK)
gestartet wird.
Pro Task sind also alle Operationen gekapselt und threadsicher
implementiert. MS-SQL Schema-Struktur ist verfügbar.
Absoluter Vorteil dieser Methode ist, dass sogar einzelne Tabellen
durch mehrere WHERE-Bedingungen auf einzelne Tasks aufgeteilt
werden. Dadurch werden auch grosse Datenmengen in einzelnen
Tabellen auf mehrere Tasks aufgeteilt.
(DataBase-Interface / DataBase-Klasse)
Symotech AG
Industriestrasse 38
CH-5314 Kleindöttingen
Tel. +41 56 268 85 70
Fax +41 56 268 85 99
[email protected]
www.symotech.ch