AW: AW: AW: [Allegro] Allegro: Batch-Import

Thomas Fischer fischer at mail.sub.uni-goettingen.de
Fr Apr 7 12:48:43 CEST 2006


Hallo Herr Berger,


> Wenn die Grunddatei einmal da ist, laesst sich beides mit
> allegro- oder nicht-allegro-Mitteln sehr schnell ergaenzen.
> (Ich gehe mal davon aus, dass die Datenbank waehrend der
> Aktion nicht in Benutzung ist - -F waere sonst sehr unhoeflich -
> so dass die Nummern fortlaufend vergeben werden koennen).

Ja klar. Aber ist das ein so seltener Fall, dass man dafür dazustricken muss? Neuaufbau einer Datenbank mit externen Daten (auf dem eigenen Rechner, ohne Zugriff von außerhalb) ist doch eher ein Standardverfahren.
Dass man sich selber dann die Nummern organisieren muss ist doch eigentlich nicht nötig.
Ich habe mir dazu in einer Batchdatei Startnummern erzeugt, die ich an die Exportparameterdatei von Import weitergereicht habe, das ging ganz gut, weil die Daten in handlichen 10000er-Päckchen vorliegen. Wenn man eine Rückmeldung von Import bekäme, wie viele Datensätze umgewandelt wurde, könnte man das leicht verallgemeinern.

> > Aber warum geht das eigentlich schneller?
> > Herr Eversberg meint:
> > 
> >>10000 Sätze pro Stunde ist ganz gut, wenn man bedenkt, daß die Schlüssel
> >>zufallsweise in eine riesige, hochkomplizierte Datei hineinsortiert
> >>werden müssen.
> > 
> > Und das gilt doch bei Index genauso, oder?
> 
> Nur bis Version 12 oder so. Seitdem werden die Schluessel im
> (DOS-)Arbeitsspeicher vorsortiert und dann leicht komprimiert
> in den II-Dateien abgeworfen, die werden zum Schluss von qrix
> gemerged und dann wird daraus (und dem evtl. vorhandenen alten
> Index) ein neuer Index aufgebaut. Diese letzte Phase dauert
> bei Indexdateien in der 2GB-Region natuerlich auch ein paar
> Stunden, selbst bei schnellen Rechnern mit schnellen Platten,
> in der Indexphase kommen Sie aber selbst bei extensiven
> Indexparametern locker auf eine Millon Saetze pro Stunde.

An eine Million Sätze pro Stunde komme ich nicht heran, bin aber froh, dass ich jetzt schon etwa 100 000 pro Stunde schaffe. Allerdings sind meine Datensätze im Durchschnitt auch etwa 1KB groß, vielleicht sind Ihre kleiner.

Was passiert eigentlich, wenn man die 2GB-Grenze überschreitet? Bricht dann alles zusammen oder wird man gewarnt und das System sanft gestoppt? Ich muss noch weitere Indexeinträge erzeugen und wüsste gerne, auf was ich mich einstellen muss.

Danke für die Hinweise, mit freundlichen Grüßen
Thomas Fischer 




Mehr Informationen über die Mailingliste Allegro