Datenbankintegrit"at
Thomas Berger
ThB.com at t-online.de
Do Jan 7 16:21:05 CET 1999
Heinrich Allers wrote:
>
> Robert Fischer Berlin <rfb at mail.blinx.de> schrieb
> am Thu, 07 Jan 1999 13:14:56 +0100 (MET) unter dem
> "Subject: Re: Aurora-Editor + Edit von ALD":
>
> > ...
> > Im Grunde gehoert dies in das von mir gelegentlich
> > angesprochene Thema des Datenbank-TUEVs, der m.E. alle
> > Jahre fuer aktive DBs noetig ist und der eine weitreichende
> > Fehlerdiagnose und Fehlerbeseitigung beinhaltet.
>
> Das ist eine starke Aussage (von der ich denke, daß auch die
> Entwicklungsabteilung dazu noch ein Wort sagt).
Dieser Aussage moechte ich mich aber anschliessen:
Es ist fuer viele Anwender eine ziemliche Erleichterung,
wenn nach ein paar Jahren ein allegrologe vorbeischneit,
diverse Tests ausfuehrt und zum Schluss sagen kann:
100% in Ordnung, nur weiter so.
Allegro ist so robust, dass ich Faelle erlebt habe, wo
durch Serverabstuerze die Datenbank stark zerstoert war,
aber _jahrelang_ noch weiter hineinkatalogisiert werden
konnte.
> Als Betreuer von vielen Anwendungen paßt sie mir nicht, weil
> ich meinen "Subanwendern" ein Werkzeug anbiete, das per se
> und schon im Normalbetrieb Fehlerchen ins Produkt einstreut,
> die man dann ab und zu mal ausjäten muß.
>
> Ich sage bisher immer den Anwendern, daß Allegro prinzipiell
> ordentlich arbeitet, und daß es externe Gründe hat, wenn eine
> Datenbank doch einmal so korrumpiert ist, daß eine
> Reorganisation keine Abhilfe schafft: Stromausfälle,
> ungepflegte Festplatte, Bedienungsfehler (z.B. mit Word 'ne
> .ALD-Datei öffnen).
>
> Ist dieser Optimismus, was Allegro angeht, falsch?
Nein. Er sollte aber durch den Pessimismus ergaenzt werden,
dass im Laufe der Jahre die Wahrscheinlichkeit eines solchen
externen Ereignisses ziemlich hoch ist. [NB: Es hat natuerlich
durchaus schon internen Fehlfunktionen der Allegro-Module
gegeben, die fehlerhafte Daten produziert haben]
In solchen Situationen sollte ein Systembetreuer in der Tat
Werkzeuge haben, die ihm helfen. Aus meiner Praxis weiss ich
aber, dass man zunaechst sehr umfassend und geduldig mittels
Interviews die Historie von Fehlern ergruenden muss, bevor
man eingreifen kann: Jeder Fall erfordert seine eigene
Reparaturstrategie, Werkzeuge koennen hier nur helfen und
sind nicht zu verwechseln mit einem Knopfdruck-
Datenbankanalysator und -reintegrator.
Fuer Anwender sollte es immer heissen: "Finger weg" sobald
etwas unerklaerliches passiert. Fast alle nicht 100%
erfolgreiche Reparaturen haben ihren Grund darin gehabt,
dass Anwender zunaechst selbst repariert haben und damit
eine starke verschlimmerung erreichten, stellenweise ohne
es direkt zu bemerken.
> > Ein weiteres, gut programmiertes Tool
>
> Über SNIFFER hinaus?
>
ich biete: sneezer.pl (nunja, Tool ja, weiteres ja, gut programmiert
naja). Scherz beiseite: SNIFFER kann nur Datenbanken untersuchen,
d.h. .cLD-Dateien und .TBL-Dateien auf falsche Zeichen und
Falsche Kategorien untersuchen. Es ist ziemlich ungeeignet
in dem Fall, wo nur noch Fragmente vorhanden sind oder
Binaerschrott in Datenbanken eingesprengselt wurde. Hier gibt
es in einigen Fallen nur die trivialste aller Information: Wenn
SNIFFER crasht, ist wohl etwas wirklich nicht in Ordnung. In
anderen Faellen merkt SNIFFER garnix und andere Module crashen.
> > Ich weis schon, dass sich das meiste durch Parametrierung loesen laesst.
>
> Ja, so ist's! Welcher Anwender übernimmt's also, erst einmal
> einige der hier genannten Prüfroutinen zu parametrieren, um
> sie dann im großen Kreis anzubieten oder gar in die
> offizielle Allegro-Distribution aufzunehmen? Das
> Parametrieren allein wäre ja nicht das Schlimmste, das hat
> der eine oder andere Anwender ja schon für seine Zwecke
> gemacht: Die Frage ist, wer sich die Mühe macht, die
> Parametrierung derart allgemein und einstellbar zu gestalten,
> daß sie für einen größeren Kreis von Anwendern übernehmbar
> ist, ohne selbst erst wieder anfangen zu müssen,
> Restparametrierungsarbeit zu leisten?
Halte ich fuer unrealistisch.
1.) viele Inkonsistenzen lassen sich auch online aufdecken,
durch nachschauen in den richtigen Randbereichen der
Register, durch Einstellen von Haeufigkeitsschwellen
etc.
2.) Was darueberhinausgeht, erfordert vermutlich starke
individuelle Anpassungen, hier hat Herr Allers recht.
3.) Konsistenztests sollten schon beim Design der Anwendung
mitbedacht und mitprogrammiert werden, hier hat Herr
Fischer recht.
4.) Die besten Tests sind unabhaengige, d.h. es sollten auf
moeglichst primitive Art Rohdaten aus Allegro exportiert
und mit externen Mitteln weiterverarbeitet werden.
> > Ein BUG-Info-Pool, in dem man auch in Bezug auf Bugfixes
> > nachlesen kann, waere auch nicht schlecht.
>
> So etwas gab es mal oder gibt es noch, von Thomas Berger
> gepflegt, war es damals zumindest gepflegt.
Wurde am 31.7.1996 eingestellt.
> > und
> > wuerde zu einer, wenn auch kleinen Entlastung der Braunschweiger stets
> > geduldig am Telefon beratenden Fachleute fuehren.
>
> Ruft dort etwa noch mit derartigen Problemen jemand an, der
> E-Post-Anschluß hat?
Mir geht es so: Gerade wenn mir die Nerven durchbrennen, greife
ich zum Telefon...
viele Gruesse
Thomas
Mehr Informationen über die Mailingliste Allegro