[Allegro] grenzen von qrix? eventuell abhängig von 64bit oder 32bit?

Bernhard Eversberg ev at biblio.tu-bs.de
Do Jun 26 07:37:10 CEST 2014


Am 26.06.2014 01:45, schrieb Klaus Lehmann:
>
>> offensichtlich duerfen ii1 und ii2 ja groesser als 2GB werden,
>> d.h. sie muessten "nur" darauf achten, dass cat.adx, cat.aex, cat.afx
>> etc. jede fuer sich unterhalb der Grenze bleiben. (Trotzdem

> ja, das ist ja das problem! aus den obigen 10GB ii-dateien muss man
> seinen index so gestalten, daß man mit den cat.a?x-dateien eben unter
> die 2GB kommt.
>
 > also: WO ist das problem. warum kann das allegro nicht?
 > langsam fällt der (ost-)groschen: sagen sie bloss, es hat was mit
 > 16bit-dos zu tun? da können die dateien NICHT größer als 2GB
 > werden..... hm..... der zopf MUSS ab!

Solche Vorstellungen mögen sich intuitiv aufdrängen, aber sie sind
unrealistisch. Das Zopfabschneiden ist hier eine vollkommen
ungeeignete Metapher, sie suggeriert, jemand müsse nur beherzt
eine Schere oder Machete zur Hand nehmen und ratsch, ist das Problem
weg. Weit gefehlt, das wahre Problem ist gänzlich anderer Natur
und mit keinem groben Werkzeug mal eben aus der Welt zu schaffen.
Sie wissen, ich bin für eine äußerst vorsichtige Verwendung von
Metaphern im Softwarebereich. Hier haben wir ein äußerst *krasses*
Beispiel, mit dem total unrealistische Vorstellungen evoziert
werden. Hier lesen doch viele mit, die solche Dinge wirklich nicht
einschätzen können, bedenken Sie das bitte. Bewegen läßt sich auf
diese Weise weniger als nichts, wohl aber Unruhe und Verwirrung stiften. 
Auch unter Ihrer eigenen Klientel!

Damit es richtig verständlich wird, ist etwas weiter auszuholen.

Zum Hintergrund:
Die Indexroutinen wurden 1988 geschaffen, vor 26 Jahren. Noch 1991
hatten Festplatten der Oberklasse knapp 200 MB und kosteten 2000 Mark.
Die Staatsbibliothek in Ostberlin hatte damals eine Platte mit 20 MB.
In dem Umfeld von 1988 waren Platten mit mehr als 2 GB total utopisch.
(Und auch Internet war noch nebulöse Utopie.)
Eine theoretisch mögliche Dateigröße von 2 GB mußte uns also gigantisch
vorkommen. Hätten wir die Vorstellung gehabt (hatten wir aber nicht)
unsere Software könnte mehr als 20 Jahre überdauern (bis weit ins 21. 
Jh. hinein!), wir wären evtl. doch nachdenklich geworden. Wir dachten
vielmehr, daß schon in wenigen Jahren ganz andere Konzepte und Systeme
kommen würden, schließlich wurde ja weltweit überall heftig entwickelt
an solchen Dingen wie Datenbanken. (Daher programmierten wir als erstes
den Export, mit einem denkbar flexiblen Konzept, und zwar auch, um
sicherzugehen, die Daten jederzeit in jeder gewünschten Form
rauskriegen zu können aus unserm System, um sie dann einem neueren,
besseren übergeben zu können. Erst danach kam das Indexieren, und das
profitierte dann schon mächtig auch von dem Exportkonzept.)

So kam es, daß wir in 2 GB keine wirkliche Grenze sahen. Und folglich
wurden Satznummern und Adressen in Dateien in 4 Byte codiert, also
32bit, statt in 8 Byte (64 Bit), was uns damals absurd großspurig
erschienen wäre und auch die Performance spürbar gedrückt hätte.
Zudem war das noch nicht die Zeit der objektorientierten
Programmierung, die es viel leichter gemacht hat, all solche Parameter
in einer Weise "einkapseln" zu können, die eine spätere Ausweitung
dann etwas einfacher macht. Wenn auch nicht annähernd so einfach
wie ein Zopfabschneiden; das bliebe immer noch ein, mit Verlaub,
groteskes und inakzeptabel primitives Bild für diese Sache.

Nein, die Realität sieht in diesem Bereich nicht hoffnungsvoll aus,
da wäre es unverantwortlich, wollte ich Hoffnungen erwecken. Ich wüßte
schlicht gar nicht, woher die Zeit nehmen, um die Indexroutinen
in diesem Sinne zu überarbeiten. Das waren damals einige Monate
harte Entwicklungsarbeit, aber was man vor 25 Jahren gemacht hat,
muß man ja erst mal wieder verstehen, bevor man es gründlich
ändern kann oder gar ganz neu schreiben!

Langer Rede kurzer Sinn: Auf dem Boden der heutigen Tatsachen können wir
denen, die bei allegro bleiben wollen, aber riesige Datenmengen haben,
nur empfehlen, Solarkraft einzusetzen:

   http://www.allegro-c.de/doku/solr.htm

Also den eigentlichen Benutzungsindex "outsourcen" in ein anderes,
dafür geschaffenes, viel moderneres Konzept und System. Die Grundlagen
dafür haben wir 2010 geschaffen, als wir endlich auch kapiert hatten,
daß 2 GB nicht wirklich viel ist. Aber unsere Reaktion war eben nicht,
ein veraltetes Konzept (Nutzer verstehen keine alphabetischen Register
mehr) nochmal aufmöbeln zu wollen, sondern eben was moderneres mit
allegro zu verbandeln.

B.E.






Mehr Informationen über die Mailingliste Allegro