-
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.