ISL-LOGO

Analyse

An eine bestimmte Menge an Daten eines Systems soll ein definierter Abfragetyp mit einer großen Anzahl an Parametern gestellt werden. Kennzeichnend ist, daß die Kombination dieser Parameter frei wählbar ist und sich somit eine sehr große Zahl möglicher, sich unterscheidender Abfrageausprägungen ergibt.
Konkrete Beispiele für solche Szenarien sind in zahlreichen Webanwendungen als "Konfiguratoren" oder Produkt-Suchdienste zu finden.
Eine Nebenanforderung ist ggf. eine schnelle Reaktionszeit.

Lösung

Folgende Schritte führen zu einer Lösung:

  • Herstellung eines denormalisierten Datenmodells (optimal mit einer Entität)
  • Darstellung der Attribute in binärer Logik
  • Abbildung des so gewonnenn Modells in den Arbeitspeicher
  • Abbildung der Abfrage in genau der selben Struktur
  • Herstellung eines Mapping Algorithmus nach "Für jeden Datensatz im Modell => if(Abfrage==Datensatz)"

Vor-/Nachteile

Mögliche Vorteile sind:

  • Durch den Verzicht auf ein RDBMS entfallen die Kosten für Software-Lizenzen
  • Die beschriebene Lösung ist für bestimmte Anwendungsfälle leicht zu implementieren
  • Die explizite Ausführung im Arbeitspeicher in Verbindung mit einem effizienten Algorithmus verspricht schnelle Ausführungszeiten

Mögliche Nachteile sind:

  • Die beschriebene Lösung kann für bestimmte Anwendungsfälle komplex ausfallen. In diesen Fällen ist die Verwendung eines RDBMS evtl. vorzuziehen. Es ist auf jeden Fall eine sorgfältige Abwägung der unterschiedlichen Alternativen zu empfehlen
  • Evtl. hohe Hardware-Anforderungen an den Arbeitsspeicher, da die Denormalisierung (erwünschte) Redundanzen erzeugt
[Seitenanfang]