DE102005042513A1 - Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme - Google Patents

Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme Download PDF

Info

Publication number
DE102005042513A1
DE102005042513A1 DE102005042513A DE102005042513A DE102005042513A1 DE 102005042513 A1 DE102005042513 A1 DE 102005042513A1 DE 102005042513 A DE102005042513 A DE 102005042513A DE 102005042513 A DE102005042513 A DE 102005042513A DE 102005042513 A1 DE102005042513 A1 DE 102005042513A1
Authority
DE
Germany
Prior art keywords
attribute
categories
attribute value
assigned
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102005042513A
Other languages
English (en)
Inventor
Johann-Christoph Prof. Freytag
Frank Huber
Timo Gläßer
Giovanni Rabaioli
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atos IT Solutions and Services GmbH Germany
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102005042513A priority Critical patent/DE102005042513A1/de
Publication of DE102005042513A1 publication Critical patent/DE102005042513A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Es wird ein Verfahren zum rechnergestützten Erzeugen einer Datenbasis für einen optimierten Zugriff auf in hierarchischer Form gegliederten Daten einer Datenmenge mit einer Vielzahl an Objekten in unterschiedlichen Datenebenen beschrieben, wobei jedes Objekt der Datenmenge zumindest einen, einem Attributtyp zugeordneten, Attributwert aufweist, bei dem
- die Häufigkeit des Auftretens eines Attributwerts in der Datenmenge ermittelt wird,
- die Attributwerte gemäß einer vorgegebenen Ordnung angeordnet werden,
- die den Attributwerten zugeordneten Häufigkeitswerte einer Mehrzahl an Kategorien zur Erzeugung eines Histogramms zugewiesen werden,
-- wobei die Attributwerte entweder einer Kategorie erster Art mit jeweils einem einzigen Attributwert (UniBucket) oder eine Kategorie zweiter Art mit jeweils mehreren Attributwerten zugewiesen werden,
-- wobei einer jeweiligen Kategorie zweiter Art ausschließlich solche Attributwerte zugewiesen werden, deren zugehörige Häufigkeitswerte hinsichtlich ihrer Varianz eine vorgegebene Bedinung erfüllen.

Description

  • Die Erfindung betrifft ein Verfahren zum rechnergestützten Erzeugen einer Datenbasis für einen optimierten Zugriff auf in hierarchischer Form gegliederte Daten einer Datenmenge mit einer Vielzahl an Objekten in unterschiedlichen Datenebenen, wobei jedes Objekt der Datenmenge zumindest einen, einem Attributtyp zugeordneten, Attributswert aufweist.
  • Eine der wesentlichen Eigenschaften eines Datenbanksystems oder eines Verzeichnisverwaltungssystems (auch als Directory bezeichnet) besteht darin, Suchanfragen effizient zu beantworten. Die Effizienz einer Suchanfrage wirkt sich einerseits auf die Antwortzeiten und andererseits auf den Ressourcenverbrauch des Computers aus. Letzteres hat einen direkten Einfluss auf den Durchsatz und damit wieder auf die Antwortzeiten, wenn der Rechner, der die Suchanfrage zu bearbeiten hat, durch einen zu hohen Ressourcenverbrauch überlastet ist.
  • Zwecks Optimierung einer Suchanfragenbearbeitung werden in Datenbanken und Verzeichnisverwaltungssystemen Indizes eingerichtet, mit deren Hilfe Verweise auf die gesuchten Objekte gewonnen werden können. Elemente der gestellten Suchanfrage werden als Schlüssel in einem Index verwendet, um daraus direkte Referenzen zu den gesuchten Daten zu ermitteln.
  • Die Verwendung eines Indexes im Rahmen einer Suchanfrage ermöglicht jedoch nur die Behandlung einfacher Abfragen in zufrieden stellender Weise. Häufig sind jedoch die zu bearbeitenden Suchanfragen sehr komplex. Dabei gibt es in vielen Fällen verschiedene Möglichkeiten, die Suchanfrage in einfachere Teilfragen aufzulösen. Im Rahmen der Durchführung einer Suchanfrage wäre es deshalb wünschenswert, eine Methode zu besitzen, welche vor dem konkreten Suchbeginn die beste Variante einer Suchstrategie aufzeigt.
  • Hierzu ist es bekannt, um vorab eine Auswahl verschiedener Lösungsmöglichkeiten zur Beantwortung der Suchanfrage zu treffen, statistische Informationen über die Verteilung der gesamten Datenmenge heranzuziehen. Die Erstellung solcher Statistiken bedingt jedoch die Einbeziehung der gesamten Datenmenge und kann damit selbst ein signifikanter Ressourcenverbrauchsfaktor werden.
  • Eine Eigenschaft, die ein Verzeichnisverwaltungssystem von einer Datenbank unterscheidet ist, dass Verzeichnisverwaltungssysteme hierarchisch aufgebaute Datenstrukturen verwalten. Zum Beispiel teilt ein Telefonverzeichnis zunächst die Daten in Länder, dann in Bundesländer, dann innerhalb eines jeweiligen Bundeslandes in Städte und schließlich eventuell innerhalb der Stadt in Stadtteile auf. Die hierarchische Strukturierung bietet unter anderem den Vorteil, Suchanfragen auf Untermengen, so genannte Sub-Bäume, einschränken zu können, wodurch eine schnellere Verarbeitung einer Suchanfrage erzielbar ist. Eine Folge hiervon ist, dass auch die Statistiken einer in hierarchisch gegliederter Form vorliegenden Datenmenge an diesem Umstand orientiert werden müssen.
  • Suchanfragen sprechen "Attributtypen" sowie "Attributswerte" an und zielen auf die Ausgabe solcher Objekte ab, bei welchen innerhalb des gesuchten Attributtyps entsprechende Attributswerte auftreten. Der Attributtyp kann beispielsweise ein Land, das Bundesland, die postalische Adresse und ähnliches sein. Ein Attributswert stellt ein zu einem jeweiligen Attributtyp inhaltliches Datum dar, wie z.B. Deutschland, Bayern, Bahnhofstraße. Eine Suchanfrage könnte beispielsweise nach allen Personen suchen, die in der Bahnhofstraße in München wohnen. Der Attributtyp wäre dabei die postalische Adresse und der Attributswert die Bahnhofstraße, wobei die Suche auf einen Sub-Baum (München) eingeschränkt werden könnte.
  • Zur Beurteilung der Güte eines Index müssen die Statistiken pro Attributtyp eine Zuordnung von Vorkommnis-Häufigkeiten zu Attributswerten verwalten. Um der hierarchischen Strukturierung Rechnung zu tragen, müssen diese Daten einem betreffenden Sub-Baum zugeordnet werden. Damit jedoch die statistischen Daten von Nutzen sein können, müssen Sie leicht zugänglich sein und deshalb in einem im Rahmen der Suchanfrage zugreifbaren Hauptspeicher abgelegt sein. In der Praxis ist die Größe eines solchen Hauptspeichers jedoch limitiert, so dass die statistischen Daten durch Erzeugung von Histogrammen (Datenbasis) konzentriert werden müssen. Dazu wird in der Praxis eine gewisse Anzahl von Attributswerten jeweils einer Kategorie zugeordnet und in einem so genannten "Bucket" zusammengefasst, wobei eine Zuordnung der Summe der Vorkommnisse erfolgt.
  • Die effiziente Generierung solcher Histogramme ist für die Suchanfragen-Optimierung – insbesondere die Antwortzeiten und den Ressourcenverbrauch eines die Suchanfrage bearbeitenden Rechners – von entscheidender Bedeutung, da die Generierung der Histogramme, aufgrund der sich in der Regel dynamisch ändernden Datenmenge, in regelmäßigen Abständen vorzunehmen ist.
  • Die Aufgabe der vorliegenden Erfindung ist es daher, ein Verfahren zum rechnergestützten Erzeugen einer Datenbasis anzugeben, welche auf einfache und Ressourcen schonende Weise die Bereitstellung einer Datenbasis ermöglicht, um Suchanfragen komplexer Art optimiert bearbeiten zu können.
  • Diese Aufgabe wird mit einem Verfahren mit den Merkmalen des Patentanspruches 1 gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Patentansprüchen.
  • Bei dem erfindungsgemäßen Verfahren zum rechnergestützten Erzeugen einer Datenbasis für einen optimierten Zugriff auf in hierarchischer Form gegliederte Daten einer Datenmenge mit einer Vielzahl an Objekten in unterschiedlichen Datenebenen, wobei jedes Objekt der Datenmenge zumindest einen, einem Attributtyp zugeordneten, Attributswert aufweist, wird zunächst die Häufigkeit des Auftretens eines Attributswerts in der Datenmenge ermittelt. Es werden die Attributswerte gemäß einer vorgegebenen Ordnung angeordnet. Die den Attributswerten zugeordneten Häufigkeitswerte werden einer Mehrzahl an Kategorien zur Erzeugung eines Histogrammes zugewiesen. Die Attributswerte werden entweder einer Kategorie erster Art mit jeweils einem einzigen Attributswert (UniBucket) oder einer Kategorie zweiter Art mit jeweils mehreren Attributswerten zugewiesen. Dabei werden einer jeweiligen Kategorie zweiter Art ausschließlich solche Attributswerte zugewiesen, deren Häufigkeitswerte hinsichtlich ihrer Varianz eine vorgegebene Bedingung erfüllen.
  • Die Verwendung eines nach diesem Verfahren erzeugten Histogramms ermöglicht insbesondere bei komplexen Suchfunktionen, bei denen Attributswerte verschiedener Attributtypen zu berücksichtigen sind, auf besonders einfache möglich, da anhand des Histogramms eine Vorauswahl treffbar ist, welcher einem Attributtyp zugeordnete Index zunächst einer genaueren Übereinstimmung mit dem gesuchten Attributswert unterzogen werden soll. Durch die Bereitstellung des erfindungsgemäßen Histogramms wird es insbesondere möglich, zunächst denjenigen Attributtyp im Rahmen der Suche zu berücksichtigen, der eine geringere Anzahl an Häufigkeitswerten aufweist.
  • Durch das erfindungsgemäße Verfahren, mit dem eine Datenverteilung approximierbar ist, lassen sich die Attributswerte anhand einer Eigenschaft sortieren und gruppieren. Dieser Vorgang lässt sich dabei insbesondere bei einer Datenmenge, welche in hierarchischer Form gegliederte Daten aufweist, auf besonders einfache und effiziente Weise durchführen, so dass die Ressourcen des die Datenbasis vorhaltenden Rechners gering gehalten werden können.
  • In einer Ausführungsform des erfindungsgemäßen Verfahrens ist vorgesehen, dass die Attributswerte in sortierter Form in dem Histogramm angeordnet werden. Die Anordnung in sortierter Form kann beispielsweise eine Anordnung der Attributswerte in alphabetischer Reihenfolge (aufsteigend oder absteigend) umfassen. Daneben sind auch andere Sortierungen möglich, welche das Auffinden der Attributswerte in dem Histogramm auf einfache Weise ermöglichen.
  • Gemäß einer weiteren Ausführungsform ist vorgesehen, dass bei der Erstellung des Histogramms eine maximale Anzahl an Kategorien erster und zweiter Art vorgegeben wird, denen die Attributswerte zugewiesen werden. Durch die maximale Anzahl an Kategorien kann einerseits die Geschwindigkeit der Erstellung des Histogramms über die gesamte Datenmenge sowie die Genauigkeit bzw. das Fehlerverhalten des Histogramms beeinflusst werden.
  • Es kann weiter vorgesehen sein, dass bei der Erstellung des Histogramms als zu erfüllende Bedingung ein Grenzwert vorgegeben wird, den die Varianz zumindest einer der Kategorien zweiter Art nicht übersteigen darf. Diese auch als Grenzvarianz bezeichnete Varianz kann für die Kategorien zweiter Art separat festgelegt werden, wobei es jedoch zweckmäßig ist, die Grenzvarianz für alle Kategorien gleich zu bestimmen.
  • Im Rahmen der Erstellung des Histogramms ist vorgesehen, dass ein Attributswert zunächst einer Kategorie erster Art zugewiesen wird und zwei Kategorien erster Art in eine Kategorie zweiter Art umgewandelt werden, wenn eine vorgegebene Anzahl an Kategorien überschritten ist. Das Ziel hierbei ist das Erreichen einer Varianz von Null einer jeden Kategorie zweiter Art. Das Fehlerverhalten ist dabei umso besser, je kleiner die Varianz der Kategorien zweiter Art gehalten werden kann.
  • Es ist weiter vorgesehen, dass zwei innerhalb der vorgegebenen Ordnung benachbarte Kategorien erster Art in eine Kategorie zweiter Art umgewandelt werden. Bei Berücksichtigung dieser Bedingung kann sichergestellt werden, dass die Anzahl an maximalen Kategorien erster und zweiter Art gering gehalten werden kann, was für eine Suchanfragenoptimierung von Vorteil ist.
  • In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass ein neuer, einer der Kategorien erster oder zweiter Art zuzuweisender Attributswert einer Kategorie zweiter Art zugewiesen wird, solange die vorgegebene Varianzbedingung dies zulässt. Alternativ kann vorgesehen sein, dass ein neuer, einer der Kategorien erster oder zweiter Art zuzuweisender Attributswert einer Kategorie zweiter Art zugewiesen wird, solange eine vorgegebene Anzahl an Kategorien nicht überschritten ist. Je nachdem, ob eine vorgegebene Varianzbedingung und/oder eine vorgegebene maximale Anzahl an Kategorien nicht überschritten werden darf, ist die Art der Zuordnung eines Attributswertes zu einer der Kategorien unterschiedlich.
  • Eine weitere Ausführungsform sieht vor, dass für zumindest einen Attributtyp jeweils eine Datenbasis für ausgewählte Basen der hierarchisch gegliederten Daten erstellt wird. Der Attributtyp kann dabei als Verzeichnisebene in einer hierarchisch gegliederten Datenmenge betrachtet werden. Eine Basis stellt einen Knoten in dem Verzeichnisbaum der hierarchisch gegliederten Datenmenge dar. Durch das Bereitstellen einer Datenbasis an ausgewählten Basen wird insbesondere eine Suchanfragenoptimierung an Sub-Bäumen der Datenmenge ermöglicht.
  • Gemäß einer weiteren Ausgestaltung werden die Datenbasen für einen Attributtyp der mehreren ausgewählten Basen gleichzeitig erstellt. Hierdurch ist eine hohe Effizienz gewährleistet, was sich insbesondere beim regelmäßigen Aktualisieren der Datenbasis aufgrund der sich ändernden Datenmenge von Vorteil ist.
  • Eine weitere Ausgestaltung sieht vor, dass für jeden Attributtyp ein Index erstellt wird, der diejenigen, ein Objekt eindeutig kennzeichnenden Schlüssel umfasst, welche Objekte den betreffenden Attributswert umfassen. Wird, wie dies gemäß einer weiteren Ausgestaltung vorgesehen ist, für jeden Attributswert ein erster Bitstring erstellt und gespeichert, der alle in der Datenmenge existierenden Vorkommnisse des Attributswerts umfasst, wobei die Position des jeweiligen Bits, bezogen auf den Anfang oder das Ende des ersten Bitstrings, den Wert des Verweises auf das Objekt darstellt, das diesen Attributswert enthält, so wird hierdurch eine Minimierung des Speicherbedarfs für die Datenbasis ermöglicht, da das Vorhalten einzelner Bits im Rahmen des Bitstrings weniger Speicherplatz benötigt als das Bereitstellen eines herkömmlichen Index, bei welchem diejenigen Schlüssel enthalten sind, welche Objekte den betreffenden Attributswert umfassen. Zur Abspeicherung eines einem Objekt eindeutig zugeordneten Schlüssels sind in der Praxis vier Byte notwendig, während die gleiche Information im Rahmen dieses Vorgehens mittels lediglich einem einzige Bit erhaltbar ist.
  • Gemäß einer weiteren Ausgestaltung wird ein zweiter Bitstring erstellt, der für einen Eintrag die Menge von Einträgen beschreibt, die ihm in untergeordneten Datenebenen nachfolgen. Der Vorteil besteht darin, dass mit dem ersten und dem zweiten Bitstring nur ein einmaliges Lesen der Einträge der gesamten Verzeichnisstruktur notwendig ist, um die Datenbasen für sämtliche der ausgewählten Basen zu erstellen.
  • Dabei ist es vorteilhaft, wenn der zweite Bitstring für alle Datenebenen erstellt wird, die nicht die unterste Verzeichnisebene der Datenmenge darstellen.
  • Weiterhin ist vorgesehen, dass zum Erstellen der Datenbasen nur der erste und/oder der zweite Bitstring, nicht aber die Objekte der Datenmenge, herangezogen werden. Hierdurch lässt sich die für die Suchanfragenoptimierung benötigte Datenbasis auf besonders einfache und Ressourcen schonende Weise erzeugen.
  • Eine weitere Ausgestaltung sieht vor, dass für den Schritt des Ermittelns der Häufigkeit des Auftretens eines Attributswerts zum Erstellen der Datenbasen folgende Schritte vorgenommen werden: Es erfolgt ein Lesen der zweiten Bitstrings aller Basen. Es wird ein Attributswert ai eines vorgegebenen Attributtyps gelesen. Ferner wird die Häufigkeit des Attributswerts ai für alle Basen durch eine UND-Verknüpfung des ersten und aller eingelesenen zweiten Bitstrings ermittelt, indem eine Zählung der verbleibenden Bits des verknüpften Bitstrings vorgenommen wird.
  • Nach Ermitteln der Häufigkeit eines Attributswerts ai kann eine entsprechende Zuordnung zu einer Kategorie erster oder zweiter Art erfolgen. Das beschriebene Vorgehen wird für sämtliche Attributswerte der Datenmenge vorgenommen.
  • Zur Suchanfragenoptimierung, insbesondere in Verzeichnisverwaltungssystemen mit hierarchisch gegliederten Daten, wird gemäß dem Gedanken der Erfindung vorgeschlagen, Attributswerte zu sortieren und mit Hilfe ihrer Häufigkeit zu gruppieren, d.h. einer Kategorie erster oder zweiter Art zuzuordnen. Die Kategorien zweiter Art werden derart erzeugt, dass ihre Varianz möglichst minimal ist. Einzelne Ausreißer werden dagegen in Kategorien erster Art mit lediglich einem einzigen Attributswert gespeichert. Die Erstellung der Datenbasis, für mehrere ausgewählte Basen gleichzeitig, erfolgt dabei unter Verwendung von Bitstrings, in welchen alle in der Datenmenge existierende Vorkommnisses eines Attributswerts enthalten sind. Durch die Verknüpfung mehrerer Bitstrings miteinander lässt sich auf einfache und schnelle Weise die Häufigkeit eines Attributswerts für die jeweilige Basis ermitteln.
  • Die Erfindung und deren Vorteile werden nachfolgend anhand der Figuren näher erläutert. Es zeigen:
  • 1 ein Histogramm, in welchem beispielhaft Häufigkeitswerte unterschiedlicher Attributswerte aufgetragen sind,
  • 2 das nach dem erfindungsgemäßen Verfahren zu 1 erstellte Histogramm, welches die Datenbasis für optimierte Suchanfragenfunktionen bildet,
  • 3 ein weiteres Ausführungsbeispiel eines mit dem erfindungsgemäßen Verfahren generierten Histogramms, anhand dessen die Erstellung des Histogramms erläutert wird,
  • 4a4e einen beispielhaften Algorithmus, mit dem die Erstellung des als Datenbasis dienenden Histogramms möglich ist,
  • 5 eine schematische Darstellung von hierarchisch gegliederten Daten, und
  • 6 einen beispielhaften Algorithmus, mit welchem die gleichzeitige Erstellung einer Datenbasis für mehrere ausgewählte Basen gleichzeitig möglich ist.
  • Für das bessere Verständnis des erfindungsgemäßen Verfahrens zur Erstellung eines Histogramms als Datenbasis für einen optimierten Zugriff auf in hierarchischer Form gegliederte Daten einer Datenmenge werden zunächst bekannte Histogramm- Typen, welche statistische Informationen von hierarchisch gegliederten Daten bereitstellen können, kurz dargelegt.
  • Die einfachste Art von Histogrammen stellen so genannte Equi-Width-Histogramme dar. Bei diesen wird eine Gruppierung gewählt, bei der alle Gruppen eine nahezu gleiche Anzahl von unterschiedlichen Attributswerten aufweisen. Die so entstandenen Gruppen, welche Kategorien zweiter Art oder sog. Nicht-UniBuckets darstellen, sind damit alle gleich breit. Sie können eine unterschiedliche Höhe, das heißt eine unterschiedliche Anzahl an Vorkommnissen eines betreffenden Attributswerts besitzen. Bei dieser Art der Histogrammbildung kann es vorkommen, dass ein sehr häufiger und sehr seltener Attributswert in ein und dieselbe Kategorie fallen. Daraus folgt bei der Annahme der Gleichverteilung innerhalb einer Kategorie ein großer Fehler in der Abschätzung der Häufigkeit für beide Attributswerte. Equi-Width-Histogramme haben deshalb einen relativ hohen, durchschnittlichen Fehler. Diese Histogrammart wird auch als Equi-Sum (V, S) bezeichnet. Dabei bezeichnet V, dass eine Sortierung nach Attributswerten erfolgt. S bedeutet, dass gleiche Summen über die Breite der Kategorie gebildet werden.
  • Equi-Depth-Histogramme, die auch als Egui-Sum (V, F) bezeichnet werden, sind eine Weiterbildung von Equi-Width-Histogrammen. In diesen werden nicht Kategorien gleicher Breite, sondern Kategorien mit gleicher Höhe abgebildet. Man bildet somit Kategorien mit gleichen Häufigkeiten. Equi-Depth-Histogramm haben einen kleineren Fehler als Equi-Width-Histogramme, allerdings ist ihr Fehler immer noch signifikant hoch.
  • Eine Fortentwicklung von Equi-Sum-Histogrammen stellen so genannte Compressed-Histogramme dar. Diese existieren als Compressed (V, S) und Compressed (V, F)-Histogramme. Der Aufbau ist äquivalent zu den Equi-Sum-(V, S)-/(V, F)-Histogrammen. Im Unterschied zu diesen werden die häufigsten n Attributswerte aus Kategorien zweiter Art herausgenommen und in Kategorien erster Art mit nur einem Attributswert gepackt. Diese Kategorien erster Art werden auch als UniBuckets bezeichnet. Compressed-Histogramme bieten ein gutes Fehlerverhalten.
  • Darüber hinaus existieren so genannte V-Optimal-Histogramme. Diese liegen in unterschiedlichen Formen wie V-Optimal(V, F) und V-Optimal(V, A) vor. F steht hierbei für die Häufigkeit, A für die Fläche. Bei V-Optimal(V, F)-Histogrammen wird versucht, die Varianz der Kategorien zweiter Art zu optimieren bzw. zu minimieren. Die Kategorien zweiter Art werden derart gebildet, dass deren Gesamtvarianz minimal ist.
  • Wichtige Kennwerte beim Aufbau von V-Optimal-Histogrammen sind Mittelwert und Varianz. Der Mittelwert x lässt sich mit folgender Formel berechnen:
    Figure 00110001
  • Die Rekursionsformel lautet: x 1 = x1, (2)
    Figure 00110002
  • Der Mittelwert aus zwei Mittelwerten x K und x L ist:
    Figure 00110003
  • Die Varianz σ bestimmt man mit:
    Figure 00110004
    oder:
    Figure 00120001
    was
    Figure 00120002
    entspricht. Die Rekursionsform ist dann gegeben durch: σ1 = 0 (8)
    Figure 00120003
    bzw.
    Figure 00120004
  • Es hat sich herausgestellt, dass die oben beschriebenen Histogramm-Typen im Rahmen einer Suchanfragenoptimierung zu noch nicht befriedigenden Ergebnissen führen. Es wurde herausgefunden, dass eine Verschmelzung der Histogrammarten Compressed- und V-Optimal-(V, F) zu einem als nachfolgend als CVO-Histogramm bezeichneten Histogramm eine wesentliche Verbesserung ergibt. Das Bilden eines CVO-Histogramms bedeutet, dass die Kategorien entsprechend den Attributswerten sortiert und mit Hilfe ihrer Häufigkeit gruppiert werden. Dabei werden die Kategorien derart erstellt, dass ihre Varianz möglichst minimal ist (V-Optimal). Zugleich werden "Ausreißer" in Kategorien mit nur einem einzigen Attributswert (Kategorie erster Art oder UniBucket) gespeichert (dies entspricht einem Compressed-Histogramm).
  • Diese Vorgehensweise ist beispielhaft in den 1 und 2 schematisch dargestellt. 1 zeigt eine Attributswerte-Verteilung, bei der die Häufigkeiten des Auftretens einzelner Attributswerte als diskrete Werte dargestellt sind. 2 zeigt das zugehörige, aus den Daten von 1 gebildete, CVO-Histogramm. Anhand dieser Figur wird auf anschauliche Weise deutlich, dass Attributswerte, deren Häufigkeit stark von ihrer Umgebung abweichen, in eigenen Kategorien erster Art (UniBuckets) gespeichert werden (Bezugszeichen 10 und 11). Die verbleibenden Häufigkeitswerte werden Kategorien zweiter Art derart zugeordnet, dass die Varianz dieser Kategorien minimal ist.
  • Die Erfindung unterscheidet somit Kategorien erster Art (UniBuckets) und Kategorien zweiter Art (Nicht-UniBuckets). Kategorien erster Art enthalten jeweils einen einzigen Attributswert und werden auch als UniBucket bezeichnet. Kategorien zweiter Art umfassen jeweils mehrere Attributswerte, wobei innerhalb einer Kategorie zweiter Art lediglich solche Attributswerte enthalten sind, deren zugehörige Häufigkeitswerte hinsichtlich ihrer Varianz eine vorgegebene Bedingung erfüllen.
  • Nachfolgend wird der allgemeine Aufbau eines CVO-Histogramms beschrieben. Es wird von einer Menge an Attributswerten ai und deren Häufigkeiten |αi| ausgegangen. Die Erstellung eines CVO-Histogramms kann unter den nachfolgenden zwei komplementären Vorgehensweisen erfolgen:
    • 1. Es wird eine maximale Anzahl an Kategorien vorgegeben, die nicht überschritten werden darf. Dann muss ein Minimum der Gesamtvarianz in Bezug auf diese Bedingung gefunden werden.
    • 2. Es wird eine maximale Varianz angegeben, die nicht überschritten werden darf. Bei dieser Bedingung muss eine minimale Anzahl von Kategorien gefunden werden, die die Bedingung der maximalen Varianz erfüllt.
  • Zum anderen ist eine der beiden nachfolgenden, gegensätzlichen Varianten zu berücksichtigen.
    • 1. Die Attributswerte werden zuerst in Kategorien erster Art (UniBuckets) eingetragen und nur dann miteinander verbunden, wenn nicht mehr genügend Platz zur Verfügung steht. Bei dieser Methode wird versucht, eine Varianz von Null zu erhalten, wobei die maximale Anzahl an vorgegebenen Kategorien ausgeschöpft wird. Bei dieser Variante werden zwei benachbarte Attributswerte, die die gleiche Häufigkeit aufweisen, zuerst in zwei unterschiedliche, benachbarten Kategorien erster Art zugewiesen und frühestens bei Überschreiten der maximalen Anzahl der Kategorien zusammengeführt. Ist keine Maximalanzahl der Kategorien vorgegeben, so können so viele Kategorien angelegt werden, wie es unterschiedliche Attributswerte in der Datenmenge gibt.
  • Im Gegensatz dazu zieht die zweite Variante vor, Attributswerte in einer Kategorie zusammenzuführen, so lange dies kein Verstoß gegen die vorgegebene Varianzbedingung ist, bzw. wenn die maximale Anzahl an Kategorien dies erfordert.
  • Diese Vorgehensweise wird anhand der nachfolgenden Tabelle anschaulicher:
    Figure 00140001
  • Der Parameter forceSpace ∊ {true; false} legt fest, ob die maximale Kategorienanzahl (true) oder die Varianzbedingung (false) bindend ist. Der Parameter forceUniBuckets ∊ {true; false} zeigt an, ob versucht wird, möglichst viele Buckets mit nur einem Attributswert (UniBuckets) zu erzeugen (true). In Tabelle 1 sind die möglichen Fälle und ihre zugehörige Nummer (0, 1, 2, 3) dargestellt.
  • Im folgenden wird der Aufbau des CVO-Histogramms unter Bezugnahme auf 3 genauer erläutert. Dabei ist aus einer Menge von Attributswerten ai und deren Häufigkeiten |αi| das nach den oben genannten Parametern spezifizierte CVO-Histogramm zu erstellen. Es wird dabei davon ausgegangen, dass die Attributswerte in geordneter Reihenfolge, z.B. alphabetischer Natur, vorliegen bzw. gebracht werden.
  • Das Hinzufügen von neuen Werten in das Histogramm erfolgt aufeinander folgend. Im Allgemeinen muss beim Hinzufügen eines neuen Attributswertes ak entschieden werden, zu welcher Kategorie der neue Wert hinzugeführt wird oder ob eine neue Kategorie erzeugt werden soll. Bei einem Zusammenführen bzw. Hinzufügen kommen allerdings nicht alle bereits bestehenden Kategorien in Frage.
  • 3 zeigt ein bereits zum Teil aufgebautes CVO-Histogramm. Der Attributswert ak mit der Häufigkeit |αk| wird am rechten Ende des Histogramms eingefügt. Alle Attributswerte aj mit aj < ak sind in dem Histogramm gemäß 3 bereits enthalten. Da sich die Kategorien nicht überlappen dürfen (außer es handelt sich um UniBuckets) bleiben für die Menge der potenziellen, sog. Merge-Buckets nur die letzten Kategorien bis einschließlich des letzten Nicht-UniBucket übrig. In 3 sind dies die Kategorien n, n + 1 und n + 2. In der Figur stellt n das letzte Nicht-UniBucket dar, während die Buckets n + 1, n + 2 UniBuckets repräsentieren. Das UniBucket n + 1 ist nicht mit Buckets aufsteigender Nummerierung (> n + 1) bzw. neuen Attributswerten verknüpfbar, da ansonsten eine Überlappung der zwei Nicht-UniBuckets n sowie n + 1 entsteht. Damit reduziert sich die Menge von potenziellen Merge-Buckets auf die mit n und n + 2 bezeichneten Buckets. Ob eine neue Kategorie erzeugt wird oder das Bucket n oder n + 2 zu einer Verbindung (Merge) benutzt wird, ist von den oben beschriebenen Histogramm-Parametern abhängig.
  • Nach einer Verknüpfung mit dem Bucket n wäre auch eine Überlappung der Buckets n und n + 2 gegeben. Somit muss das Bucket n + 2 in diesem Fall als nicht verbindbar (NotMergeAble) deklariert werden. Bei einem Merge mit Bucket n + 2 ist nur der Übergang des Buckets in ein Nicht-UniBucket (NonUniBucket) zu beachten. Bei der Erzeugung eines neuen Buckets mit der Häufigkeit |αk| entsteht das UniBucket n + 3, welches ebenfalls verbindbar (MergeAble) ist.
  • Nachfolgend werden die Auswirkungen der Erzeugung eines CVO-Histogramms in Abhängigkeit der in Tabelle 1 aufgelisteten Parameter beschrieben.
  • Fall 0: In diesem Fall wird zunächst versucht, diejenigen Kategorien zu finden, die nach der Verknüpfung mit dem Attributswert ak die kleinste Varianzdifferenz aufweist. Dabei muss die neue Varianz unter der vorgegebenen maximalen Varianz liegen. Falls eine solche Kategorie gefunden wird, wird die Verknüpfung durchgeführt und alle notwendigen Änderungen an der Kategorie vorgenommen. Weiterhin werden alle auf der Achse links liegenden, höheren Nicht-UniBuckets als NotMergeAble gekennzeichnet. Falls keine Kategorie gefunden werden kann, mit der eine Verknüpfung möglich ist, wird eine neue Kategorie erzeugt. Eine Überprüfung der Anzahl der Kategorien ist im Fall 0 nicht notwendig, da der Parameter forceSpace = False ist.
  • Fall 1: Im Fall 1 wird immer eine neue Kategorie erzeugt. Auch in diesem Fall wird aufgrund des Parameters forceSpace = False keine Überprüfung der Gesamtanzahl der Kategorien vorgenommen. Im Fall 1 entstehen somit Histogramme, die lediglich aus UniBuckets bestehen.
  • Fall 2: Dieser Fall wird genauso behandelt wie Fall 0. Zusätzlich findet am Schluss eine Überprüfung der gesamten Kategorieanzahl statt. Falls die tatsächliche Anzahl der Kategorien der Anzahl der maximalen Kategorien entspricht, wird das Histogramm komprimiert.
  • Fall 3: Fall 3 wird genauso behandelt wie Fall 1, wobei in Entsprechung zu Fall 2 eine Überprüfung der Kategorien-Gesamtanzahl stattfindet und gegebenenfalls eine Komprimierung vorgenommen wird.
  • Bei der Komprimierung gemäß der Fälle 2 und 3 des Histogramms muss die Anzahl der Kategorien unter den vorgegebenen Wert der Maximalzahl (maxBuckets) sinken. Dazu wird versucht, diejenigen zwei Kategorien zu finden, die nach einer Verknüpfung die geringste Differenz in der Varianz vorher/nachher aufweisen. Die neue Varianz muss dabei nicht zwingend unterhalb der vorgegebenen maximalen Varianz (maxVarianz) liegen. Es werden dazu alle möglichen Kategorie-Kombinationen überprüft und zum Schluss diejenige mit der geringsten Differenz ausgewählt. Bei der Komprimierung müssen alle Nicht-UniBuckets zwischen den beiden MergeBuckets mit dem Paramter NotMergeAble gekennzeichnet werden.
  • In den 4a bis 4e ist ein beispielhafter Algorithmus zum Hinzufügen (addValue) bzw. Komprimieren (compressBuckets) dargestellt. Der in den 4a bis 4e dargestellte Algorithmus stellt dabei lediglich ein Ausführungsbeispiel und nicht die einzige Art einer Realisierung dar.
  • Um das Histogramm in der beschriebenen Weise erzeugen zu können, ist die Erfassung und Bearbeitung der gesamten Datenmenge der hierarchisch strukturierten Daten notwendig. Um zu vermeiden, dass ein Einlesen der gesamten Datenmenge zur Ermittlung der Häufigkeitswerte der jeweiligen Attributswerte notwendig ist, wird auf die in hierarchisch gegliederten Daten vorliegenden Indizes zurückgegriffen, welche bereits das Ergebnis einer Datensammlung aus einem früheren Erfassen der Datenmenge ist. Das dabei zugrunde liegende Prinzip besteht darin, bereits vorhandene Index- und Sub-Baum-Informationen zu kombinieren, um auf einfache, schnelle und Ressourcen schonende Weise zu dem gewünschten Histogramm zu gelangen. Nachfolgend wird deshalb beschrieben, wie eine zur Erstellung des CVO-Histogramms notwendige, sortierte Liste der Attributswerte und deren zugeordneter Häufigkeiten auf möglichst einfache und kostengünstige Weise ermittelbar ist.
  • Für das bessere Verständnis werden hierzu die Eigenschaften von hierarchisch gegliederten Daten z.B. einer Verzeichnisverwaltungsstruktur (Directory) betrachtet. Daten, die in einem Directory verwaltet werden, haben eine Verzeichnisstruktur, das heißt sie sind hierarchisch angeordnet. Mit der Möglichkeit, die Basis einer Anfrage an jedem Knoten in diesem Verzeichnisbaum positionieren zu können, ergibt sich die Notwendigkeit, mehrere Histogramme für einen Attributtyp zu erstellen. Dies sollte dabei lediglich für diejenigen Basen (= Knoten des Verzeichnisbaums) geschehen, bei denen dies zur Optimierung der Suchanfragen notwendig ist.
  • In 5 ist ein Ausführungsbeispiel einer hierarchisch gegliederten Verzeichnisstruktur dargestellt. Jeder der Knoten stellt eine Basis dar. Der in der Verzeichnishierarchie oberste Knoten wird als Wurzel bezeichnet. Die in verschiedenen Verzeichnisebenen angeordneten Knoten stellen die Basen dar. In dem in 5 dargestellten Beispiel könnten Histogramme beispielsweise an den Basen (/DC=DE oder /DC=DE/DC=Berlin) vorgehalten werden, wenn sich sehr viele Anfragen auf die Wurzel (/DC=DE) und den Eintrag /DC=DE/DC=Berlin beziehen. Als Attributtypen können beispielsweise die Telefonnummer (tn), die Stadt (l) und der Name eines Teilnehmers (cm) gewählt werden.
  • Wie anhand der Figur unschwer zu erkennen ist, ist die Menge der Einträge für das Histogramm auf die Basis /DC=DE/DC=Berlin eine Teilmenge aus dem Histogramm für die Wurzel /DC=DE. Beim Aufbau jedes einzelnen Histogramms für sich müsste die Teilmenge der Daten damit doppelt gelesen und ausgewertet werden. Dieser Aufwand kann umgangen werden, wenn alle Histogramme, die den gleichen Attributtyp betreffen, gleichzeitig aufgebaut werden. Für jeden Eintrag wird dann überprüft, ob er zu der einen und/oder der anderen Basis gehört und dann entsprechend mit in das Histogramm aufgenommen wird. Der Begriff der Basis ist in diesem Zusammenhang allgemein zu verstehen und umfasst auch die Wurzel.
  • Um der Bedingung für die sortierte Reihenfolge für das Einfügen von Attributswerten in das CVO-Histogramm zu entsprechen, wird auf die Möglichkeit von Directories zurückgegriffen, Attributtypen mit Indizes zu versehen. Die für die Verarbeitung günstigste Weise der Darstellung und Abspeicherung solcher Indizes besteht in der Form von so genannten Bitstrings (sog. AVIndex). Dies bedeutet, es wird für jeden Attributswert in dem Index ein Bitstring abgespeichert, der alle Vorkommnisse dieses Attributswertes in dem Directory beschrieben. Dabei stellt die Position des jeweiligen Bits, z.B. bezogen auf den Anfang des Bitstrings, den Wert des Verweises (z.B. einem eindeutigen Schlüssel) auf das Objekt der Datenmenge dar, das diesen Attributswert enthält.
  • Weiterhin wird ein zweiter Bitstring benötigt, der als SubordinateBitstring (SBS) bezeichnet wird. Dieser beschreibt für einen Eintrag im Directory die Menge von Einträgen, die ihm im Directory auf Basen unterer Verzeichnisebenen nachfolgen. Dies bedeutet, in einem SBS werden alle Einträge, bei denen der Weg zur Wurzel durch diesen Eintrag hindurchgeht, festgehalten. Dies wird für jeden Eintrag, der kein Blatt (dies ist die unterste Verzeichnisebene im Directory) des Verzeichnisbaums darstellt, angelegt und gepflegt.
  • Mit Hilfe der AVIndex und dem SBS kann das Lesen des gesamten Verzeichnisses umgangen werden. Um für einen Attributtyp A eine Menge von Histogrammen H an den entsprechenden Basen B zu erzeugen, wird wie folgt vorgegangen: Zunächst werden die SBS aller zu betrachtenden Basen eingelesen. Im nächsten Schritt erfolgt das Einlesen des nächsten Attributswertes ai im AVIndex des Attributtyps A. Für jeden Attributswert ai wird für alle Basen in B mit Hilfe des SBS der jeweiligen Basis die Häufigkeit |αi| berechnet. Dies erfolgt durch eine Boole'sche UND-Verknüpfung des betroffenen SBS mit dem zu dem Attributswert ai zugeordneten Bitstring. Die anschließende Zählung der übrig gebliebenen Bits ergibt die gesuchte Häufigkeit |αi| für den Attributswert ai für diese Basis.
  • Anschließend erfolgt ein Aktualisieren der Histogramme an den entsprechenden Basen B mit dem Attributswert ai und dessen Häufigkeit |αi|. Anschließend wird der nächste Attributswert ai im AVIndex des Attributtyps A eingelesen und das beschriebene Vorgehen wiederholt.
  • Hierdurch wird man in die Lage versetzt, Histogramme für Attributtypen aufzubauen, die mit Hilfe eines AVIndex indiziert wurden. Der besondere Vorteil besteht darin, dass die Daten der gesamten Datenmenge lediglich einmal zur Erstellung der Bitstrings gelesen werden müssen, um für die gewünschten Basen B das Histogramm für eine optimierte Suchanfrage zu erzeugen.
  • 6 zeigt in beispielhafter Form eine mögliche Realisierung eines Algorithmus zur Ermittlung der Häufigkeiten jeweiliger Attributswerte.

Claims (16)

  1. Verfahren zum rechnergestützten Erzeugen einer Datenbasis für einen optimierten Zugriff auf in hierarchischer Form gegliederten Daten einer Datenmenge mit einer Vielzahl an Objekten in unterschiedlichen Datenebenen, wobei jedes Objekt der Datenmenge zumindest einen, einem Attributtyp zugeordneten, Attributswert aufweist, bei dem – die Häufigkeit des Auftretens eines Attributswerts in der Datenmenge ermittelt wird, – die Attributswerte gemäß einer vorgegebenen Ordnung angeordnet werden, – die den Attributswerten zugeordneten Häufigkeitswerte einer Mehrzahl an Kategorien zur Erzeugung eines Histogramms zugewiesen werden, – wobei die Attributswerte entweder einer Kategorie erster Art mit jeweils einem einzigen Attributswert (UniBucket) oder einer Kategorie zweiter Art mit jeweils mehreren Attributswerten zugewiesen werden, – wobei einer jeweiligen Kategorie zweiter Art ausschließlich solche Attributswerte zugewiesen werden, deren zugehörige Häufigkeitswerte hinsichtlich ihrer Varianz eine vorgegebene Bedingung erfüllen.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Attributswerte in sortierter Form in dem Histogramm angeordnet werden.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass bei der Erstellung des Histogramms eine maximale Anzahl an Kategorien erster und zweiter Art vorgegeben wird, denen die Attributswerte zugewiesen werden.
  4. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass bei der Erstellung des Histogramms als zu erfüllende Bedingung ein Grenzwert vorgegeben wird, den die Varianz zumindest einer der Kategorien zweiter Art nicht übersteigen darf.
  5. Verfahren nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, dass ein Attributswert zunächst einer Kategorie erster Art zugewiesen wird und zwei Kategorien erster Art in eine Kategorie zweiter Art umgewandelt werden, wenn eine vorgegebene Anzahl an Kategorien überschritten ist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass zwei innerhalb der vorgegebenen Ordnung benachbarte Kategorien erster Art in eine Kategorie zweiter Art umgewandelt werden.
  7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass ein neuer, einer der Kategorien erster oder zweiter Art zuzuweisender Attributswert einer Kategorie zweiter Art zugewiesen wird, solange die vorgegebene Varianzbedingung dies zulässt.
  8. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass ein neuer, einer der Kategorien erster oder zweiter Art zuzuweisender Attributswert einer Kategorie zweiter Art zugewiesen wird, solange eine vorgegebene Anzahl an Kategorien nicht überschritten ist.
  9. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass für zumindest einen Attributtyp jeweils eine Datenbasis für ausgewählte Basen der hierarchisch gegliederten Daten erstellt wird.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Datenbasen für einen Attributtyp der mehreren ausgewählten Basen gleichzeitig erstellt werden.
  11. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass für jeden Attributtyp ein Index erstellt wird, der diejenigen, ein Objekt eindeutig kennzeichnenden, Schlüssel umfasst, welche Objekte den betreffenden Attributswert umfassen.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass für jeden Attributswert in dem Index ein erster Bitstring erstellt und gespeichert wird, der alle in der Datenmenge (Verzeichnis) existierenden Vorkommnisse des Attributswertes umfasst, wobei die Position des jeweiligen Bits, bezogen auf den Anfang oder das Ende des ersten Bitstrings, den Wert des Verweises auf das Objekt darstellt, das diesen Attributswert enthält.
  13. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass ein zweiter Bitstring erstellt wird, der für einen Eintrag die Menge von Einträgen beschreibt, die ihm in untergeordneten Datenebenen nachfolgen.
  14. Verfahren nach einem der Ansprüche 12 oder 13, dadurch gekennzeichnet, dass der zweite Bitstring für alle Datenebenen erstellt wird, die nicht die unterste Verzeichnisebene der Datenmenge darstellen.
  15. Verfahren nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass zum Erstellen der Datenbasen nur der erste und/oder der zweite Bitstring, nicht aber die Objekte der Datenmenge, herangezogen werden.
  16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass für den Schritt des Ermittelns der Häufigkeit des Auftretens eines Attributswerts ai zum Erstellen der Datenbasen folgende Schritte vorgenommen werden: – Lesen der zweiten Bitstrings aller Basen, – Lesen eines Attributswerts ai eines vorgegebenen Attributtyps, – Ermitteln der Häufigkeit des Attributswerts ai für alle Basen durch eine UND-Verknüpfung des ersten und aller eingelesenen zweiten Bitstrings, indem eine Zählung der verbleibenden Bits des verknüpften Bitstrings vorgenommen wird.
DE102005042513A 2005-09-07 2005-09-07 Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme Withdrawn DE102005042513A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102005042513A DE102005042513A1 (de) 2005-09-07 2005-09-07 Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005042513A DE102005042513A1 (de) 2005-09-07 2005-09-07 Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme

Publications (1)

Publication Number Publication Date
DE102005042513A1 true DE102005042513A1 (de) 2007-03-15

Family

ID=37762959

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005042513A Withdrawn DE102005042513A1 (de) 2005-09-07 2005-09-07 Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme

Country Status (1)

Country Link
DE (1) DE102005042513A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10048479A1 (de) * 2000-09-29 2002-04-25 Siemens Ag Verfahren zum Zugriff auf eine Speichereinheit, in der Vermerkfolgen gespeichert sind, zugehörige Speichereinheit und zugehöriges Programm

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10048479A1 (de) * 2000-09-29 2002-04-25 Siemens Ag Verfahren zum Zugriff auf eine Speichereinheit, in der Vermerkfolgen gespeichert sind, zugehörige Speichereinheit und zugehöriges Programm

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ABOULNAGA,Ashraf, CHAUDHURI,Surajit: Self-tuning Histograms: Building Histograms Without Looking at Data, ACM SIGMOD 1999, S.181-192 *
JAGADISH,H.V., KAPITSKAIA,O., NG,R.T. [u.a.]: One- dimensional and multidimensional substring selc- tivity estimation, The VLDB Journal (2000) 9, S.214-230
JAGADISH,H.V., KAPITSKAIA,O., NG,R.T. [u.a.]: One-dimensional and multidimensional substring selc- tivity estimation, The VLDB Journal (2000) 9, S.214-230 *
POOSALA,Viswanath, IOANNIDIS,Yannis E. [u.a.]: Improved Histograms for Selectivity Estimation of Range Predicates, ACM SIGMOD 1996, S.294-305 *

Similar Documents

Publication Publication Date Title
DE60118973T2 (de) Verfahren zum abfragen einer struktur komprimierter daten
DE69636761T2 (de) Speichern und wiederauffinden von geordneten schlüsselmengen in einem kompakten 0-kompletten baum
DE69424586T2 (de) Verfahren und System zum formulieren interaktiver Abfragen
EP0910829B1 (de) Datenbanksystem
DE69530595T2 (de) System und verfahren für die x.500-datenbanknorm
DE3855212T2 (de) Verfahren zur Berechnung eines transitiven Abschlusses
DE69532775T2 (de) Verfahren zur Datenkomprimierung und -Dekomprimierung und zugehöriges Datenkomprimierungs- und Dekomprimierungsgerät
DE69510962T2 (de) Semantisches netzwerk
DE112011104005T5 (de) Verfahren und Datenverarbeitungssystem zum Kodieren von in einer spaltenorientierten Weise gespeicherten Daten, Datenverarbeitungsprogramm und Computerprogrammprodukt
DE10134229A1 (de) Verfahren und System zum Ermitteln von Abweichungen in Datentabellen
DE60224763T2 (de) Verfahren und Gerät zur Dateisuche, und Verfahren und Vorrichtung zur Erzeugung von Indexdateien
DE19810843A1 (de) Verfahren und Zugriffseinrichtung zum Bestimmen der Speicheradresse eines Datenwerts in einer Speichereinrichtung
DE69521435T2 (de) Verfahren und einrichtung zum extrahieren von information aus einer datenbank
DE60302203T2 (de) Anordnung zur Komprimierung einer Datentabelle
EP1166228B1 (de) Verfahren zur nutzung von fraktalen semantischen netzen für alle arten von datenbank-anwendungen
EP1276056B1 (de) Verfahren zum Verwalten einer Datenbank
WO2007137309A1 (de) Verfahren zum steuern eines relationalen datenbanksystems
DE69517887T2 (de) Verfahren und System zum Herstellen von Verbindungen in einem Datenbanksystem
WO1996033470A1 (de) Abbildung eines graphen in einen speicher
WO1998039712A1 (de) Datenbanksystem und verfahren zum betrieb eines datenbanksystems
DE102005042513A1 (de) Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme
DE10103845B4 (de) Rechnersystem
DE10057634A1 (de) Verfahren zur Verarbeitung von Text in einer Rechnereinheit und Rechnereinheit
EP1099172B1 (de) Verfahren, anordnung und satz mehrerer anordnungen zur behebung mindestens einer inkonsistenz in einer datenbankmenge, die eine datenbank sowie mindestens eine kopiedatenbank der datenbank aufweist
WO1998010357A1 (de) Datenbanksystem und verfahren zum verwalten eines n-dimensionalen datenbestands

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R081 Change of applicant/patentee

Owner name: ATOS IT SOLUTIONS AND SERVICES GMBH, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

Effective date: 20110929

Owner name: ATOS IT SOLUTIONS AND SERVICES GMBH, DE

Free format text: FORMER OWNER: SIEMENS AG, 80333 MUENCHEN, DE

Effective date: 20110929

R082 Change of representative

Representative=s name: WILHELM & BECK, DE

Effective date: 20110929

Representative=s name: WILHELM & BECK, 80639 MUENCHEN, DE

R082 Change of representative

Representative=s name: WILHELM & BECK, DE

Representative=s name: WILHELM & BECK, 80639 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: ATOS IT SOLUTIONS AND SERVICES GMBH, DE

Free format text: FORMER OWNER: SIEMENS IT SOLUTIONS AND SERVICES GMBH, 81739 MUENCHEN, DE

Effective date: 20120113

R082 Change of representative

Representative=s name: WILHELM & BECK, DE

Effective date: 20120113

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee