Logo.CortexAG

Anmelden +

Geschwindigkeit

Grundsätzlich hängt die Geschwindigkeit des Importes natürlich von der eingesetzten Hardware ab. SSD-Speichermedien sind typischerweise erheblich schneller als Festplatten; Ein Import ohne Referenzen schneller, als das Update vorhandener Datensätze.

Bildung eines Hash-Wertes

Als Ergänzung des Referenz-Importes - also der Aktualisierung vorhandener Daten - ist die Nutzung eines Hash-Feldes möglich. Der ImPlex unterstützt beim Import von csv-Dateien die Bildung eines Hash-Wertes über den Datensatz und schreibt diesen Hash-Wert in ein separates Feld. Erfolgt ein erneuter Import, wird vor der Referenz-Suche der Hashwert in der Datenbank gesucht. Wird dieser gefunden, liegt keine Änderung vor; Ist der Wert nicht vorhanden, greift die Referenz und ein vorhandener Datensatz wird aktualisiert (bzw. ein neuer Datensatz angelegt).

Um diese Funktion zu nutzen, ist eine Ergänzung der Importkonfiguration im Block "ImportSection" und die Nutzung eines zusätzlichen Feldes notwendig.

  <ImportSection datensatztyp="MyDS">
    <HashFilter>hashfld</HashFilter>
<Referenz>myRefFl</Referenz>
    <Feld>myField1=getChar('field1')</Feld>
<Feld>myField2=getChar('field2')</Feld>
<Feld>myFieldX=getChar('...')</Feld>
  </ImportSection>

Der Hash-Wert wird in diesem Beispiel im Feld "hashfld" abgelegt und bei einem erneuten Import damit verglichen. Alle weiteren Konfigurationen für weitere Felder bleiben so bestehen, wie sie sind. Es ist nicht notwendig, dass für den Hash-Wert eine weitere Zeile mit einer Import-Konfiguration angelegt wird.

 

Import-Modus des Servers

Der Datenbankserver kann beim Starten in den sog. "Import-Modus" geschaltet werden, um den Datenimport zu beschleunigen. Hierbei werden die zu importierenden Daten eingelesen, ohne die Verwaltungsstrukturen (u.a. den Index) anzulegen. Erst nach dem eigentlichen Datenimport wird der Server beendet, erneut gestartet und reorganisiert, um diese Strukturen aufzubauen. Dieses ist beispielsweise sinnvoll, wenn über den Erstimport erhebliche Datenmengen und danach nur noch ergänzende Informationen importiert werden.

Der generelle Ablauf zum Importieren über den Import-Modus gliedert sich in folgende Schritte:

  • Den laufenden Datenbankserver beenden
  • Manuell den Datenbankserver mit dem Parameter "-m" starten
  • Den Import durchführen
  • Nach dem Import den Datenbankserver beenden und regulär starten
  • Per Remote-Admin eine Reorganistion ausführen

Der manuelle Start des Servers erfolgt üblicherweise in einer Systemkonsole (das sog. "Terminal"). Unter Windows führen Sie hierfür die Anwendung "cmd.exe" aus und starten dann den Datenbankserver in dem Datenbankverzeichnis:

ctxserver64.exe -m

oder bei 32-Bit Systemen:

ctxserver32.exe -m

Für die Reorganisation starten Sie den Remote-Admin und klicken den Punkt "Reorganistion" (oben rechts in der Maske). Während dieser Durchführung ist kein Arbeiten innerhalb der Datenbank möglich, da hiermit erst die Verwaltungsstrukturen aufgebaut (bzw. korrigiert) werden.

Sollte es sich um einen Datenbestand handeln, der zum Erstimport und regelmäßig wiederkehrend aus umfangreichen Datensätzen besteht (mehrere hundert Millionen oder Milliarden), stehen wir Ihnen gerne für tiefergehende Fragen zur Verfügung.

 

Filterfunktion

Innerhalb einer Import-Konfiguration ist es möglich, dass ein Filter konfiguriert wird, der nur den Import bestimmter Datensätze erlaubt. Ungültige Datensätze werden von vornherein ausgeschlossen und nicht übersprungen.

Innerhalb der ImportSection wird hierfür nur ein weiterer Parameter ergänzt, über den der Filter festgelegt wird. Folgendes Beispiel zeigt die Anwendung für den Ausschluss bestimmter Datensätze während des Importes:

<ImportSection datensatztyp="Pers">

<FilterFunktion>
getChar('P_id')!=''
</FilterFunktion>

<Referenz>PersID</Referenz>

<Feld>PersID=getChar('P_id')</Feld>
<Feld>Vor=getChar('Vorname')</Feld>
<Feld>Nam=getChar('Name')</Feld>

</ImportSection>

Das hier gezeigte Beispiel schließt ale Datensätze aus, für die aus dem Quellsystem keine Datensatz-ID vorliegt. Nur wenn die Rückgabe der Filterfunktion "Wahr" ergibt, wird der Datensatz importiert. Eine Kombination mehrer Funktionen ist daher auch möglich:

<ImportSection datensatztyp="Pers">

<FilterFunktion>
AND(getChar('P_id')!='',getChar('Name')!='')
</FilterFunktion>

<Referenz>PersID</Referenz>

<Feld>PersID=getChar('P_id')</Feld>
<Feld>Vor=getChar('Vorname')</Feld>
<Feld>Nam=getChar('Name')</Feld>

</ImportSection>

 

 Hinweise zur Online-Hilfe
 

© 2017 Cortex AG
(letzte Aktualisierung: 12.04.2017)

 Haftungsausschluss 

Impressum    AGB