DE19715723A1 - Array-Verfahren - Google Patents

Array-Verfahren

Info

Publication number
DE19715723A1
DE19715723A1 DE19715723A DE19715723A DE19715723A1 DE 19715723 A1 DE19715723 A1 DE 19715723A1 DE 19715723 A DE19715723 A DE 19715723A DE 19715723 A DE19715723 A DE 19715723A DE 19715723 A1 DE19715723 A1 DE 19715723A1
Authority
DE
Germany
Prior art keywords
data
search
vector
vectors
digital
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.)
Ceased
Application number
DE19715723A
Other languages
English (en)
Inventor
Michael Buchstaller
Michael Mohr
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.)
DCI DATENBANK fur WIRTSCHAFTS
Original Assignee
DCI DATENBANK fur WIRTSCHAFTS
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 DCI DATENBANK fur WIRTSCHAFTS filed Critical DCI DATENBANK fur WIRTSCHAFTS
Priority to DE19715723A priority Critical patent/DE19715723A1/de
Priority to PCT/EP1998/000932 priority patent/WO1998047081A1/de
Priority to AU62971/98A priority patent/AU6297198A/en
Publication of DE19715723A1 publication Critical patent/DE19715723A1/de
Ceased 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • 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/2237Vectors, bitmaps or matrices
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement

Description

Die Erfindung betrifft ein Verfahren zur Optimierung der Zugriffsgeschwindigkeit von auf einem Speicherme­ dium abgelegten digitalen Daten, wobei das Verfahren zur Ausführung auf einem digitalen Rechner geeignet ist.
Bisherige Datenbanksysteme weisen den gravierenden Nachteil auf, daß viele Daten gleichzeitig in mehreren Dateien gespeichert sind, wodurch zusätzlich Speicher­ platz benötigt und die Aktualisierung der Daten erschwert wird. So muß beispielsweise bei einer Adreß- datei eine Namensänderung in allen diese Informationen enthaltenden Dateien gleichzeitig durchgeführt werden. Wird hierbei irrtümlich, z. B. durch einen Schreibfeh­ ler, in einer Datei etwas falsch geändert, so ist die gesamte Datenmenge inkorrekt (inkonsistent). Des weiteren ist bei jeder Suchabfrage immer der gesamte Inhalt der bearbeiteten Dateien beteiligt, d. h. auch die nicht benötigten Daten. Dies verlängert die erforderliche Rechenzeit und erhöht den Speicherbedarf.
Die Mehrzahl der heute verwendeten Datenbanken basieren auf dem hierarchischen Datenmodell, dem Netzwerk-Daten­ modell oder dem relationalen Datenmodell. Während die ersten beiden Datenmodelle eine baum- bzw. netzförmige Struktur aufweisen, beruht das relationale Datenmodell auf Tabellen. Dabei werden alle Informationen einer Datenbank, also sowohl die Objekte wie auch ihre Bezie­ hungen auf die gleiche Art durch Tabellen dargestellt. Beziehungen zwischen Objekten sind vorhanden, wenn ein Wert in mehreren Relationen vorkommt. Erst bei einer Anfrage an die Datenbank werden vorhandene Beziehungen aktiviert. Die Durchführung von Abfragen ist relativ aufwendig, denn die Relationen unterstützen keinen schnellen Suchalgorithmus. Entweder müssen die einzel­ nen Tupel sequentiell nach einem Merkmal durchsucht werden, oder der Algorithmus muß effizienzsteigernde Hilfdatenstrukturen selbst erzeugen.
Bei Verwendung bisheriger Datenbanksysteme wird die Verkürzung der Rechenzeit im allgemeinen durch Verwen­ dung leistungsfähiger Hochleistungsrechner bewerkstel­ ligt, die jedoch eine natürliche Leistungsgrenze aufweisen und aus wirtschaftlichen Gründen nur in wenigen Fällen zum Einsatz kommen können. Insbesondere bei der Online-Abfrage von Datenbankinformationen in Netzwerkdatenbanken ist aber eine Minimierung der Rechenzeit unbedingt erforderlich, um unnötige Warte­ zeiten Online und damit erhöhte Abfragekosten zu vermeiden.
Aufgabe der vorliegenden Erfindung ist es daher, ein verbessertes Zugriffverfahren auf digitale Daten zu schaffen, welches insbesondere für den Online-Betrieb in Netzwerkdatenbanken geeignet ist.
Diese Aufgabe wird erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst.
Dabei sieht ein zur Ausführung auf einem digitalen Rechner geeignetes Verfahren zur Optimierung der Zugriffsgeschwindigkeit von auf einem Speichermedium abgelegten digitalen Daten vor, daß die Daten in einem Datenfeld strukturiert abgelegt sind, Suchvektoren für Datengruppen zunächst logisch miteinander und anschließend mit dem Datenfeld verknüpft werden. Auf diese Weise werden zunächst lediglich Suchvektoren miteinander verknüpft, d. h. die zu bewegende Datenmenge ist zunächst relativ klein. Erst am Ende der Verknüpfungsoperation wird der resultierende Vektor mit dem Datenfeld verknüpft und die entsprechenden Daten, die jeweils nur einmal vorhanden sind, ausgelesen. Dadurch, daß lediglich kleine Datenmengen bewegt werden und daß lediglich logische Verknüpfungen und keine sequentiellen Abfragen erfolgen, ist es möglich, in sehr kurzer Zeit ein gewünschtes Abfrageergebnis bei verhältnismäßig großen Datenmengen zu erhalten. Auf diese Weise können auch weniger leistungsfähige Rechenanlagen zum Verwalten und Abfragen komplexer Datenbestände verwendet werden. Das Datenfeld kann dabei zeilenförmig aufgebaut sein, wobei jede Zeile alle gewünschten Informationen über einen Eintrag enthält. Dabei ist es vorteilhaft, daß die Datenfelder statisch sind, d. h. die maximale Anzahl der eintragbaren Datensätze bereits vorgegeben ist. Bei einem Datenfeld, das noch nicht seinen Endzustand erreicht hat, werden die verbleibenden freien Zeilen durch Nullen markiert. Die Erstellung von Suchvektoren erfolgt durch Gruppierung von Daten, wie beispielsweise Länderzugehörigkeit, etc. Die Suchvektoren werden im Vorfeld erstellt und stehen bei der Abfrage bereits zur Verfügung.
Vorteil des beschriebenen Verfahrens ist es, daß ein konventioneller digitaler Rechner als schnelle Online- Datenbank genutzt werden kann. Dabei sind keine "Superrechner" erforderlich, da die Zugriffsgeschwin­ digkeit auch bei komplexen Abfragen sehr hoch ist und der Speicherbedarf im Vergleich zu konventionellen Datenbanken sehr klein ist. Dies beruht darauf, daß alle Daten nur einmal auftauchen, weshalb die bewegte Datenmenge gering ist. Ein weiterer Vorteil ist es, daß Suchvektoren erstellt werden können, ohne den Daten­ bankbestand zu blockieren. D.h., während bei konventio­ nellen Datenbanken bei der Erstellung von Key-Feldern für die Datenabfrage zumindest ein Teil der Daten für gewisse Zeit blockiert ist, geht beim vorliegenden Verfahren der normale Mehrbenutzer (Multiuser) Betrieb weiter, während neue Suchvektoren erstellt bzw. aktualisiert werden. Damit ist das Verfahren bestens für den Betrieb in einer Multiuser-Netzwerkdatenbank geeignet. Außerdem sind mit dem Array-Verfahren Abfragen durchführbar, die in einer konventionellen Datenbank, die mit Key-Feldern arbeitet, nicht möglich sind. So können beispielsweise alle Aussteller auf einer Messe mit dem entsprechenden Suchvektor in kürzester Zeit ermittelt werden, ohne daß diese Information notwendigerweise im Datenfeld selbst vorhanden ist.
Eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens sieht vor, daß jeweils ein Suchvektor beste­ hend aus Nullen und Einsen einem Suchbegriff zugeordnet ist. Bei einer Länderabfrage, in der alle Einträge aus Deutschland gefunden werden sollen, weist beispiels­ weise der Suchvektor jeweils dort Einsen auf, wo entsprechende Einträge im Datenfeld vorhanden sind, wogegen andere Ländereinträge eine Null im Suchvektor aufweisen. Bei einer gegebenen Wortbreite des Prozessors von b bits können so Abfragen mit einer einzigen CPU-Instruktion abgefragt werden. Durch die Verwendung von Suchvektoren mit Nullen und Einsen reicht die normale Wortbreite des Prozessors, z. B. 32 bit, in der Regel aus, um bereits eine sinnvolle Abfrage durchzuführen. Die Datensätze der Suchvektoren sind nämlich durchschnittlich um den Faktor n × 103 bit kleiner als diejenigen Datensätze bei sequenziellen Abfragen komplexer Begriffe in konventionellen Datenbanken. Auch ist die logische Verknüpfung von Nullen und Einsen wesentlich maschinennäher als die Verwendung komplexer Suchbegriffe. Schließlich ist die sehr gute Komprimierbarkeit der Suchvektoren vorteil­ haft bei Netzwerkabfragen. Somit wird durch die Verwendung derartiger Suchvektoren die Rechen- und Übertragungsgeschwindigkeit erhöht und der Speicherbedarf verringert.
Des weiteren sieht eine vorteilhafte Ausführungsform vor, daß bei der logischen Verknüpfung der Suchvektoren zunächst ein Validierungsvektor vorgeschaltet wird. Dies heißt, daß nur an Stellen, wo gültige Einträge vorhanden sind, Einsen stehen und ansonsten Nullen im Validierungsvektor auftauchen. Dies ist beispielsweise dann erforderlich, wenn alte Einträge ungültig gemacht werden sollen. Dann würde vor diesem Datensatz im Validierungsvektor eine Null stehen.
Weiterhin ist es vorteilhaft, wenn sämtliche Suchvekto­ ren in den Arbeitsspeicher geladen werden. Dies erhöht die Berechnungsgeschwindigkeit und verkürzt somit die Rechenzeit. Das Verfahren ist selbst mit einer Standard-Hardware-Ausstattung durchführbar, da die Suchvektoren nur einen sehr geringen Speicherbedarf aufweisen.
Außerdem sieht eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens vor, daß die Suchvektoren bei Neueinträgen in die Datenbank automatisch angepaßt werden. Dies bedeutet, daß bei jedem Neueintrag eine Überprüfungsroutine durchlaufen wird, die entsprechende Suchbegriffe bei diesem einen Eintrag abfragt und entsprechend Einsen bzw. Nullen dem jeweiligen Suchvek­ tor zuweist. Es können aber auch die Ergebnisvektoren, die aus einer Verknüpfung von Suchvektoren bei einer früheren Abfrage hervorgegangen sind, z. B. Mailingliste '97, als neuer Suchvektor abgelegt werden.
Weiterhin sieht eine vorteilhafte Ausführungsform des erfindungsgemäßen Verfahrens vor, daß die digitalen Daten auf einem Festspeicher als nicht flüchtigen Speichermedium abgelegt werden. Dies kann beispielsweise eine Festplatte, ein Datenband, CD-ROM, EPROM oder Diskette sein.
Schließlich ist vorteilhafterweise die Verwendung eines derartigen Verfahrens auf einem digitalen Rechner (Server) in einem Netzwerk zur Online-Abfrage einer Netzwerkdatenbank vorgesehen, da gerade bei Online- Abfragen hohe Zugriffs- und Abfragegeschwindigkeiten erforderlich sind, um unnötige Kosten aufgrund Rechenzeit bzw. Hardwareeinsatz zu vermeiden. Außerdem wird hierdurch ein effizienter Mehrbenutzer-Betrieb gewährleistet. Die Suchvektoren können ohne Eingriff in das Datenfeld erstellt werden, wodurch die Ausfallzeiten gering sind.
Im Folgenden wird die Erfindung anhand eines Beispiels näher erläutert. Darin wird von einem Adressenfeld mit n Datensätzen ausgegangen. Bei der Abfrage wird zunächst der Validierungsvektor mit n Zeilen vorge­ schaltet, der für jeden gültigen Eintrag eine Eins aufweist. Im vorliegenden Beispiel ist das Adressenfeld mit n Einträgen voll besetzt. Bei der Abfrage wird zunächst der Validierungsvektor vorgeschaltet und durch "und" mit einem ersten Suchvektor, der die im Adressen­ feld aufgelisteten Abonnenten auflistet, logisch verknüpft. Des weiteren wird ein Suchvektor, der die im Adressenfeld aufgelisteten Teilnehmer am Lastschriftverfahren anzeigt, ebenfalls durch "und" verbunden. Der resultierende Vektor wird dann mit dem Adressenfeld verknüpft und als Ergebnis erhält man die gewünschten Datensätze.
Adressenfeld
Adressenfeld
Suchvektoren
gültiger Eintrag und Abonnement und Lastschriftverfahren
gültiger Eintrag und Abonnement und Lastschriftverfahren
Falls die diversen Suchvektoren an "ungültigen" Stellen ohnehin mit Nullen vorbesetzt sind, wird kein Validierungsvektor benötigt.

Claims (8)

1. Verfahren geeignet zur Ausführung auf einem digitalen Rechner zur Optimierung der Zugriffs­ geschwindigkeit von auf einem Speichermedium abgelegten digitalen Daten, wobei die Daten in einem Datenfeld strukturiert abgelegt sind und wobei Suchvektoren zunächst logisch miteinander und anschließend mit dem Datenfeld verknüpft werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeweils ein Suchvektor bestehend aus Nullen und Einsen einem Suchbegriff zugeordnet ist.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein Validierungsvektor vorgibt, ob ein Datensatz gültig ist oder nicht.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß bei der logischen Verknüpfung der Suchvek­ toren zunächst der Validierungsvektor vorge­ schaltet wird.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß sämtliche Suchvektoren in den Arbeitsspei­ cher geladen werden.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Suchvektoren bei Neueinträgen in die Datenbank automatisch angepaßt werden.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die digitalen Daten auf einem Festspeicher als Speichermedium abgelegt werden.
8. Verwendung eines Verfahrens nach Anspruch 1 auf einem digitalen Rechner in einem Netzwerk zur Online-Abfrage in einer Netzwerkdatenbank.
DE19715723A 1997-04-15 1997-04-15 Array-Verfahren Ceased DE19715723A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19715723A DE19715723A1 (de) 1997-04-15 1997-04-15 Array-Verfahren
PCT/EP1998/000932 WO1998047081A1 (de) 1997-04-15 1998-02-18 Auswahlverfahren für digitale daten
AU62971/98A AU6297198A (en) 1997-04-15 1998-02-18 Digital data selection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19715723A DE19715723A1 (de) 1997-04-15 1997-04-15 Array-Verfahren

Publications (1)

Publication Number Publication Date
DE19715723A1 true DE19715723A1 (de) 1998-11-12

Family

ID=7826580

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19715723A Ceased DE19715723A1 (de) 1997-04-15 1997-04-15 Array-Verfahren

Country Status (3)

Country Link
AU (1) AU6297198A (de)
DE (1) DE19715723A1 (de)
WO (1) WO1998047081A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1049030A1 (de) 1999-04-28 2000-11-02 SER Systeme AG Produkte und Anwendungen der Datenverarbeitung Methode und Apparat zur Klassifizierung
AU7100600A (en) * 1999-09-03 2001-04-10 Whamtech, L.P. Index relational processor
EP1182577A1 (de) * 2000-08-18 2002-02-27 SER Systeme AG Produkte und Anwendungen der Datenverarbeitung Assoziativspeicher
US9177828B2 (en) 2011-02-10 2015-11-03 Micron Technology, Inc. External gettering method and device
PT1288792E (pt) 2001-08-27 2012-02-29 Bdgb Entpr Software Sarl Método para indexar automaticamente documentos
US9158833B2 (en) 2009-11-02 2015-10-13 Harry Urbschat System and method for obtaining document information
US8321357B2 (en) 2009-09-30 2012-11-27 Lapir Gennady Method and system for extraction
US9213756B2 (en) 2009-11-02 2015-12-15 Harry Urbschat System and method of using dynamic variance networks
US9152883B2 (en) 2009-11-02 2015-10-06 Harry Urbschat System and method for increasing the accuracy of optical character recognition (OCR)
US10671944B2 (en) 2016-12-06 2020-06-02 Amazon Technologies, Inc. Method for selling and searching for items
WO2018106511A1 (en) * 2016-12-06 2018-06-14 Amazon Technologies, Inc. Method for selling and searching for items
US10824964B2 (en) 2016-12-06 2020-11-03 Amazon Technologies, Inc. Method for selling and searching for items

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3425844A1 (de) * 1984-07-13 1986-01-16 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Verfahren zum schnellen auffinden von bestimmten, von einer fernmeldevermittlungsanlage oder datenverarbeitungsanlage produzierten datensaetzen in einem datenspeicher

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989004013A1 (en) * 1987-10-09 1989-05-05 Nucleus International Corporation A relational database representation with relational database operation capability
US5377348A (en) * 1992-06-04 1994-12-27 International Business Machines Corporation System for searching a data base by creating a marking matrix in which two dimensional patterns control the search and selection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3425844A1 (de) * 1984-07-13 1986-01-16 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Verfahren zum schnellen auffinden von bestimmten, von einer fernmeldevermittlungsanlage oder datenverarbeitungsanlage produzierten datensaetzen in einem datenspeicher

Also Published As

Publication number Publication date
WO1998047081A1 (de) 1998-10-22
AU6297198A (en) 1998-11-11

Similar Documents

Publication Publication Date Title
DE69533193T2 (de) Paralleles verarbeitungssystem zum durchlaufen einer datenbank
DE3743890C2 (de)
EP0910829B1 (de) Datenbanksystem
DE69434096T2 (de) Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen
DE69533786T2 (de) Vorrichtung zum Erzeugen von objektorientierten Schnittstellen für relationale Datenbanken und von dieser Vorrichtung durchgeführtes Verfahren
DE69530595T2 (de) System und verfahren für die x.500-datenbanknorm
DE19734413C1 (de) Verfahren zum Aufrüsten einer Datenbank
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE3821551C2 (de) Datenverarbeitungsvorrichtung
DE10028688A1 (de) Methode, System und Programm für eine Verbindungsoperation in einer mehrspaltigen Tabelle sowie in Satellitentabellen mit doppelten Werten
DE69935657T2 (de) Verfahren und gerät zum optimieren der querygenerierung durch selektives verwenden von zusätzen oder schlüsselwerten
DE69628374T2 (de) Datenverwaltungssystem
EP0523269A1 (de) Computersystem zur Datenverwaltung
DE19926116A1 (de) Mehr-Teilprozeß-Protokollierung in einer Konfigurationsdatenbank
WO1997015015A2 (de) Informationssystem und verfahren zur speicherung von daten in einem informationssystem
DE19959765B4 (de) Datei-Editor für mehrere Datenuntermengen
DE19715723A1 (de) Array-Verfahren
DE2610411A1 (de) Datenverarbeitungsanlage
DE2934344A1 (de) Datenverarbeitungssystem mit einem datenbank-verwaltungssystem
EP1276056B1 (de) Verfahren zum Verwalten einer Datenbank
DE19645128C2 (de) Verfahren zum Verwalten von Dokumenten sowie Gerätetreiber zur Durchführung des Verfahrens
DE10048478C2 (de) Verfahren zum Zugriff auf eine Speichereinheit bei der Suche nach Teilzeichenfolgen
DE19538448A1 (de) Datenbankmanagementsystem sowie Datenübertragungsverfahren
EP1204917B1 (de) Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers
EP1515244A2 (de) Abbildung einer Klassenhierarchie auf ein relationales Datenbanksystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection