[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2001
    Beiträge
    84

    Unhappy Leeren großer Dateien

    Hallo liebes Forum,

    ich habe mal wieder eine Frage....

    Im Zuge unses Jahresabschlusses müssen mehrere Dateien um die "Altlasten" bereinigt werden. Die Größe der Files liegt jeweils so zwischen 10 und 20 Millionen Datensätzen.
    Die physischen Dateien sind ungeschlüsselt, darüber liegt jeweils eine logische Datei, die das Kriteriums-Feld im Schlüssel beeinhaltet (allerdings nicht als primary key).

    Bsp.
    PF: FeldA, FeldB, FeldC, FeldD
    LF: K FeldA, K FeldC

    Entfernt werden sollen alle Sätze mit z.B. FeldC<2000

    Die Frage ist für uns, welcher Weg am schnellsten und wenigsten performanceträchtig ist - mit CPYF über Zwischendateien, SQL, Programme (RPG).

    Hat jemand mit solchen grossen Dateien schon Erfahrungen gemacht (Fuerchau oder BenderD vielleicht ?).


    Schon mal vorab vielen Dank.

    Mirko Knoll

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    759
    Hallo Mirko,

    am wenigsten Performance braucht m.E. ein kleines RPG-Programm im Batch - mit einer eigenen LF mit FELDC als Key und einem Select: CMP(EQ 2000).

    Falls die Datei journalisiert wird: Sichern, Journal beenden, Batchjob laufen lassen, Journal wieder starten.

    Falls die Zeit reicht, wäre auch ein RGZPFM zu empfehlen.

    Gruß,
    Robert

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Naja, bei den großen Mengen ist warscheinlich der CPYF am schnellsten.
    Hierbei können mehrere Parameter verwendet werden:

    FROMKEY / TOKEY, wenn das Feld im Schlüssel ist

    oder

    INCREL((*IF FELDC *LT 2000))

    Wichtig! In der Datei sollte FRCRATIO(*NONE) eingestellt werden, da sonst der Copy Satz für Satz kopiert und nicht geblockt (ca. Faktor 20-50) werden kann.

    Diesen CPYF würde ich halt 2x machen (<2000 und >=2000) um die Daten zu trennen, dann per CLRPFM die alte Datei löschen und die verbliebenen Daten zurückkopieren.

    Mit einem kleinen Programm gehts natülich etwas schneller, da 1 mal gelesen und 2 Mal geschrieben werden kann (COBOL ist da sogar ca. 1,5 mal schneller).

    Den RGZPFM kannst du dir dann sparen.

    Ggf. FRCRATIO wieder einschalten.

    Natürlich solltest du Journale /Trigger vorher abschalten und hinterher wieder anschalten bzw. anhängen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Oct 2001
    Beiträge
    84
    Hallo Robert und Baldur,

    erst mal vielen Dank für Eure Hilfe.

    So in die Richtung des CPYF hatte ich auch bereits gedacht.
    Ich wollte nämlich bei der Dateigröße auf jeden Fall um den RGZPFM bei der Ursprungsdatei rumkommen .

    Dann mache ich mich mal an die Arbeit ....


    Tschüß

    Mirko

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    48

    Talking

    Moin Mirko,

    wo man sich so überall trifft

    Viel Spaß mit Deinen Dateien

    Gruß
    Andree

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    it depends...
    on your hardware ressources
    on your goals
    SQL mit parallel Database feature könnte z.B.: durch Parallelisierung am schnellsten sein, bei höherem Ressourcenverbrauch!!!
    Die Antwort lässt sich eigentlich nur durch messen (evt. Teile und hochrechnen) geben, alles andere ist im Prinzip mehr oder weniger gut geraten.

    mfg

    Dieter Bender

    Zitat Zitat von MKnoll
    Hallo liebes Forum,

    ich habe mal wieder eine Frage....

    Im Zuge unses Jahresabschlusses müssen mehrere Dateien um die "Altlasten" bereinigt werden. Die Größe der Files liegt jeweils so zwischen 10 und 20 Millionen Datensätzen.
    Die physischen Dateien sind ungeschlüsselt, darüber liegt jeweils eine logische Datei, die das Kriteriums-Feld im Schlüssel beeinhaltet (allerdings nicht als primary key).

    Bsp.
    PF: FeldA, FeldB, FeldC, FeldD
    LF: K FeldA, K FeldC

    Entfernt werden sollen alle Sätze mit z.B. FeldC<2000

    Die Frage ist für uns, welcher Weg am schnellsten und wenigsten performanceträchtig ist - mit CPYF über Zwischendateien, SQL, Programme (RPG).

    Hat jemand mit solchen grossen Dateien schon Erfahrungen gemacht (Fuerchau oder BenderD vielleicht ?).


    Schon mal vorab vielen Dank.

    Mirko Knoll
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Apr 2001
    Beiträge
    127
    Moin @MKnoll,
    ich habe im Zuge von Datenreorganisierungen die Erfahrung gemacht, daß es manchmal sehr sinnvoll ist, alle LF, die man nicht benötigt, vor der Bearbeitung der PF zu löschen. Ich hatte eine PF mit 52 LF drauf und Millionen von Datensätzen. Nach Tests hat sich gezeigt, daß es am schnellsten läuft, wenn die LFs nicht da sind und zum Schluß wieder erstellt werden.

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    für diesen Effekt müsste allerdings ein CHGLF MAINT(*RBLD) oder CHGLF MAINT(*DLY) eigentlich ausreichen, anschließend wieder zurück, versteht sich. Wobei die Frage "nicht benötigt" sich ja eigentlich erst später beantwortet.

    mfg

    Dieter Bender

    Zitat Zitat von procher
    Moin @MKnoll,
    ich habe im Zuge von Datenreorganisierungen die Erfahrung gemacht, daß es manchmal sehr sinnvoll ist, alle LF, die man nicht benötigt, vor der Bearbeitung der PF zu löschen. Ich hatte eine PF mit 52 LF drauf und Millionen von Datensätzen. Nach Tests hat sich gezeigt, daß es am schnellsten läuft, wenn die LFs nicht da sind und zum Schluß wieder erstellt werden.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Dateien auf dem IFS löschen
    By codierknecht in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 27-08-08, 05:13
  2. Defekte Dateien
    By Rincewind in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 23-01-07, 08:49
  3. anderer Speicherort für .ws Dateien
    By usafft in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 23-08-06, 11:07
  4. FTP aus IFS mit kaputten Dateien
    By BeRe in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-08-06, 10:17
  5. SQL UDF Prob mit leeren Feldern
    By HACHIMAN in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-05-06, 09:48

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •