[Allegro] war: import.exe und sehr große dateien (2GB-grenze) -> nachbeobachtungen -> qrix-problem

Bernhard Eversberg ev at biblio.tu-bs.de
Fr Mär 9 09:37:40 CET 2012


Am 08.03.2012 13:31, schrieb Thomas Berger:
>
> Daher wurde mit Version 27 die MultiX-"Methode" eingefuehrt und
> das Problem insofern ernschaerft, dass nun ein logisches *Register*
> nicht groesser als etwa 2GB werden darf.
>
Und das bleibt auch so, allerdings vielleicht unter 64bit nicht.
Denn in den internen Indexroutinen wird nicht fseek(), sondern lseek()
genutzt, und dieses arbeitet mit dem Datentyp off_t statt long.
off_t ist in 64bit-Systemen eine 64bit long integer. Letztgültige
Klarheit hinsichtlich des Funktionierens besteht hier aber noch nicht.

Für import.c können wir aber jetzt nicht einfach off_t als Lösung
einfügen. weil damit das Problem unter 32bit eben noch nicht gelöst
wäre, denn da ist off_t nur 32bit lang.

> Ein Fall fuer die Entwicklungsabteilung wuerde es, wenn sich
> herausstellen sollte, dass es ein Problem gibt, wenn die
> einzelnen ii-Dateien groesser als 2GB werden.
>
Dies jedoch wird sich demnach nicht materialisieren. Das lineare, 
sequentielle Lesen und Schreiben von Dateien - und anderes tut qrix
dabei nicht - klappt klaglos auch oberhalb 2GB, wie wir inzwischen
wissen, und das auch in 32bit-Umgebungen.
Erst in der Endphase, der Erstellung von newinx, käme es zum Versagen,
wie Lehmann es beobachtete, aber nur, wenn eine einzelne der mehreren
MultiX-Indexdateien an die Schallmauer stößt.

Natürlich wünscht man sich eine Software, die bis in den Exabyte-Bereich
hinein skaliert. Aber man rechne sich mal aus, wie schnell die
Prozessoren sein müßten, damit man noch zu Lebzeiten den fertigen Index 
sähe.


B.E.




Mehr Informationen über die Mailingliste Allegro