DE19534819B4 - Verfahren und Vorrichtung zum Konfigurieren einer Datenbank - Google Patents

Verfahren und Vorrichtung zum Konfigurieren einer Datenbank Download PDF

Info

Publication number
DE19534819B4
DE19534819B4 DE19534819A DE19534819A DE19534819B4 DE 19534819 B4 DE19534819 B4 DE 19534819B4 DE 19534819 A DE19534819 A DE 19534819A DE 19534819 A DE19534819 A DE 19534819A DE 19534819 B4 DE19534819 B4 DE 19534819B4
Authority
DE
Germany
Prior art keywords
database
information
data objects
processes
data
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.)
Expired - Lifetime
Application number
DE19534819A
Other languages
English (en)
Other versions
DE19534819A1 (de
Inventor
Marion Blattmann
Nicole Rittershofer
Udo Leisten
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to DE19534819A priority Critical patent/DE19534819B4/de
Priority to JP22104596A priority patent/JP3670770B2/ja
Priority to US08/716,006 priority patent/US5884311A/en
Publication of DE19534819A1 publication Critical patent/DE19534819A1/de
Application granted granted Critical
Publication of DE19534819B4 publication Critical patent/DE19534819B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/21Design, administration or maintenance of databases
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Abstract

Verfahren zum Konfigurieren einer Datenbank (110) , wobei
die Datenbank (110) Datenobjekte aufweist,
die Datenobjekte durch digitale Daten repräsentiert werden, und
Prozesse (101, 102, 103) auf die Datenobjekte zugreifen,
gekennzeichnet dadurch, daß das Verfahren folgende Schritte aufweist:
Ermitteln (301) der Zugriffe der Prozesse auf die Datenobjekte,
Speichern (302) der ermittelten Zugriffe in einem ersten Informationsblock (303), und
Konfigurieren (304) der Datenbank (110) unter Auswertung der Information in dem ersten Informationsblock (303), wobei
das Konfigurieren (304) der Datenbank (110) durch ein Teilen der Datenobjekte erfolgt.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Konfiguration einer Datenbank gemäß den Oberbegriff des Patentanspruchs 1 bis der Patentanspruchs 11, insbesondere durch die Teilung von Datenobjekten; dieser Vorgang der Teilung wird in der Datenbanktechnik häufig auch als FRAGMENTIERUNG bezeichnet.
  • Um die Datensätze in einer Datenbank formal beschreiben zu können, wurden Datenmodelle entwickelt, die alle in der Datenbank enthaltenen Daten und Beziehungen untereinander abbilden. Ein Beispiel für ein solches semantisches beziehungsweise konzeptionelles Datenmodell ist das "Entity-Relationship-Modell" (ERM). Aus dem semantischen Datenmodell wird ein logisches Datenmodell abgeleitet. Logische Datenmodelle sind das hierarchische Datenmodell, häufig auch als "Baummodell" bezeichnet, das Objekt-orientierte Datenmodell und das relationale Datenmodell. Weiterhin unterscheidet man zwischen zentralisierten Datenbanken und verteilten Datenbanken.
  • In H. F. Korth und A. Silberschatz: "Database System Concepts", McGraw-Hill, New York, 1986 werden verschiedene Datenbankkonzepte vorgestellt und diskutiert. In einer verteilten Datenbank sind die Daten auf verschiedenen Speichermitteln gespeichert. In der Regel sind die Daten sogar auf verschiedenen Computersystemen an verschiedenen Orten gespeichert. Die verschiedenen Computersysteme sind über ein Kommunikationsnetz miteinander verbunden und stehen über verschiedene Kommunikationsmittel in Kontakt miteinander.
  • In S. Ceri: "Distributed Databases: Principles and Systems", McGraw-Hill, New York, 1984 und in H. Kudlich: "Verteilte Datenbanken: Systemkonzepte und Produkte", Siemens AG, Berlin, 1992 wird das Prinzip verteilter Datenbanken vorgestellt und verschiedene verteilte Datenbanksystem diskutiert.
  • In S. Ceri, S. Navathe und G. Wiederhold: "Distribution Design of Logical Database Schemas", IEEE Transactions on software engineering, Vol. SE-9, No. 4 (July 1983), Seite 487-504 und in S. Ceri, B. Pernici und G. Wiederhold: "Distributed Database Design Methodologies", Proceedings of the IEEE, Vol. 75, No. 5 (May 1987), Seite 533-545 werden Vorschläge für den Entwurf logischer Datenbanksysteme diskutiert und Entwurfsverfahren für verteilte Datenbanken vorgestellt.
  • In R. Nussdorf er: "DRDA: Verteilte Datenbanken für heterogene Umgebungen", Datenbank Extra, Hrsg.: U. Parthier: "DB2: Seine Tools, Neuerungen und Möglichkeiten, IT Verlag für innovative Technologien, Sauerlach, 1993, Seite 23-27 ist der Industriestandard DRDA für verteilte Datenbanken beschrieben. Die Architektur spezifiziert Protokolle und Konventionen, die eine Verbindung zwischen Datenbanken verschiedener Hersteller ermöglichen.
  • Der Übergang von dem logischen Datenbankschema zu einem physikalischen Datenbankschema kann als Konfiguration der Datenbank verstanden werden und wird beispielsweise durch einen Datenbankadministrator durchgeführt.
  • In I.Fogg und M. Orlowska: "Valid Unbiased Fragmentation for Distributed Database Design", Computers Math. Applic. (UK), vol. 25, No. 9, 1993, Seite 97-106 werden verschiedene Fragmentierungsmöglichkeiten in verteilten Datenbanken vorgestellt. Es werden nicht nur die horizontale und die vertikale Fragmentierung vorgestellt, sondern auch Kombinationsformen dieser Fragmentierungsarten.
  • In J. A. Bakker: "A Semantic Approach to Enforce Correctness of Data Distribution Schemes", The Computer Journal (UK), Vol. 37, No. 7, 1994, Seite 561-575 werden die Abfragesprache Structured Query Language (SQL) und zwei Entity-Relationship Ansätze auf ihre Benutzbarkeit für die Datenverteilung untersucht. Ein neuer Ansatz basierend auf einem semantischen Metamodell für die Fragmentierung und die Allokierung wird beschrieben, wobei nur zwei Arten von horizontaler Fragmentierung erlaubt sind.
  • In relationalen Datenbanken werden die Daten in Form von Relationen abgelegt. Die Relationen können auch als Tabellen betrachtet werden, wobei die Attribute der Relationen häufig als Spalten der Tabellen dargestellt werden.
  • In "Distributed Relational Database Architecture: Evaluation and Planning Guide", 2. Auflage, Doc.-Nr. SC26-4650-01, IBM, San Jose (CA), USA, 1993 und in "Distributed Relational Database Planning and Design Guide for DB2 Users", Doc.-Nr. GG24-3577, IBM, San Jose (CA), USA, 1991, beides Publikationen, die durch die Geschäftsstellen der IBM Deutschland oder der IBM Corporation bezogen werden können, sind die Architektur verteilter relationaler Datenbanken sowie Entwurfsrichtlinien für verteilte relationale Datenbanken beschrieben.
  • In Y. Zhang, M. E. Orlowska und R. Colomb: "An Efficient Test for the Validity of Unbiased Hybrid Knowledge Fragmentation in Distributed Databases", International Journal of Software Engineering and Knowledge Engineering (Singapur), Vol. 2, No. 4, 1992, Seite 589-609 werden drei Arten der Fragmentierung relationaler Datenbanken beschrieben.
  • Die fortschreitende Globalisierung von Unternehmen zusammen mit der Notwendigkeit zur Rationalisierung der Produktionsverfahren führt in zunehmendem Maße zu einer Reorganisation der Geschäftsprozesse sowie einer Konsolidierung der Informationssysteme.
  • In H. Heilmann: "Workflow Management: Integration von Organisation und Informationsverarbeitung", HMD, 176, 1994, Seite 8-21, wird ein Geschäftsprozess als ein abgrenzbarer, oft arbeitsteiliger Prozeß bezeichnet, der zur Erstellung oder Verwertung betrieblicher Leistungen führt. Den Schwerpunkt der Betrachtung bildet dabei der dynamische Ablauf des Prozesses von seiner Initiierung bis zum Abschluss. Häufig wird auch der Begriff "workflow" anstelle des Begriffes "Geschäftsprozess" verwendet.
  • In F. Leymann and D. Roller: "Business Process Management with FlowMark", Digest of papers, Cat. No. 94CH3414-0, Spring COMPCON 94, 1994, Seite 230 to 234, wird das workflow-Managementsystem IBM FlowMark beschrieben. Es werden sowohl die Möglichkeiten der Modellierung von Geschäftsprozessen vorgestellt als auch die Ausführung des Workflow-Managements beschrieben. Das Produkt IBM FlowMark kann über die gängigen Vetriebswege der IBM Deutschland beziehungsweise der IBM Corporation erworben werden.
  • Aus DE 42 21 073 A1 sind ein Datenspeichersystem und -verfahren mit geräteunabhängigen Dateiverzeichnissen bekannt, sowie ein Programm zur Gebrauchsüberwachung der systemeigenen Plattenspeichergeräte, welches das Vollsein von Plattenspeichergeräten des Systems und ihre relativen Niveaus bzw. Zustände der Platteneingabe/-ausgabe-Aktivität überwacht. Dadurch wird ein Ungleichgewicht des Gebrauchs der Plattenspeichergeräte des Systems korrigiert, indem Dateien von einer Plattenspeichereinrichtung zu einer anderen bewegt werden.
  • Aus DE 40 21 632 A1 ist ein Verfahren zum Einordnen und Auffinden von Datensätzen in einer Teilnehmerdatenbank bekannt, die für die Verwaltung von Teilnehmerdatensätzen mit hoher Fluktuation so organisiert ist, dass das Einordnen und Auffinden der Teilnehmerdatensätze trotz der hohen Fluktuation nur wenig Zeit in Anspruch nimmt. Als Lösung wird hierzu ein spezieller Algorithmus vorgestellt, der eine beliebige Teilmenge einer beliebig großen Menge von Teilnehmerdaten auf virtuelle Kontrollelemente abbildet, denen über logische Kontrollelemente Speicherbereiche der Datenbank zugeordnet sind.
  • Aus DE 44 41 753 A1 ist ein Verfahren und eine Anordnung für semipermanentes Speichern eines Dienstprofiles in persönlichen Informationsübertragungssystemen bekannt, bei denen Informationen eines Dienstprofils eines Teilnehmers eines Mobiltelefon-Systems an verschiedene anfragende Stationen kopiert werden, um sie dort lokal semipermanent vorzuhalten. Angewandt auf die Konfiguration einer Datenbank, hätte dieses Verfahren zur Folge, dass die Datenobjekte in vielfacher Gesamt-Kopie an allen Datenbank-Knoten gespeichert wären, die irgendwann einmal eine Anfrage gegen dieses Datenobjekt gerichtet hatten. Dies würde ersichtlich zu einer Explosion des Umfanges der Datenbank und damit zu einer Blockade der Datenbank führen.
  • Flachere Organisationsstrukturen, wie sie beispielsweise unter dem Begriff "Lean Management propagiert werden, können nur dann erfolgreich eingeführt werden, wenn die entscheidungstragenden Einheiten alle notwendigen Informationen zur rechten Zeit zur Verfügung haben. Das bedeutet, daß ineffektive Verwaltungsarbeiten, lange Bearbeitungsweise und Bearbritungszeiten genauso verschwinden müssen wie Insellösungen in der Informationsverarbeitung.
  • Daraus folgt, daß viele Unternehmen ein Reengineering ihrer Geschäftsprozesse betreiben, um ihre Geschäftsprozesse zu optimieren, eine Automatisierung der Standardgeschäftsprozesse vornehmen, um die Durchführung der Prozesse zu verbessern, und eine Vereinheitlichung der Informationssysteme auf Grundlage einheitlicher und unternehmensweit gültiger Datenmodelle anstreben, um informationsseitig optimale Voraussetzungen zu schaffen.
  • Die Möglichkeiten moderner Datenbanken, wie beispielsweise der Datenbank IBM Database 2, zur Verteilung der Daten einer logischen Datenbank auf unterschiedliche physikalische Lokationen trifft sich hier in ausgezeichneter Weise mit den beiden oben beschriebenen Unternehmensmaßnahmen und der globalen Struktur vieler Unternehmen; die Datenbank IBM Database 2 kann über die gängigen Vetriebswege der IBM Deutschland beziehungsweise der IBM Corporation erworben werden.
  • Nachteile des Standes der Technik
  • Die bestehenden Datenbanksysteme unterstützen zwar die Verteilung der Daten, aber sie geben keinerlei Hilfestellung, wie die Daten, von einer semantischen Seite aus betrachtet, auf die Knoten verteilt werden sollen. Vorgehensmodelle, die von Kundenerfordernissen ausgehend, über ein "Entity-Relationship" Modell (ERM) zu einem physikalischen Datenbankschema kommen, betrachten insbesondere den Aspekt der Verteilung der Daten nicht, oder nur im Hinblick auf die schlichte Möglichkeit ohne Verfahrensanweisungen.
  • Der Erfindung liegt daher die Aufgabe zugrunde eine Vorichtung sowie ein Verfahren der eingangs genannten Art so aus zubilden die Konfiguration einer Datenbank optimiert wird. Die Optimierung soll dabei systemgesteuert möglich sein und insbesondere unter Leistungsgesichtspunkten erfolgen. Weiterhin soll die Optimierung unter Koste ngesichtspunkten erfolgen. Es ist weiterhin Aufgabe der Erfindung, die optimierende Konfiguration einer Datenbank nicht nur statisch vorzunehmen, etwa bei der ersten Inbetriebnahme der Datenbank, sondern dynamisch, d. h. es soll eine systemgesteuerte Rekonfiguration der Datenbank während des Datenbankbetriebes möglich sein.
  • Lösung der Aufgabe
  • Die Aufgabe wird Verfahrensmäßig durch den Patentanspruch 1 sowie vorrichtungsmäßig durch den Patentanspruch 11 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den zugehörigen abhängigen Patentansprüchen offenbart.
  • Die Konfiguration der Datenbank wird in Vorteilhafterweise durch die Information gesteuert welche Prozesse in welcher Art und in welchem Umfang auf die Datenobjekte der Datenbank zugreifen. Insbesondere wird die Konfiguration von verteilten relationalen Datenbanken gesteuert durch die Information welche Prozesse auf welche Attribute der Relationen mit welcher Häufigkeit lesend und mit welcher Häufigkeit schreibend zugreifen.
  • Die Konfiguration der Datenbank kann dabei sowohl zum Zeitpunkt der ersten Inbetriebnahme der Datenbank erfolgen; weiterhin ist auch eine dynamische Rekonfiguration der Datenbank während des Datenbankbetriebes möglich, um etwa einem veränderten Datenbankbenutzerverhalten Rechnung zu tragen.
  • Das im Patentanspruch 1 beschriebene Verfahren löst die Aufgabe der Erfindung durch die Ermittlung und Speicherung der Datenbankzugriffe und durch Teilung der Datenobjekte.
  • Die Prozesse, die auf die Daten zugreifen, können beispielsweise Anfragen von Benutzern der Datenbank sein oder auch Computerprogramme, die im Zuge ihres Ablaufes auf die Daten der Datenbank zugreifen; insbesondere können es Computerprogramme sein, die durch ein Workflow-Managementsystem gesteuert werden.
  • Bei der Datenbank kann es sich um eine hierarchische, eine objekt-orientierte oder um eine relationale Datenbank handeln. Die Datenbank kann weiterhin zentralisiert oder verteilt sein. Die Speicherung der Daten erfolgt in digitaler Form und kann in jeder technisch-möglichen Form erfolgen; insbesondere können die Daten auf elektronische Weise wie etwa in Halbleiterspeichern gespeichert werden, auf magnetische Weise, auf optische Weise oder auf eine Kombination dieser Möglichkeiten gespeichert werden.
  • Die Datenobjekte bestimmen sich nach dem jeweiligen Datenbankschema, d. h. es kann sich dabei beispielsweise um die Baumstruktur eines hierarchischen Datenbankschemas handeln, um die Datenobjekte in einem objekt-orientierten Datenbankschema oder um die Relationen in einem relationalen Datenbankschema.
  • Das Ermitteln der Zugriffe auf die Datenbank beinhaltet beispielsweise die Ermittlung, ob ein Prozeß lesend oder schreibend auf die Daten der Datenbank zugreift. Werden die Zugriffe eines Workflow-Managementsystems auf die Datenbank betrachtet, so bietet häufig das Workflow-Managementsystem bereits die Möglichkeit, die Zugriffsinformation nach Art und Umfang bereitzustellen. Die Speicherung der Zugriffsinformation kann auf alle bekannten Methoden und Techniken erfolgen, insbesondere ist eine elektronische, magnetische oder optische Speicherung denkbar.
  • Weiterhin kann die Konfiguration der Datenbank insbesondere durch eine Teilung der Datenobjekte der Datenbank erfolgen. Das Teilen der Datenobjekte kann sowohl mit Redundanz erfolgen, als auch ohne Redundanz erfolgen. Insbesondere ist denkbar, daß die verschiedenen Teile des Datenobjektes jeweils ein Schlüsselelement aufweisen, so daß eine Rekonstruktion des ursprünglichen Datenobjektes eindeutig möglich ist.
  • Das im Patentanspruch 1 offenbarte Verfahren leistet vorteilhaft die Konfiguration einer Datenbank ausgehend von dem logischen Datenbankschema und der Information über die Zugriffe auf die Datenbank. Durch eine Konfiguration nach entsprechenden Kriterien lassen sich die erforderlichen Datenbankresourcen reduzieren, wie beispielsweise Rechenanlagen oder Speichersysteme. Dies hat den Vorteil von geringerem Platzbedarfes, geringerem Energieverbrauch, höherer Zuverlässigkeit und geringeren Kosten. Weiterhin läßt sich durch eine Konfiguration nach entsprechenden Kriterien die Leistungsfähigkeit der Datenbank erhöhen bei unveränderten oder sogar reduzierten Kosten für die Datenbankanlage.
  • In einer Ausgestaltung der Erfindung gemäß dem Verfahren nach Patentanspruch 2 leistet die Erfindung eine dynamische Rekonfiguration der Datenbank. Dies ist vorteilhaft, weil dadurch die Datenbankkonfiguration dynamisch den Veränderungen der Datenbankanfragen angepaßt werden kann. Dadurch wird vorteilhaft ein gleichbleibend hoher Standard der Datenbank beispielsweise bezüglich Leistung, Zuverlässigkeit und Kosten gewährleistet.
  • In einer weiteren Ausgestaltung der Erfindung gemäß atentanspruch 3 wird ein Datenobjekt geteilt, auf das zwei Prozesse gleichzeitig zugreifen wollen. Dies ist vorteilhaft, weil dadurch die Leistungsfähigkeit der Datenbank erhöht wird; die Blockierung eines Datenobjektes für alle weiteren Datenbankprozesse durch einen Prozeß, der nur auf einen Teil des Datenobjektes zugreift, wird durch die Merkmale des Patentanspruches 3 verhindert.
  • In einer weiteren Ausgestaltung der Erfindung gemäß Patentanspruch 4 bietet die relationale Datenbank den Vorteil, daß die relationale Abbildung der Daten in der Datenbank der Realität näher kommt als viele andere logische Datenbankmodelle. Dies erlaubt eine hohe Bearbeitungsgeschwindigkeit der Datenbankzugriffe.
  • Den Datenobjekten entsprechen Relationen, die Attribute aufweisen. Dem Teilen der Datenobjekte entspricht ein Teilen der Relationen, wobei jeder Teil ein Schlüsselattribut erhält, damit die Rekonstruktion der Gesamtrelation eindeutig und vollständig möglich ist. Insbesondere kann eine Relation geteilt werden, wenn zwei Prozeß versuchen gleichzeitig versuchen, auf ein Attribut zuzugreifen. Dadurch können zukünftig vorteilhaft beide Prozesse gleichzeitig auf jeweils einen Teil der Relation zugreifen.
  • In einer weiteren Ausgestaltung der Erfindung gemäß Patentanspruch 5 handelt es sich bei der Datenbank um eine verteilte Datenbank. Dies ist vorteilhaft, weil viele Datenbankanwendungen auf verschiedenen Orte verteilt sind, so daß sich durch eine verteilte Datenbank nicht nur die Leistungsfähigkeit der Datenbank durch kürzere Datenübertragungswege erhöhen läßt, sondern auch die Datenübertragungskosten reduzieren lassen.
  • Das erfindungsgemäße Verfahren verteilt hierzu Datenobjekte und Teile von Datenobjekten und allokiert diese Datenobjekte an den entsprechenden Orten. Der Einsatz verteilter Datenbanken bietet weiterhin Vorteile, da kleinere Rechen- und Speichereinheiten eingesetzt werden können, die eine hohe Zuverlässigkeit, eine hohe Verfügbarkeit und nur geringe Anschaffungs- und Betriebskosten erfordern.
  • In einer weiteren Ausgestaltung der Erfindung gemäß Patentanspruch 6 wird für die Konfiguration der Datenbank die Information über den Ort der Datenbankzugriffe ermittelt, gespeichert und verwendet. Dies ist vorteilhaft, da hierdurch bei verteilten Datenbanken ein wichtiges Kriterium für die Konfiguration der verteilten Datenbank berücksichtigt werden kann. Diese Ortsinformation kann gegebenenfalls vorteilhaft von einem Workflow-Managementsystem bereitgestellt werden, welches diese Information, zumindest teilweise, bereits abgespeichert hat.
  • In einer weiteren Ausgestaltung der Erfindung gemäß der Patentansprüche 7 und 8 handelt es sich um eine verteilte relationale Datenbank. Die Bearbeitung der Informationen in Matrixform ist vorteilhaft, da hierdurch komplexe Berechnungen mit geringem Adressierungs- und damit Zeitaufwand durchführen lassen. Weiterhin ist vorteilhaft, daß die Ergebnismatrix alle für eine Konfiguration der Datenbank relevanten Daten in übersichtlicher und leicht verarbeitbarer Weise enthält.
  • In einer weiteren Ausgestaltung der Erfindung gemäß des Patentanspruches 9 wird auf die Ergebnismatrix eine Bewertungsfunktion angewandt. Dies ist vorteilhaft, da sich dadurch die Konfiguration der Datenbank entsprechend der jeweiligen Bewertungsfunktion steuern und optimieren läßt. So kann beispielsweise durch eine entsprechende erste Bewertungsfunktion die Konfiguration der Datenbank gezielt auf kurze Bearbeitungszeiten optimiert werden. Ebenso kann beispielsweise eine entsprechende zweite Bewertungsfunktion die Konfiguration der Datenbank hinsichtlich geringer Übertragungs- oder Vorhaltekosten für die Daten optimiert werden. Weitere Bewertungsfunktionen können sicherheitsrelevante Aspekte, unternehmensspezifische Aspekte, lokalspezifische Aspekte, Priorisierungen und ähnliches berücksichtigen. Es sind auch beliebige Mischformen denkbar.
  • In einer weiteren Ausgestaltung der Erfindung gemäß des Patentanspruches 10 wird eine Verteilungsfunktion eingesetzt, um die Verteilung der Datenobjekte zu bestimmen. Diese Verteilungsfunktion kann eine Verteilung nach den unterschiedlichen Gesichtspunkten bestimmen, die sich zudem verändern lassen.
  • Die Bewertungs- und Verteilungsfunktionen werden auf die Ergebnismatrix nach den aus der Mathematik bekannten Regeln der Matrizenrechnung angewandt und erlauben daher vorteilhaft eine Berücksichtigung komplexer Situationen in kurzer Zeit mit nur geringem Rechenaufwand. Weiterhin ist es vorteilhaft, daß die Bewertungs- und Verteilungsfunktionen an sich ändernde Randbedingungen einfach angepaßt werden können, und somit mit geringem Aufwand eine dynamische Rekonfiguration des Datenbanksystems gewährleistet ist.
  • Die in den Patentansprüchen 11 bis 16 beschriebenen Vorrichtungen offenbaren insbesondere ein Computersystem, welches in der Lage ist, das Verfahren auszuführen, wie es in den Patentansprüchen 1 bis 10 beschrieben ist. Demzufolge gelten für die Vorrichtungen die Vorteile, die bereits zu den zugehörigen Verfahren genannt wurden.
  • Ebenso gelten für den im Patentanspruch 17 beschriebenen Datenträger die Vorteile, die bereits zu den zugehörigen Verfahren genannt wurden.
  • Des weiteren betrifft die Erfindung gemäß dem Patentanspruch 18 die Verwendung der Information über Datenzugriffe auf eine Datenbank für die Konfiguration der Datenbank. Dies ist vorteilhaft, da hierdurch genau die Konfiguration der Datenbank bestimmt wird, die für die aktuell ablaufenden Datenbankabfragen optimal ist. Dies ist weiterhin vorteilhaft, da hierdurch eine dynamische Rekonfiguration der Datenbank mit geringem Aufwand, automatisierbar und flexible möglich ist.
  • Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird nachfolgend näher beschrieben.
  • Es zeigen:
  • 1 zeigt eine Datenbank, auf welche verschiedene Prozesse zugreifen,
  • 2 zeigt eine verteilte Datenbank, in welcher die Daten der Datenbank auf Speichermitteln verteilt sind,
  • 3 zeigt den schematischen Ablauf des erfinderischen Verfahrens zur Konfiguration einer Datenbank,
  • 4 zeigt zeigt das erfindungsgemäße Verfahren, wenn es sich bei der Datenbank um eine verteilte relationale Datenbank handelt,
  • 5 zeigt zeigt eine Vorrichtung 510 zur Teilung von Datenobjekten in einer Datenbank,
  • 6A bis 6C zeigen welche Subgeschäftsprozesse mit welcher Häufigkeit auf die Attribute zugreifen,
  • 7A bis 7C zeigen mit welcher Häufigkeit die Subgeschäftsprozesse auf Orte zugreifen,
  • 8 zeigt die Verhältnisse zwischen Orten und Attributen, für den Vorgang des Schreibzugriffs,
  • 9A bis 9C zeigen die Verhältnisse zwischen Orten und Attributen für den Vorgang des Lesezugriffes,
  • 10 zeigt die Verhältnisse zwischen Orten und Attributen für die Gesamtzugriffe,
  • 11 zeigt die Gesamtkosten gemäß dem Verfahren des Zeilenoptimums,
  • 12 zeigt die Gesamtkosten gemäß dem Verfahren des Spaltenoptimums,
  • 13 zeigt Cluster von Attributen an Orten auf der Grundlage der Geschäftsprozesse,
  • 14 zeigt ausgewählte Cluster von Attributen an Orten auf der Grundlage der Geschäftsprozesse, und
  • 15 zeigt eine Kostenbewertung ausgewählter Cluster von Attributen an Orten auf der Grundlage der Geschäftsprozesse.
  • Die 1 zeigt eine Datenbank 110, auf welche die Prozesse 101, 102 und 103 zugreifen. Die Prozesse kommunizieren dabei jeweils mit der Benutzeroberfläche 111 der Datenbank 110. Das Datenbankmanagement 112 verwaltet die Daten der Datenbank 110, die auf den Speichermitteln 113, 114 gespeichert sind. Unter das Verwalten der Datenbank fällt dabei auch das Konfigurieren, das heißt beispielsweise das Festlegen auf welchem Speichermittel 113, 114 in welcher Art und in welcher Struktur die Daten gespeichert werden.
  • Die Prozesse 101, 102 und 103 können dabei sowohl Benutzeranfragen gegen die Datenbank 110 sein oder Computerprogramme, die auf die Datenbank 110 zugreifen. Insbesondere können diese Prozesse 101, 102 und 103 auch Geschäftsprozesse eines Unternehmens sein, die von einem Workflow-Managementsystem gesteuert sind und als Benutzerinteraktionen oder als Anwendungsprogramme auf die Datenbank 110 zugreifen.
  • Die 2 zeigt eine verteilte Datenbank 210, in welcher die Daten der Datenbank 210 auf den Speichermitteln 221, 222 und 223 verteilt sind. Die Speichermittel 221, 222 und 223 können dabei sowohl innerhalb eines Datenbankrechners verteilt sein, auf verschiedene Datenbankrechner an einem gemeinsamen Ort verteilt sein, auf verschiedenen Datenbankrechnern an verschiedenen Orten verteilt sein oder auch global verteilt sein. Die Verteilung der Daten beziehungsweise der Speichermittel reflektiert dabei jeweils die Anwendung der Datenbank beziehungsweise die Verteilung der Prozesse 201, 202 und 203, welche auf die verteilte Datenbank 210 zugreifen.
  • Die Speichermittel 221, 222 und 223 kommunizieren dabei untereinander über entsprechende Datenleitungen 230. Diese Datenleitungen 230 können sowohl nur innerhalb des Gehäuses eines Datenbankrechners existieren oder können staatenübergreifende Datenleitungen sein, wie beispielsweise herkömmliche Telefonleitungen. Der Datenaustausch kann drahtgebunden oder drahtlos, elektronisch oder optisch erfolgen.
  • Die 3 zeigt den schematischen Ablauf des erfinderischen Verfahrens zur Konfiguration einer Datenbank. Hierbei werden zunächst die Zugriffe auf die Datenobjekte der Datenbank erfaßt 301. Anschließend werden diese Zugriffe auf einem Speichermittel 303 gespeichert 302. Abschließend erfolgt die Konfiguration der Datenbank unter Verwendung der Information über die Zugriffe auf die Datenobjekte der Datenbank 304.
  • Die Konfiguration kann dabei durch das Datenbankmanagement 112 der Datenbank 110 (siehe 1) erfolgen öder durch Datenbank-externe Steuervorrichtungen erfolgen.
  • Die 4 zeigt das erfindungsgemäße Verfahren, wenn es sich bei der Datenbank um eine verteilte relationale Datenbank handelt, auf die Geschäftsprozesse zugreifen. In diesem Fall wird in einem ersten Informationsblock in Form einer ersten Matrix 401 die Information 411 abgespeichert, welcher Geschäftsprozeß auf welche Attribute einer Relation der verteilten relationalen Datenbank wie häufig und in welcher Art zugegriffen wird. Hinsichtlich der Zugriffsart wird beispielsweise zwischen lesenden und schreibenden Zugriffen unterschieden. In einem zweiten Informationsblock wird in Form einer zweiten Matrix 402 die Information 412 abgespeichert, an welchem Ort welcher Geschäftsprozeß mit welcher Häufigkeit stattfindet.
  • Die erste Matrix 401 wird entsprechend den mathematischen Regeln zur Matrizenrechnung mit der zweiten Matrix 402 multipliziert, so daß eine Ergebnismatrix 403 entsteht, welche die Information 413 enthält, von welchem Ort auf welches Attribut einer Relation einer verteilten relationalen Datenbank mit welcher Häufigkeit und in welcher Art zugegriffen wird.
  • Auf diese Information 413 wird nun in einem weiteren Schritt eine Bewertungsfunktion 404 angewandt, so daß eine bewertete Ergebnismatrix entsteht. Diese Bewertungsfunktion 404 berücksichtigt beispielsweise die Geschwindigkeit, mit der von einem bestimmten Ort auf ein bestimmtes Attribut der Relation zugegriffen werden kann. Weiterhin kann diese Bewertungsfunktion 404 berücksichtigen, welche Übertragungskosten für die Übertragung eines Attributes vom Ort der Speicherung dieses Attributes zum Ort des Geschäftsprozesses, der dieses Attribut abfragt, benötigt. Weiterhin kann diese Bewertungsfunktion berücksichtigen, welche Speicherkosten an einem Ort für die Speicherung eines bestimmten Attributes erforderlich sind.
  • Anschließend wird auf die bewertete Ergebnismatrix eine Verteilungsfunktion 405 angewandt, die eine Verteilung der Relationen auf die verschiedenen Speichermittel beziehungsweise auf die verschiedenen Speicherorte der verteilten relationalen Datenbank bestimmt. Diese Verteilungsfunktion 405 berücksichtigt beispielsweise spezifische Datenbankstrukturen, existierende Rechnerverbunde, die Verfügbarkeit bestehender Verbindungsleitungen, oder auch unternehmensspezifische Strukturen, Prioritäten, Gegebenheiten oder Erfordernisse. Während des Konfigurierens 406 der Datenbank werden die Daten auf die verschiedenen Speichermittel verteilt. Die Verteilungsfunktion 405 kann bei Bedarf beziehungsweise nach Möglichkeit auch direkt auf der Basis der Ergebnismatrix 403 erfolgen; die Anwendung einer Bewertungsfunktion 404 ist als eine Option des erfinderischen Verfahrens zu betrachten.
  • Die 5 zeigt eine Vorrichtung 510 zur Teilung von Datenobjekten in einer Datenbank 110. Bezüglich der Datenbank 110 gelten die zur 1 gemachten Angaben. Durch die Vorrichtung 510 werden die Zugriffe der Prozesse 101, 102 und 103 auf die Datenobjekte über eine Datenverbindung 540 ermittelt. Die Vorrichtung 510 wird vorzugsweise durch ein Computersystem realisiert und weist eine Recheneinheit 530 und Speichermittel 520 auf.
  • Über Steuerleitungen 550 steuert die Vorrichtung 510 das Datenbankmanagement 112 der Datenbank 110 und auf diesem Wege die Teilung beziehungsweise Verteilung der Datenobjekte in der Datenbank 110.
  • Die folgenden Figuren zeigen ein Ausführungsbeispiel für die Konfiguration einer verteilten relationalen Datenbank, beispielsweise auf die Produktdatenbank eines multinational tätigen Unternehmens. In diesem Beispiel greifen sieben Subgeschäftsprozesse sg1 bis sg7 auf die acht Attribute Auftrags#, Kunden#, Produkt#, Datum, APos, APosWert, GAWert und AStatus der Relation AUFTRAG zu. Auf die Datenbank wird in den Orten Berlin, London und Tokio zugegriffen.
  • Subgeschäftsprozesse sind Einheiten in einem oder mehreren Geschäftsprozessen, die als kleinste Einheiten betrachtet werden, welche auf Daten zugreifen. Falls noch keine Geschäftsprozesse oder Subgeschäftsprozesse definiert sind, werden diese aus den Anwendungen abgeleitet. Im Folgenden wird der Zugriff der Subgeschäftsprozesse auf die einzelnen Attribute einer Relation erfasst. Dieser Schritt ist notwendig, da es abhängig vom benutzen Optimierungsverfahren notwendig sein kann, Clusterungen der Attribute einer Relation zu betrachten, um Einheiten innerhalb einer Relation, die gemeinsam von Subgeschäftsprozessen bearbeitet werden, möglichst nicht auseinanderzureissen.
  • Die Wahl des Zeitraums ist abhängig von den untersuchten Geschäftsprozessen und daher nicht allgemeingültig festlegbar. Beispielsweise kann man ein Geschäftsjahr eines Unternehmens als Zeitraum ansetzen, wenn auch der Jahresabschluss beispielsweise mit in die Betrachtungen einbezogen werden soll. Ist ein solch langer Zeitraum nicht notwendigerweise zu betrachten, kann man auch auf Tage oder kürzere Zeiträme gehen. Wichtig ist lediglich, daß der Zeitraum eine Maßeinheit innerhalb der Untersuchung ist, der als normiert zu betrachten ist.
  • Es wird zwischen unterschiedlichen Lesezugriffen auf Attribute unterschieden: L1 bezeichnet im folgenden Text einen Lesezugriff, der für ein Datenupdate beziehungsweise eine Datenlöschung gebraucht wird. In der 6A ist in Matrixform die Information dargestellt, welcher Subgeschäftsprozeß auf welches Attribut der Relation AUFTRAG mit welcher Häufigkeit L1-lesend zugreift.
  • Davon unterschieden wird der Lesezugriff L2, der dazu benutzt wird, das "nur" Lesen zu erfassen. Aus datenbanktechnischen Gründen ist diese Unterscheidung notwendig. In 6B ist in Matrixform die Information dargestellt, welcher Subgeschäftsprozeß auf welches Attribut der Relation AUFTRAG mit welcher Häufigkeit L2-lesend zugreift.
  • Weiterhin wird von den Lesezugriffen ein Schreibzugriff S unterschieden. In 6C ist in Matrixform die Information dargestellt, welcher Subgeschäftsprozeß auf welches Attribut der Relation AUFTRAG mit welcher Häufigkeit schreibend zugreift.
  • In dem nun folgenden Schritt werden die Zugriffhäufigkeiten der Subgeschäftsprozesse an den verschiedenen Orten untersucht. In der 7A ist in Matrixform die Information dargestellt, an welchem Ort die Subgeschäftsprozesse mit welcher Häufigkeit L1-lesend zugreifen.
  • Entsprechend ist in der 7B die Information dargestellt, an welchem Ort die Subgeschäftsprozesse mit welcher Häufigkeit L2-lesend zugreifen.
  • Weiterhin ist in der 7C die Information dargestellt, an welchem Ort die Subgeschäftsprozesse mit welcher Häufigkeit schreibend zugreifen.
  • Mit dem beschriebenen ersten Schritt, der Ermittlung des Verhälnisses von Subgeschäftsprozessen zu Attributen einer Relation, und dem beschriebenen zweiten Schritt, der Ermittlung des Zusammenhanges von Subgeschäftsprozessen und Orten, lässt sich ein Verhältnis von Orten und Attributen ableiten, das grundlegend ist für die Verteilung der Daten, weil es eben genau die notwendige Information Ort: Attribute/Relation enthält.
  • Es wird die in der 8 dargestellte Matrix durch eine Multiplikation der Matrix in 6C mit der Matrix in 7C berechnet. Diese in 8 dargestellte Matrix enthält die Information, mit welcher Häufigkeit von welchen Orten auf die einzelnen Attribute der Relation AUFTRAG schreibend zugegriffen wird.
  • Ähnlich wie im Falle der schreibenden Zugriffe, wird auch im Falle der Lesenden Zugriffe verfahren. Einzige Ausnahme ist, daß zunächst die Matrizen für L1-lesen und L2-lesen für die Verbindung Geschäftsprozeß zu Attribut addiert werden, das heißt, es werden die Matrizen aus den 6A und 6B addiert; die resultierende erste Summenmatrix ist in der 9A dargestellt.
  • Anschließend werden die Matrizen L1-lesen und L2-lesen für die Verbindung Geschäftsprozesse und Orte addiert, das heißt es werden die Matrizen aus den 7A und 7B addiert; die resultierende zweite Summenmatrix ist in der 9B dargestellt.
  • Anschließend wird die in der 9C dargestellte Matrix durch eine Multiplikation der ersten und zweiten Summenmatrizen aus den 9A und 9B berechnet. Diese in 9C dargestellte Matrix enthält die Information, mit welcher Häufigkeit von welchen Orten auf die einzelnen Attribute der Relation AUFTRAG lesend zugegriffen wird.
  • Im Folgenden wird das Verfahren zur Datenverteilung auf unterschiedliche Orte beispielhaft beschrieben. Basierend auf der Matrix der 8 hinsichtlich der schreibenden Zugriffe und der Matrix der 9C hinsichtlich der lesenden Zugriffe wird nun eine Matrix der Gesamtzugriffe ermittelt. An dieser Stelle wird die Unterscheidung in lesende und schreibende ugriffe relevant. Es werden nun Parameter α und β eingeführt, die eine Gewichtung zwischen Lesen und Schreiben herstellen. Diese Parametrisierung trägt dem Umstand Rechnung, daß beispielweise eine Verteilung der Daten nur unter Berücksichtigung des Lesens beziehungsweise des Schreibens denkbar ist, oder eine Verteilung, die diese beiden Vorgänge in unterschiedlichsten Wertungen berücksichtigt. Über die beiden Parameter kann auch der unterschiedliche Übertragungsaufwand von Lesen und Schreiben berücksichtigt werden.
  • Im vorliegenden Beispiel sind die Parameter α und β so gewählt, daß den Schreibzugriffen doppelt so viel Bedeutung gegeben wird, bezogen auf die Lesezugriffe. Die Lesezugriffe werden somit mit einem Parameter α = 0,33 gewichtet, wogegen die Schreibzugriffe mit einem Parameter β = 0,67 gewichtet werden. Daraus ergibt sich die Matrix der Gesamtzugriffe für die Relation AUFTRAG wie in der 10 dargestellt. Diese Matrix bildet die Basis für die weiteren Betrachtungen.
  • Wenn in den folgenden Überlegungen von der oben ermittelten Matrix der Gesamtzugriffe ausgegangen wird, in der die unterschiedlichen Zugriffsarten vereinigt sind, dann stellt dies eine Vereinfachung dar, um die Übersichtlichkeit des erfinderischen Verfahrens zu erhalten. Zweifellos könnte man die Kostenbetrachtungen, die in die Bewertungsfunktion eingehen (siehe die nachfolgend beschriebenen Kostenfunktionen), auch auf der Basis der unterschiedlichen Zugriffsweisen machen; die dadurch erzeugte Komplexität stellt aber in Bezug auf die Erfindung keine neue Qualität dar, sondern ist lediglich eine Verfeinerung.
  • Für die Ermittlung der optimal Verteilung innerhalb der vorgestellten Vefahren und letztlich über die Verfahren hinaus zu einem globalen Optimum benötigt man die Definition einer Kostenfunktion. Dabei können berücksichtigt werden:
    die Gesamtkosten eines bestimmten Attributes der Relation bei Speicherung an einem bestimmten Ort,
    die Speicherkosten des Attributes der Relation an diesem Ort, wobei die Speicherkosten ortsabhängig variieren können,
    die Zugriffskosten des Attributes der Relation an diesem Ort von einem anderen Ort, wobei die Zugriffskosten auch die Übertragungskosten beinhalten und daher je nach Ort unterschiedlich behandelt werden müssen,
    die Zugriffshäufigkeit des Attributes der Relation an diesem Ort von einem anderen Ort,
    das durchschnittliche Datentransfervolumen bei Zugriff auf das Attribut der Relation an diesem Ort von einem anderen Ort, und
    die Speicherkosten des Attributes der Relation an diesem Ort.
  • Im vorliegenden Beispiel werden aus Gründen der Übersichtlichkeit und Einfachheit folgende Annahmen gemacht:
    die Speicherkosten sollen nicht berücksichtigt werden,
    die Zugriffskosten an den verschiedenen Orten sollen nicht unterschiedlich sein, und
    das Datenvolumen soll nicht berücksichtigt werden.
  • Damit ergibt sich ausgehend von der in Figur dargestellten Matrix die in der 11 dargestellte bewertete Ergebnismatrix.
  • Folgende Vorgehensweisen zur Verteilung der Daten sollen betrachtet werden:
    Verfahren des Zeilenoptimums: Ein Attribut einer Relation wird dem Ort zugewiesen, an dem die geringsten Kosten entstehen.
    Verfahren des Spaltenoptimums: Die Gesamtheit der Zugriffe auf eine Relation an einem Ort wird betrachtet, und es wird die Relation als Ganzes an den Ort gelegt, der die geringsten Gesamtkosten hat.
    Vollständiges Attributclustering: Es werden alle möglichen Cluster von Attributen einer Relation gebildet und auf die unterschiedlichen Orte verteilt. Die dabei entstehende Menge von Verteilungsvarianten wächst exponentiell und ist daher rechnerintensiv. Das Verfahren des Zeilenmaximums und das Verfahren des Spaltenmaximums sind Spezialfälle dieses maximalen Clusterings.
    Attributclustering auf der Grundlage der Geschäftsprozesse: Um dem Problem der exponentiell wachsenden Anzahl von Clustern der zuvor beschriebenen Vorgehensweise zu entgehen, wird hier ein Filter vorgeschaltet, der aus den Geschäftsprozessen selber abgeleitet wird. Es werden nur die Verteilungen von Clustern und Orten betrachtet, die von den Geschäftsprozessen auch wirklich benutzt werden.
  • Jedes vertikale Fragment muß das Schlüsselattribut als zusätzliches Attribut bekommen. Die Möglichkeit von Kopien und des horizontalen Splittings werden nicht betrachtet.
  • Die folgenden Ausführungen zu den Verteilungsverfahren führen zu unterschiedlichen Ergebnissen. Die Ermittlung der optimalen Verteilung erfolgt mittels der Kostenfunktion. Die Kostenfunktion wird auf die einzelnen Attribute und ihre möglichen Orte der Verteilung angewandt, so daß eine neue Matrix entsteht, in der pro Ort und Attribut die jeweiligen Kosten stehen, die den anderen Orten entstehen, wenn sie auf diesen Ort zugreifen müssen und zusätzlich die Speicherkosten an diesem Ort.
  • Das Verfahren des Zeilenoptimums beruht auf dem Konzept, daß das Attribut einer Relation an dem Ort sein soll, an dem die Kosten für dieses Attribut minimal sind.
  • Die Bewertungsfunktion wird dabei auf die einfachen Cluster angewandt, sprich einzelne Attribute. Das bedeutet, man muß pro Attribut der Relation bewertet mit der Kostenfunktion den zugehörigen Index des Zeilenoptimums bestimmen. Der Index gibt dann Auskunft, an welchem Ort welches Attribut gespeichert werden soll. Ist das Ergebnis nicht eindeutig, kann die Auswahl unter den verschiedenen gleichwertigen Minimal beispielsweise nach dem kleinsten Spaltenrang erfolgen. Wesentlich ist lediglich, daß das Auswahlergebnis eindeutig ist. Mit dem Verfahren des Zeilenoptimums liegt ein erster Verteilungsvorschlag vor.
  • Im vorliegenden Beispiel ergibt das Verfahren des Zeilenmaximums ausgehend von der Matrix der 11 eine physikalische Verteilung der Attribute der Relation AUFTRAG wie folgt:
    Berlin: Produkt#, Datum und APosWert, sowie
    Tokyo: Auftrags#, Kunden#, APos, GAWert undAStatus.
  • Die Gesamtkosten belaufen sich auf 18100,9 Kosteneinheiten.
  • Das Verfahren des Spaltenoptimums beruht auf dem Konzept, daß jeweils die gesamten Relationen an den Ort gelegt werden, der insgesamt die geringsten Kosten hat. Das bedeutet, man muß die Summe der Kosten pro Ort bilden und dann das Minimum auswählen. Ausgangspunkt dieses Verfahrens ist die in der 11 dargestellte bewertete Ergebnismatrix, welche durch die Gesamtkostenfunktion erzeugt wurde. Falls das Minimum nicht eindeutig einen Ort bestimmt, müssen andere Kriterien gefunden werden. Im vorliegenden Beispiel ergibt sich die in der 12 dargestellte Matrix. Dem Verfahren des Spaltenoptimums zufolge müßte die gesamte Relation AUFTRAG nach Berlin gelegt werden. Die Gesamtkosten betragen in diesem Fall 20318,4 Kosteneinheiten.
  • Das Verfahren des Attributclusterings zur Erzeugung unikater, vertikaler Splits wird in zwei Verfahren durchgeführt.
  • Im ersten Verfahren wird die Menge aller möglicher Kombinationen von Attributen einer Relation betrachtet und eine Funktion definiert, die danach systematisch in allen Kombinationen auf die möglichen Orte verteilt werden.
  • Dieses Verfahren wird im Folgenden als "Vollständiges Attributcluster" bezeichnet. Über die Bewertungsfunktion wird die Verteilungsvariante mit den geringsten Kosten ausgewählt.
  • Im zweiten Fall wird zunächst untersucht, welche Cluster überhaupt von Subgeschäftsprozessen benutzt werden und an welchen Orten jeweils. Der Einfachheit halber wird bei den Clustern nicht zwischen Lesen und Schreiben unterschieden.
  • Es soll eine Relation mit einer bestimmten Anzahl von Attributen unikat gesplittet werden. Der Schlüssel der Relation soll aus nur einem Attribut bestehen, wobei sich das Verfahren nicht ändert bei Schlüsseln, die aus mehreren Attributen einer Relation bestehen, weil der Schlüssel als Gesamtheit Teil jedes Fragmentes ist. Die Anzahl der möglichen Cluster beim vollständigen Attributclustering ergibt sich als Mächtigkeit der Menge der Kombinationen von Elementen ohne Wiederholung ohne Berüksichtigung der Anordnung.
  • Die möglichen Cluster müssen nun so gewählt werden, daß eine vollständige Überdeckung der Relation entsteht.
  • Diese möglichen vollständigen Überdeckungen müssen im letzten Schritt über die Orte permutiert werden. Auf die so entstandenen Verteilungen der Cluster auf Orte kann nun die Bewertungsfunktion angewandt werden, die die entstehenden Kosten dieser Clusterverteilung berechnet. Die Auswahl des optimalen Clusters erfolgt nach dem Prinzip der geringsten Kosten, im Falle von Kostengleichheit für Cluster müssen andere Entscheidungskriterien gefunden werden.
  • Das bisher vorgestellte Verfahren versucht eine Optimierung über alle möglichen Kombinationen von Clustern und deren Verteilungen auf die Orte. Alleine die Anzahl möglicher Cluster ohne Berücksichtigung der Kombinationen dieser Cluster auf verschiedene Orte für nur eine Relation wächst exponentiell. Aus diesem Grunde wird ein Filter vorgeschlagen, der von vornherein nur die Cluster berücksichtigt, die auch wirklich von den Geschäftsprozessen benutzt werden.
  • Im Unterschied zu den exponentiell wachsenden Möglichkeiten bei dem Verfahren des vollständigen Attributclusterings wird in dem Verfahren des Attributclusterings auf Grundlage der Geschäftsprozesse der Raum der potentiellen Cluster durch die Geschäftsprozesse eingeschränkt. Wird ein Cluster von Attributen einer Relation nur an einem Ort benötigt, dann macht es auch keinen Sinn, dieses Cluster als solches an andere Orte zu legen. Unbenommen hiervon ist die Möglichkeit, daß aufgrund von Teilmengenbeziehungen zwischen den Clustern eine Obermenge eines Clusters an einem Ort liegen kann, an dem das Cluster der Untermenge nicht nachgefragt wird. Dabei stellt die Einschränkung auf die wirklich durch die Geschäftsprozesse benutzten Cluster ein sinnvolle Reduktiton der Möglichkeiten dar.
  • Attribute, die nicht zu einem Cluster eines Geschäftsprozesses gehören, können entweder in allen möglichen Kombinationen auf die verbleibenden Orte verteilt werden, oder als ein sinnvoller Sonderfall hiervon als Block auf die anderen Orte verteilt werden. Dieser Sonderfall ist insofern sinnvoll, als er möglichst große Blöcke von Attributen schafft. Im Anschluß an die Definition der möglichen Verteilungen auf die Orte wird mit der Bewertungsfunktion die optimale Verteilung wie schon in dem Verfahren des vollständigen Attributclusterings bestimmt .
  • Im vorliegenden Beispiel ergeben sich die in der Matrix der 13 dargestellten Cluster aus den Matrizen der 6A, 6B, 6C, 7A, 7B und 7C. Aus Gründen der Übersichtlichkeit werden nur die Indizes der Attribute der Relation AUFTRAG benutzt.
  • Damit ergibt sich unter Berücksichtigung, daß das Schlüsselattribut "1" immer Teil des Fragmentes sein muß und daß die restlichen Attribute beispielhaft komplett an die verbleidenden Orte gelegt werden, dies entspricht dem beschriebenen Sonderfall, die in der 14 dargestellte Matrix.
  • Wird auf die Matrix der 14 die Bewertungsfunktion angewandt, resultiert die in der 15 dargestellte bewertete Ergebnismatrix. Als optimale Verteilung der Attribute folgt aus dieser Matrix:
    Berlin: Auftrags#, Produkt#, Datum und APosWert, sowie
    Tokyo: Auftrags#, Kunden#, APos, GAWert undAStatus.
  • Die Gesamtkosten belaufen sich auf 18100,9 Kosteneinheiten.

Claims (18)

  1. Verfahren zum Konfigurieren einer Datenbank (110) , wobei die Datenbank (110) Datenobjekte aufweist, die Datenobjekte durch digitale Daten repräsentiert werden, und Prozesse (101, 102, 103) auf die Datenobjekte zugreifen, gekennzeichnet dadurch, daß das Verfahren folgende Schritte aufweist: Ermitteln (301) der Zugriffe der Prozesse auf die Datenobjekte, Speichern (302) der ermittelten Zugriffe in einem ersten Informationsblock (303), und Konfigurieren (304) der Datenbank (110) unter Auswertung der Information in dem ersten Informationsblock (303), wobei das Konfigurieren (304) der Datenbank (110) durch ein Teilen der Datenobjekte erfolgt.
  2. Verfahren nach Patentanspruch 1, wobei das Konfigurieren (304) der Datenbank (110) dynamisch während des Betriebes der Datenbank (110) erfolgt.
  3. Verfahren nach Patentanspruch 1 oder 2, wobei das Konfigurieren (304) erfolgt , wenn mindestens zwei Prozesse versuchen, gleichzeitig auf das Datenobjekt zuzugreifen.
  4. Datenträger, auf dem ein Computerprogramm mit Programminstruktionen gespeichert ist, die ein Verfahren nach einem der Ansprüche 1 bis 10 ausführen, wenn das Computerprogramm in einem Computer ausgeführt wird.
  5. Verfahren nach einem der Patentansprüche 1 bis 3, wobei die Datenbank (110) eine relationale Datenbank ist, die Datenobjekte Relationen der relationalen Datenbank sind, die Relationen Attribute aufweisen, die Prozesse (101, 102, 103) auf Attribute der Relationen zugreifen, und die Zugriffe der Prozesse auf die Attribute der Relationen ermittelt werden.
  6. Verfahren nach einem der Patentansprüche 1 bis 4, wobei die Datenbank (110) eine verteilte Datenbank (210) ist, die Datenobjekte der verteilten Datenbank (210) sich auf verschiedenen Speichermitteln (221, 222, 223) befinden, und das Verfahren weiterhin den Schritt aufweist: Allokieren des Datenobjektes als Ganzes auf einem Speichermittel der Datenbank, oder Allokieren der Teile des Datenobjektes auf verschiedenen Speichermitteln der Datenbank.
  7. Verfahren nach Patentanspruch 5, weiterhin die Schritte aufweisend: Ermitteln an welchem Ort die Prozesse ablaufen, Speichern der ermittelten Ortsinformation in einem zweiten Informationsblock, und Verknüpfen der Information des ersten Informationsblockes mit der Information des zweiten Informationsblockes für eine Entscheidung über die Teilung der Datenobjekte und für eine Entscheidung über das Allokieren von Teilen der Datenobjekte.
  8. Verfahren nach Patentanspruch 6, wobei die verteilte Datenbank eine verteilte relationale Datenbank ist.
  9. Verfahren nach Patentanspruch 7 , wobei der erste Informationsblock in einer ersten Matrix (401) die Information enthält, welcher Prozeß auf welches Attribut der Relation wie oft lesend zugreift und wie oft schreibend zugreift, der zweite Informationsblock in einer zweiten Matrix (402) die Information enthält, an welchem Ort mit welcher Häufigkeit welcher Prozeß abläuft, und die erste und die zweite Matrix miteinander multipliziert werden und eine Ergebnismatrix (403) berechnet wird, wobei die Ergebnismatrix Information (413) enthält, von welchem Ort auf welches Attribut der Relation mit welcher Häufigkeit lesend zugegriffen wird lind mit welcher Häufigkeit schreibend zugegriffen wird.
  10. Verfahren nach Patentanspruch 8, wobei auf die Ergebnismatrix (403) mindestens eine Bewertungsfunktion (404) angewandt wird, und eine bewertete Ergebnismatrix berechnet wird.
  11. Verfahren nach Patentanspruch 8 oder 9, wobei auf die Ergebnismatrix (403) oder auf die bewertete Ergebnismatrix eine Verteilungsfunktion (405) angewandt wird, welche die Teilung der Datenobjekte bestimmt und welche die Verteilung der Teile der Datenobjekte auf die verschiedenen Speichermittel der verteilten Datenbank (210) bestimmt.
  12. Vorrichtung (510) zum Konfigurieren einer Datenbank (110), wobei die Datenobjekte durch digitale Daten repräsentiert werden, und Prozesse (101, 102, 103) auf die Datenobjekte zugreifen, dadurch gekennzeichnet, daß die Vorrichtung (510) aufweist: erste Mittel (530, 540), die den Zugriff der Prozesse auf die Datenobjekte ermitteln, erste Speichermittel (520), welche die Zugriffe der Prozesse auf die Datenobjekte in einem ersten Informationsblock speichern, und Mittel zur Konfiguration der Datenbank unter Verwendung der Information in dem ersten Informationsblock, wobei das Konfigurieren (304) der Datenbank (110) durch ein Teilen der Datenobjekte erfolgt.
  13. Vorrichtung (510) nach Patentanspruch 11, wobei die Datenbank (110) eine relationale Datenbank ist, die Datenobjekte Relationen der relationalen Datenbank sind, die Relationen Attribute aufweisen, die Prozesse (101, 102, 103) auf Attribute der Relationen zugreifen, und die Zugriffe der Prozesse auf die Attribute der Relationen ermittelt werden.
  14. Vorrichtung (510) nach Patentanspruch 11 oder 12, wobei die Datenbank (110) eine verteilte Datenbank (210) ist und die Vorrichtung weiterhin aufweist: Mittel zum Allokieren des Datenobjektes als Ganzes auf einem Speichermittel der Datenbank, oder Mittel zum Allokieren der Teile des Datenobjektes auf verschiedenen Speichermitteln der Datenbank.
  15. Vorrichtung (510) nach Patentanspruch 13, weiterhin aufweisend: zweite Mittel, die als eine zweite Information ermitteln, an welchen Orten die Prozesse ablaufen, zweite Speichermittel, welche die zweiten Information abspeichern, und erste Rechenmittel, welche die ersten Information und die zweiten Information miteinander zu einer Ergebnismatrix verknüpfen.
  16. Vorrichtung (510) nach Patentanspruch 14, wobei das System weiterhin aufweist: zweite Rechenmittel, welche mindestens eine Bewertungsfunktion auf die Ergebnismatrix anwenden.
  17. Vorrichtung (510) nach einem der Patentansprüche 11 bis 15, wobei die Vorrichtung ein Computersystem ist, welches Steuerfunktionen auf die Datenbank (110) ausführen kann.
  18. Verwendung der Information über Zugriffe von Prozessen (101, 102, 103) auf Datenobjekte in einer Datenbank (110) zur Konfiguration der Datenbank (110), wobei das Konfigurieren (304) der Datenbank (110) durch ein Teilen der Datenobjekte erfolgt.
DE19534819A 1995-09-20 1995-09-20 Verfahren und Vorrichtung zum Konfigurieren einer Datenbank Expired - Lifetime DE19534819B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19534819A DE19534819B4 (de) 1995-09-20 1995-09-20 Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
JP22104596A JP3670770B2 (ja) 1995-09-20 1996-08-22 データベースを構成する方法及び装置
US08/716,006 US5884311A (en) 1995-09-20 1996-09-19 Method and system for dynamically configuring a relational database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19534819A DE19534819B4 (de) 1995-09-20 1995-09-20 Verfahren und Vorrichtung zum Konfigurieren einer Datenbank

Publications (2)

Publication Number Publication Date
DE19534819A1 DE19534819A1 (de) 1997-03-27
DE19534819B4 true DE19534819B4 (de) 2004-07-08

Family

ID=7772619

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19534819A Expired - Lifetime DE19534819B4 (de) 1995-09-20 1995-09-20 Verfahren und Vorrichtung zum Konfigurieren einer Datenbank

Country Status (3)

Country Link
US (1) US5884311A (de)
JP (1) JP3670770B2 (de)
DE (1) DE19534819B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873720B2 (en) 2006-02-03 2011-01-18 Sigram Schindler Beteiligungsgesellschaft Mbh Method for modifying the operating mode of a technical communications group platform (TCGPL) of a telecommunications network (TC network)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19706419A1 (de) * 1997-02-19 1998-08-27 Ibm Verfahren und Vorrichtung zur Steuerung von Prozessen unter Verwendung einer Technologie zur maschinellen Sprachverarbeitung
GB9800427D0 (en) * 1998-01-10 1998-03-04 Ibm Probabilistic data clustering
US6775674B1 (en) * 1998-03-26 2004-08-10 Sap Aktiengesellschaft Auto completion of relationships between objects in a data model
DE19911373A1 (de) * 1999-03-15 2000-10-12 Hewlett Packard Co Einrichtung und Verfahren zum Betrieb von Geschäftsprozessen in einem verteilten Informationsnetz
US20020165728A1 (en) * 1999-03-15 2002-11-07 Jochen Buckenmayer Device, method and computer program product for carrying out business processes
US6766326B1 (en) * 2000-07-24 2004-07-20 Resty M Cena Universal storage for dynamic databases
US6513043B1 (en) 2000-09-01 2003-01-28 Syntricity, Inc. System and method for storing, retrieving, and analyzing characterization data
US6944630B2 (en) * 2000-11-22 2005-09-13 Bmc Software Database management system and method which monitors activity levels and determines appropriate schedule times
JP2003208501A (ja) * 2002-01-11 2003-07-25 Hitachi Ltd ビジネスプロセス定義表示方法およびプログラム
DE10213231A1 (de) * 2002-03-25 2003-10-23 Bayer Ag Verfahren zur computergestützten Sortimentsoptimierung und Computersystem
US7305395B1 (en) * 2002-04-24 2007-12-04 Oracle International Corporation Centralized storage and management of database parameters
GB0226919D0 (en) * 2002-11-18 2002-12-24 Active Ltd Database management
US9264355B2 (en) * 2006-09-05 2016-02-16 Telefonaktiebolaget L M Ericsson (Publ) Name-address management and routing in communication networks
US20100082551A1 (en) * 2008-09-26 2010-04-01 Microsoft Corporation Data placement transparency for high availability and load balancing
EP2405360A4 (de) * 2009-03-06 2016-12-28 Nec Corp Informationsverarbeitungssystem und -verfahren
US20160300171A1 (en) * 2015-04-09 2016-10-13 International Business Machines Corporation Risk-based order management with heterogeneous variables in a constrained environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4021632A1 (de) * 1990-07-06 1992-01-09 Standard Elektrik Lorenz Ag Verfahren zum einordnen und auffinden von datensaetzen in einer teilnehmerdatenbank
DE4221073A1 (de) * 1991-06-27 1993-01-07 Digital Equipment Corp Datenspeichersystem und -verfahren mit geraeteunabhaengigen dateiverzeichnissen
DE4441753A1 (de) * 1993-11-24 1995-06-01 Telia Ab Verfahren und Anordnung für semipermanentes Speichern eines Dienstprofils in persönlichen Informationsübertragungssystemen

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5335345A (en) * 1990-04-11 1994-08-02 Bell Communications Research, Inc. Dynamic query optimization using partial information
US5412806A (en) * 1992-08-20 1995-05-02 Hewlett-Packard Company Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4021632A1 (de) * 1990-07-06 1992-01-09 Standard Elektrik Lorenz Ag Verfahren zum einordnen und auffinden von datensaetzen in einer teilnehmerdatenbank
DE4221073A1 (de) * 1991-06-27 1993-01-07 Digital Equipment Corp Datenspeichersystem und -verfahren mit geraeteunabhaengigen dateiverzeichnissen
DE4441753A1 (de) * 1993-11-24 1995-06-01 Telia Ab Verfahren und Anordnung für semipermanentes Speichern eines Dienstprofils in persönlichen Informationsübertragungssystemen

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CERI, S.: "Distributed Databases: Principles and Systems", McGraw-Hill, New York 1984 *
FOGG, I. u. ORLOWSKA, M.: "Valid Unbiased Frag- mentation for Distributed Database Design", Computers Math. Applic. (UK), Vol. 25, No. 9, 1993, S. 97-106 *
KORTH, H.F. u. SILBERSCHATZ, A.: "Database System Concepts", McGraw-Hill, New York 1986 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873720B2 (en) 2006-02-03 2011-01-18 Sigram Schindler Beteiligungsgesellschaft Mbh Method for modifying the operating mode of a technical communications group platform (TCGPL) of a telecommunications network (TC network)

Also Published As

Publication number Publication date
DE19534819A1 (de) 1997-03-27
JP3670770B2 (ja) 2005-07-13
US5884311A (en) 1999-03-16
JPH09171477A (ja) 1997-06-30

Similar Documents

Publication Publication Date Title
DE19534819B4 (de) Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
DE69736748T2 (de) Editierumgebung für objektmodelle und verfahren zu deren anwendung
DE112012000280B4 (de) Organisation von Tabellen mit reduzierten Indizes
DE4218025C2 (de) Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem
DE4323947C2 (de) Verfahren zum Steuern von Datenbankabfragen in einem heterogenen, verteilten Datenbanksystem
DE10195968B4 (de) System und Verfahren zur Bereitstellung einer Kreuzdimensionalen Berechnung und eines Kreuzdimensionalen Datenzugriffs in einer Online-Analytischen Verarbeitungs-Umgebung (ON-LINE ANALYTICAL PROCESSING = OLAP)
EP1194865B1 (de) Verfahren zur datenpflege in einem netzwerk teilweise replizierter datenbanksysteme
DE202020005687U1 (de) Gemeinsame Datennutzung bzw. Datenteilung und materilisierte Ansichten in Datenbanken
DE112019000187T5 (de) Dynamische zugriffskontrolle für wissens-graphen
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE112020000749T5 (de) Indexerstellung für sich entwickelnde umfangreiche Datensätze in Hybriden Transaktions- und Analysenverarbeitungssystemen mit mehreren Mastern
DE202015009875U1 (de) Transparente Entdeckung eines semistrukturierten Datenschemas
DE10039537A1 (de) Verbesserung der mehrdimensionalen Umstrukturierung beim Hinzufügen oder Entfernen von Dimensionen und Dimensionsmitgliedern
DE19955718A1 (de) Paralleler Datenbank-Support für Workflow-Management-Systeme
DE202010018481U1 (de) Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster
WO2002021327A2 (de) Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm
DE112013006646T5 (de) Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation
DE10234138A1 (de) Verwalten einer Speicherkonkurrenz bei automatisierten Speichersystemen
EP1225511A1 (de) Verfahren und system zur akten-verwaltung in verteilten umgebungen
DE60013138T2 (de) Ein verfahren und ein gerät für die verarbeitung von abfragen einer datenbank
EP1637956A1 (de) Erzeugung anonymisierter Datensätze zum Testen und Entwickeln von Anwendungen
DE112021003031T5 (de) Archivieren von nur-beschleuniger-datenbanktabellen
DE112021000621T5 (de) Primärschlüssel mit mehreren werten für eine mehrzahl von eindeutigen kennungen von entitäten
EP1798673A1 (de) Computer-implementiertes System zur Erzeugung, Bearbeitung und Verwaltung von strukturierten Datensätzen
DE10218905B4 (de) Verfahren und Datenstruktur zur Zugriffssteuerung in Wissensnetzen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
R071 Expiry of right