Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Textdatei > 500 MB für DB vorbereiten (https://www.delphipraxis.net/105950-textdatei-500-mb-fuer-db-vorbereiten.html)

alzaimar 4. Jan 2008 08:51

Re: Textdatei > 500 MB für DB vorbereiten
 
Zitat:

Zitat von grenzgaenger
@alzaimar: was steht dagegen 'ne kontenform zu verwendeten, so wie der textoutput...

Nichts, nur dachte ich, alles soll in eine Tabelle. Ansonsten wäre das natürlich besser, da die benutzerdefinierten Felder eine solche Struktur auch auf der Lotus-Seite nahelegen.

Es ist aber grauenvoll, sich vorzustellen, das Anwender A 'Ziel', Anwender B 'Target' und Anwender C 'Destination' für semantisch identischen Inhalt verwenden. Daraus würden dann drei unterschiedliche Spalten. Klasse.

Zitat:

Zitat von OG Karotte
Aber es scheint tatsächlich das Filtern der Mehrfachvorkommen der Feldnamen UND die Aktualisierung der Bildschirmausgabe (der Nutzer soll ja sehen, das etwas passiert) die Einbussen in der Geschwindigkeit bringen.

Gegen Ersteres hilft -wie gesagt- eine Hashmap (Eine THashedStringList geht auch. Ist bei Delphi mit dabei).
Gegen die Performanceeinbuße infolge der notwendigen Visualisierung hilft ein einfaches 'Zeig den Fortschritt nur alle 1000 Datensätze'. Das entspräche einer Aktualisierung der Anzeige 1x pro Sekunde (ca.). Das sollte reichen.

Muss das eigentlich alle paar Monate stattfinden? wäre es nicht sinnvoll, bei derartigen Datenmengen eine tägliche Synchronisation durchzuführen?

OG Karotte 4. Jan 2008 11:39

Re: Textdatei > 500 MB für DB vorbereiten
 
Zitat:

Zitat von grenzgaenger
was mir schleierhaft ist, was das progy machen soll, wenn der inhalt der db nicht defniert ist... taugt das ja noch nicht mal als adressliste...

Aber das ist es tatsächlich...

Zitat:

Zitat von alzaimar
Zitat:

Zitat von grenzgaenger
@alzaimar: was steht dagegen 'ne kontenform zu verwendeten, so wie der textoutput...

Nichts, nur dachte ich, alles soll in eine Tabelle. Ansonsten wäre das natürlich besser, da die benutzerdefinierten Felder eine solche Struktur auch auf der Lotus-Seite nahelegen.

Tatsächlich kam die Idee von mir das ganze in eine AccessDB zu überführen. s.u.


Zitat:

Zitat von alzaimar
Muss das eigentlich alle paar Monate stattfinden? wäre es nicht sinnvoll, bei derartigen Datenmengen eine tägliche Synchronisation durchzuführen?

Tja, das geht leider nicht anders:
Das ganze soll an Aussendienstmitarbeiter / Aussenstellen gehen, die über keine Breitbandverbindung verfügen UND auch kein LoNo haben. Deswegen der Ansatz mit Access, denn das haben alle auf'm Rechner.
Je nach weiterer Entwicklung dieser Geschichte könnte es dann doch bei den späteren Updates auf ein Delta hinauslaufen...
Was definitiv nicht geht ist ein tägliches oder auch wöchentliches Update (Ich bin viel unterwegs und auch die Aussenstellen sind nicht ständig erreichbar). Daher der erst einmal angepeilte Quartalsrythmus.
Die allerersten Gehversuche waren übrigens in VBA (Direkt Import in Access), was ich dann aber sehr schnell verworfen habe (Jahre später, Staub, Tote Fliegen, Spinnweben: oh es sind 10 % geschafft :zwinker: ).

Das mit den Knoten (Baumdarstellung / TreeView???) ist eine Sache an die ich noch gar nicht gedacht bzw. in die engere Wahl gefasst habe (Manchmal denkt man einfach zu eingleisig).

Zitat:

Zitat von alzaimar
Gegen die Performanceeinbuße infolge der notwendigen Visualisierung hilft ein einfaches 'Zeig den Fortschritt nur alle 1000 Datensätze'. Das entspräche einer Aktualisierung der Anzeige 1x pro Sekunde (ca.). Das sollte reichen.

Dazu müsste ich aber erst feststellen wieviel Datensätze in der Datei enthalten sind (es sei denn ich arbeite mit "Annahmen": Bearbeite DS 1000 - 1999 ... 22000 - 22999 ... 181000 ... fertig). Aber das ist nicht kriegsentscheidend...

Entscheidend ist, das ich ein paar Denkanstösse erhalten habe und nun in diesen Richtungen testen werde. Ich habe auch schon überlegt die Datei aufzusplitten und in mehreren Threads zu analysieren, das dürfte aber auf den zweiten Blick keine entscheidenden Vorteile bringen.

Was die Auswahl/Anzeigemöglichkeit des Imports betrifft, so habe ich mich entschlossen selbst festzulegen welche Felder relevant sein könnten und welche nicht. Der Nutzer muss dann damit leben. Ansonsten würde es wohl nur ein heilloses Chaos geben.

Also, erst mal Dank an Alle für Unterstützung und Denkanstösse.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz