Otto-von-Guericke-Universität Magdeburg. Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme.

Größe: px
Ab Seite anzeigen:

Download "Otto-von-Guericke-Universität Magdeburg. Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme."

Transkript

1 Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme Diplomarbeit Entwicklung von Konzepten zur dynamischen Verwaltung der Partitionierung/Verteilung in DBMS. Verfasser: Norbert Siegmund 27. März 2007 Betreuer: Eike Schallehn Universität Magdeburg Fakultät für Informatik Postfach 4120, D Magdeburg Germany

2 Siegmund, Norbert: Entwicklung von Konzepten zur dynamischen Verwaltung der Partitionierung/Verteilung in DBMS. Diplomarbeit, Otto-von-Guericke-Universität Magdeburg, 2007.

3 INHALTSVERZEICHNIS i Inhaltsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis Verzeichnis der Abkürzungen vi vii ix 1 Einleitung 1 2 Grundlagen Partitionierungsarten Zugriffsmuster Indexe Statistiken in Datenbanken Automatisiertes Datenbank Tuning State of the Art DB2 Design Advisor Recommend Partition Evaluate Partition Abschätzung der Kosten Suchalgorithmus Zusammenfassung Microsoft Database Tuning Advisor Column-Group Restriction & Selection Merging

4 ii INHALTSVERZEICHNIS Zusammenfassung Automatisiertes Layout der Datenbank nach Agrawal et al Database Layout Problem Formulierung Aufbau der Lösung Workload Informationen Suchstrategie Ergebnisse Self-Tuning Data Placement nach Lee et al Data Placement Data Migration Ergebnisse Autonomous Query Driven Index Tuning Processing Index-building Queries Kostenmodell Index Auswahl Ergebnisse Konzept zur Lösung Design Ideen und Probleme der Optimierung Statistik Kostenmodell Verteilungsstrategien Einstellgrößen und Parameter Erweiterbarkeit Kopplung an Indexe Mehrdimensionale Partitionierung Co-allokierte Relationen Änderung des Partitionsschlüssels

5 INHALTSVERZEICHNIS iii Optimierung nach Bedarf Aging-Wert Antwortzeiten Replikation Ergebnisse Ablauf der Simulation Auswertungen Zusammenfassung Zusammenfassung Ausblick Literaturverzeichnis 71 Anhang 77

6 iv INHALTSVERZEICHNIS

7 ABBILDUNGSVERZEICHNIS v Abbildungsverzeichnis 2.1 Vertikale Partitionierung Horizontale Partitionierung Beispiel eines Histogrammes Aufbau des Partition Advisors nach [JZM02] Ergebnisse des DB2 Design Advisors Aufbau des Database Tuning Advisors nach [SCK + 04] Aufbau der Lösung nach [SNCD03] Beispiel Queries aus [SNCD03] Beispiel des Zugriffsgraphen aus [SNCD03] Qualitätsvergleich Full Striping mit TS-Greedy aus [SNCD03] Beispiel 1 nach [LKO + 00] Beispiel 2 nach [LKO + 00] Antwortzeiten der PEs aus [LKO + 00] QUIT - Architektur aus [SGS03] Schematischer Aufbau der Lösung Histogramm der Datenverteilung über gleiche Bucketgrößen Histogramm der Datenverteilung über gleichmäßige Intervallgrenzen Histogramm über die Anzahl von Zugriffen in Fragementen Histogramm der Antwortzeiten von Festplatten Histogramm der Antwortzeiten von Relationen Verteilung von Antwortzeiten einer Partition auf 3 Fragmenten

8 vi ABBILDUNGSVERZEICHNIS 4.8 Beispiel der Plattenoptimierung Beispiel der Relationenoptimierung Mehrdimensionale Partitionierung Definition der Simulationsumgebung Initiale Datenverteilung Übersicht des Simulationsprogrammes Anfangsverteilung der Daten Beginn der Umverteilung Nach erster Umverteilung Nach zweiter Umverteilung Nach dritter Umverteilung Nach vierter Umverteilung Nach fünfter Umverteilung Grundkonfiguration für Test Halbierung der Geschwindigkeit für Platte Erste Umverteilung für Test Endverteilung für Test Optimierung der Tabelle 0 - Start Optimierung der Tabelle 0-1.Ausgleich Optimierung der Tabelle 0-2. Ausgleich Optimierung der Tabelle 0-3. Ausgleich Optimierung der Tabelle 0-4. Ausgleich Optimierung der Tabelle 1 - Start Optimierung der Tabelle 1-1. Ausgleich Optimierung der Tabelle 1-2. Ausgleich Optimierung der Tabelle 1-3. Ausgleich Optimierung der Tabelle 1-4. Ausgleich Optimierung der Tabelle 1-5. Ausgleich

9 TABELLENVERZEICHNIS vii Tabellenverzeichnis 3.1 Beispiel der Kostenmetrik aus [SCK + 04] Beispiel zum Datenbankmodell Abhängigkeiten der verschiedenen Features Queryspeicherung Spaltentabelle Partitionentabelle Verbundtabelle Beispiel zur Kapazitätskontrolle Bereinigung von Abfragezeiten Naiver Ansatz zur Verteilung Tatsächliche Verteilung Bereinigung der Verschiebungszeitwerte Antwortzeiten co-allokierter Tabellen Veränderung der Partitionsgrenzen nach der Optimierung

10 viii TABELLENVERZEICHNIS

11 ix Verzeichnis der Abkürzungen DBMS LRU LFU SQL I/O CPU DTA DBA Datenbankmanagementsystem Last recently Used Least frequently Used Structured Quering Language Input/Output Central Prozessing Unit Database Tuning Advisor Datenbankadministrator

12 x

13 Kapitel 1. Einleitung 1 Kapitel 1 Einleitung Heutige Datenbanksysteme sind in der Lage eine enorme Menge an Daten zu speichern und zu verwalten. Mit zunehmender Größe der Datenbestände verschlechtert sich im Allgemeinen auch die Performance. Die Antwortzeiten von Abfragen erhöhen sich und die Dauer für Einträge und Änderungen kann ebenfalls zunehmen. Die Gründe dafür liegen mitunter in der erschwerten Lokalisierung der Daten und in der zunehmenden Belastung der Festplatten auf denen die Daten gespeichert sind. Um diese Belastung auszugleichen, wurde das Konzept der Partitionierung bzw. Datenverteilung entwickelt. Die Antwortzeiten können durch Parallelisierung und Lastverteilung wesentlich gesenkt werden. Die Verteilung der Daten ist jedoch vom Zugriffsmuster der ankommenden Abfragen stark abhängig. Ändert sich das Muster im Betrieb, können die Vorteile der Parallelisierung sich negieren und im schlimmsten Fall bilden überlastete Festplatten Flaschenhälse in der Performance. Ein weitere Punkt sind die erheblichen Kosten und Ressourcen die für eine manuelle Konfiguration einer Datenbank anfallen. Datenbankadministratoren sind zudem nicht in der Lage (Zeitgründe, Kosten, etc.), z.b. nach jedem Tag das System für die aktuellen Anforderungen zu verändern. Um diese Probleme zu beheben, wird ein kostenbasiertes Konzept vorgestellt, das zur Laufzeit der Datenbank eine Umverteilung der Daten vornimmt und damit dem aktuellen Workload die bestmögliche Performance gewährleistet. Es sind die Schwierigkeiten erläutert, die sich aus dem Umstand ergeben, dass während der Laufzeit der Datenbank Statistiken zu erstellen und zu verwalten sind. Hinzu kommt, dass die Optimierungs- und Verteilungsphase ebenfalls online erfolgen muss. Das Konzept ist in einer simulierten Umgebung getestet worden. Im 2. Kapitel werden die Grundlagen der Partitionierung und dieser Arbeit beschrieben. In Kapitel 3 folgt eine Vorstellung der momentanen State of the Art Lösungen. Es gibt bereits Programme, die eine optimale Verteilung von Daten vornehmen. Das sind allerdings statische Tools, die bereits einen Workload erfordern. Zudem benötigen sie eine lange Berechnungsdauer und ihre Änderungen sind meist so gravierend, dass sie nur im offline - Modus der Datenbank vorgenommen werden können. Das Konzept wird in Kapitel 4 vorgestellt. Die Ergebnisse der Simulation werden in Kapitel 5 präsentiert und ausgewertet. Das Kapitel 6 liefert eine Zusammenfassung dieser Arbeit und bildet den Abschluss.

14 2

15 Kapitel 2. Grundlagen 3 Kapitel 2 Grundlagen Ursprünglich kam das Konzept der Partitionierung aus dem Anwendungsfeld verteilter und paralleler Datenbanken [DG90],[DG92]. Darunter versteht man die Verteilung der Daten einer oder mehrerer Tabellen auf verschiedene Partitionen. Der Vorgang läuft nur auf der physikalischen Ebene der Datenbank ab. Für den Betrachter bleibt die Tabelle unverändert. In diesem Zusammenhang wird der Begriff Transparenz definiert. Er gibt an, dass Änderungen im physischen Schema keine Auswirkungen auf das logische Schema haben dürfen. Eine Partition besteht meist aus einer Datei, einer Festplatte, einem RAID in einem RAID-System oder aus ganzen Einheiten mit eigenem Speicher und eigenem Prozessor. Das Ziel der Partitionierung ist die Maximierung des parallelen Zugriffs auf Daten und der Lastausgleich der einzelnen Partitionen. Weitere Vorteile sind vereinfachte Wartbarkeit und Administration, sowie verbesserte Archivierung von Datenbeständen. So können z.b. aktuelle und häufig benutzte Daten auf schnellen, jedoch auch teuren und kleinen Platten verteilt werden. Ältere Werte sind auf großen und billigen Datenträgern aufzuteilen. Dies erhöht die Effizienz der Datenbanken und verringert die Kosten der Hardware. Dieses Kapitel stellt die Arten der Partitionierung vor, wie sie z.b. in [SSH05] beschrieben sind. Es erläutert den Workload einer Datenbank, wie ein relevanter Index aufgebaut ist und was automatisiertes Datenbanktuning bedeutet. 2.1 Partitionierungsarten Die Verteilung einer Tabelle kann auf 2 Arten und deren Hybrid erfolgen. Die vertikale Partitionierung teilt die Tabelle an ihren Spalten auf. Zur Identifizierung in den einzelnen Segmenten muss jedesmal der Primärschlüssel mit enthalten sein, damit die ursprüngliche Tabelle durch Joins wieder zusammensetzbar ist. Das Datenvolumen wird hierdurch erhöht. Diese Variante befindet sich kaum in Verwendung, da die Parallelisierung nicht zum Tragen kommen kann. Die vertikale Partitionierung empfiehlt sich vor allem, wenn einige Spalten sehr häufig verändert oder abgefragt, andere dagegen im gleichen Datensatz konstant bleiben und kaum betrachtet werden. Die zweite Möglichkeit ist die horizontale Partitionierung. Hier wird die Tabelle in

16 Partitionierungsarten Abbildung 2.1: Vertikale Partitionierung ihrer Struktur vervielfacht und auf die angegeben Partitionen verteilt. Jede von ihnen erhält eine bestimmte Anzahl von Datensätzen, so dass bei einem Join aller Fragmente wieder die Ursprungstabelle entsteht. Die Verteilung erfolgt nach verschiedenen Verfahren: Hash - Verfahren Mittels einer Hashfunktion werden die Datensätze auf die verschiedenen Partitionen verteilt. An dieser Stelle fließen bereits Randbedingungen der aktuellen Systeme ein, um das Design zu verbessern. Der Microsoft Tuning Wizard [LKO + 00] richtet die Größe der Hashbuckets nach der Kapazität des Hauptspeichers und legt die Anzahl der Buckets auf ein Vielfaches der Prozessoranzahl fest. Diese Variante empfiehlt sich bei unregelmäßigen Zugriffsmustern auf die Daten. Bereichs(Range) - Verfahren Die Zugriffe auf Daten erfolgen meist in bestimmten Mustern. Dabei sind nur Inhalte gesucht, die in bestimmten Wertebereichen vorliegen. Die Verteilung der Daten erfolgt durch Angabe eines Entscheidungsschlüssels. Der Wertebereich wird durch die Anzahl an Partitionen unterteilt. Der Schlüssel gibt an, an welcher Stelle diese Unterteilung statt finden soll. Dies ist ein Kernpunkt des Performancetunings. Er ist abhängig von der Struktur der Datenwerte und der Abfragemuster der Datenbank. Als Schlüssel kann jede Spalte einer Tabelle dienen. Frühe Implementationen der Verfahren sind z.b. in [DGS + 90]und in [LM92] beschrieben. Es existieren zudem Möglichkeiten, die beiden Ansätze zu verbinden. So stellen zum Beispiel Ghandeharizadeh und DeWitt [GD90] eine hybride Bereichspartitionierungsstrategie vor. Eine Analyse über diese 3 Strategien wurde von Nørv ag durchgeführt [Nør].

17 Kapitel 2. Grundlagen 5 Abbildung 2.2: Horizontale Partitionierung 2.2 Zugriffsmuster Immer häufiger kommen Datenbanksysteme zum Einsatz, die Anfragen aus unterschiedlichen Regionen der Erde erhalten. Speziell im Internet existieren Datenbanken die zu jeder Zeit erreichbar sein müssen. So kann der häufig frequentierte Teil des Datenbereichs sich im Laufe des Tages oder der Woche erheblich ändern. Für die Verbesserung der Geschwindigkeit eines DBMS ist die Kenntnis des Zugriffsmusters, im engl. Workload, daher von großer Bedeutung. In ihm ist das Schema bzw. die Struktur der ankommenden Abfragen enthalten. Daraus können stark belastete Bereiche erkannt und die Verarbeitung dafür verbessert werden. Durch diese Informationen leitet das Datenbankmanagmentsystem mögliche Attributkandidaten für die Indexierung ab. Materialisierte Sichten sind für oft wiederkehrende Abfragen über mehrere Tabellen anzulegen. Daten sind so auf Partitionen verteilt, dass die Parallelisierung entsprechend den tatsächlich ankommenden Queries erfolgen kann. Ein früher Ansatz für das automatische Tuning anhand eines komplexen Workloads zeigte bereits Brown et al [BMCL94]. Das Kernproblem in diesem Bereich ist die enorme Menge an ankommenden Daten. Ein simples Verfahren ist die Verbindung von gleichen Abfragen mit unterschiedlichen Attributen bzw. eine Zusammenfassung von Abfragen zu Gruppen und die Einführung von Gewichten für jene Gruppen. Tools, wie der DB2 Design Advisor oder der Microsoft Tuning Wizard verfügen über Verfahren der Komprimierung [DJS + 04],[SCK + 04]. Im DB2 Design Advisor werden die Queries nach ihrer Komplexität absteigend sortiert und nur die obersten k Abfragen werden bis zu einem spezifizierten Prozentsatz komprimiert. Dabei definiert sich die Variable k aus der zur Verfügung stehenden Berechnungszeit. Dies gewährleistet ein effizientes Maß an Komprimierung, um nicht einen Overhead für diese Berechnung zu erhalten. Die Skalierbarkeit ist daher gewährleistet.

18 Indexe 2.3 Indexe Indexe sind Hilfsstrukturen in Datenbanken. Sie ermöglichen eine erheblich schnellere und effektivere physische Lokalisierung der Daten. Eine sehr oft benutzte Form ist der von Rudolf Bayer und Edward M. McCreight 1972 [BM72],[BU77] entwickelte B - Baum. Dieser wurde B+ - Baum. Er ist die Weiterentwicklung des B - Baumes. Das B steht hierbei für balanciert und nicht für binär. Der Baum beinhaltet Werte eines bestimmten Attributes und teilt den Wertebereich dadurch in verschiedene Zweige auf. Die Knoten selber können an die vorkommende Seitengröße angepasst werden. Beim B+ - Baum befinden sich die Zeiger auf den tatsächlichen Ort der Datensätze nur in den Blattknoten. Auf diese Weise kann in logarithmischem Zeitaufwand der Ort eines Datensatzes vom DBMS ermittelt werden, ohne die gesamte Tabelle zu durchsuchen. Zudem können weitere Schlüssel pro Knoten vorhanden sein. Folgende Eigenschaften besitzt der B+ - Baum: Baum mit Knoten die mehr als 2 Nachfolger haben können Linker Nachfolger eines Knotens ist kleiner als der Knoten Rechter Nachfolger ist größer oder gleich dem Knoten Unterbaum definiert Intervallbereich der Elemente Alle Blattknoten haben die gleiche Tiefe Die Wurzel ist ein Blatt oder hat mindestens 2 Nachfolger Interner Knoten hat mindestens k und maximal 2k Schlüsselwerte Interner Knoten hat mindestens k+1 und maximal 2k+1 Nachfolger außer Wurzel Die Ordnung eines Baumes gibt die Höhe des Baumes an Die Anzahl der Werte in den Blattknonten können variieren Ein weiterer wichtiger Index ist das Data Grid. In ihm sind mehrere Attribute indexiert und dienen daher der gleichzeitigen Suche über mehrere Spalten einer Tabelle. Dieser Index kommt vor allem bei mehrdimensionalen Abfragen vor. 2.4 Statistiken in Datenbanken Für die Generierung optimaler Ausführungspläne von Abfragen und für das Tuning der Datenbank, benötigt das DBMS Statistiken über die verwalteten Daten. Ein Histogramm ist eine der wichtigsten Formen dies zu realisieren [Koo80],[PHIS96]. Es dient der Aggregation und Komprimierung von Daten und zur Vorhersage der Selektivität

19 Kapitel 2. Grundlagen 7 eines Attributes [MMK + 05]. Die Verteilung der Daten im gesamten Wertebereich kann zur Abschätzung für performance-relevante Informationen dienen. Die vorgestellte Lösung benutzt Histogramme, um die Verteilung der Queries im Bezug zum Wertebereich darzustellen und eine darauf basierende Partitionierung vorzunehmen. Weiterführende Ansätze gehen dahin, auch die Histogramme während der Laufzeit besser zu optimieren. Dazu stellen Aboulnaga und Chaudhuri eine Lösung vor [AC99]. Ihre Idee besteht darin, dass das Histogramm nicht aufgrund der Daten in der Datenbank erstellt und gepflegt wird, sondern durch die Selektivitätsangabe der Anfrageoptimierer. So wird nach jeder Query das Diagramm verfeinert. Dieser Mechanismus ist mit einer Feedback-Schleife realisiert worden, die nachfolgend kurz beschrieben wird. Abbildung 2.3: Beispiel eines Histogrammes 2.5 Automatisiertes Datenbank Tuning Durch wachsende Administrationskosten und zunehmende Komplexität von Multi - Tier Applikationen gewinnen automatisierte Managementtools immer größere Bedeutung. So gaben Chaudhuri und Weikum auf der SIGMOD 2005 ein ausführliches Tutorial über die wichtigsten Aspekte [CW05]. Die Prinzipien des Auto-Tunings sind wie folgt beschrieben: Kompromiss Eliminierung Falls es Parameter gibt, die eine universelle, nah am Optimum gelegene Performance bieten, sollten diese entfernt werden. Beispiele sind z.b. Cache Strategien (LRU vs. LFU) [OOW93],[WKKS99].

20 Automatisiertes Datenbank Tuning Statische Optimierung Diese Kategorie kann dem physischen Datenbankdesign zugeordnet werden. Neuere Ansätze, wie sie später gezeigt werden, beeinflussen das physische Datenbankdesign in dynamischen Umgebungen. Es ist eine optimale Konfiguration und Auswahl der Indexe, materialisierten Sichten und Partitionen anhand eines gegebenen Workloads unter der Bedingung des begrenzten Speicherplatzes zu finden. Stochastische Vorhersagen Da der Workload bereits statistischen Schwankungen unterliegt, können darauf Vorhersagen über die Auslastung des Systems getroffen werden. Auf diesen beruht die Einteilung der Systemressourcen (CPU-Geschwindigkeit, Cache-Größe, Festplattenanzahl und deren Kapazität,etc.), so dass das DBMS Performancegarantien erfüllen kann. Online Optimierung Die Online Optimierung ist ein breites Feld. Zu ihr gehören die effiziente Speicherverwaltung, die Pflege von statistischen Metadaten sowie komplexe Aufgaben, wie z.b. Umverteilung von Daten. Feedback Control Loop Diese Technik beschreibt eine Schleife in der Steuerung der Datenbank zur Überwachung des Verhaltens oder der Veränderungen eines Systems. Die Qualität von getätigten Eingriffen ist hierdurch ebenfalls überprüfbar. Darauf basierend entwickelten Weikum et al. ein Framework, um die Möglichkeiten des automatischen Tunings zu steigern [WMHZ02]. What-if Analyse Um zu entscheiden, ob zum Beispiel ein Index besser ist als ein anderer, wird das What-if Verfahren angewendet. Es basiert auf dem Was wäre wenn Prinzip. Damit die Datenbank keinen physischen Index kreieren muss, wird ein virtueller Index im Speicher geschaffen. Basierend auf statistischen Informationen ermittelt das DBMS daraufhin einen Ausführungsplan. So finden schnelle Vergleiche statt, um ein optimales Ergebnis zu ermitteln [CN98]. Diese Methodik wird auch für andere Features (Sichten, Partitionen) eingesetzt, die Einfluss auf die Performance einer Datenbank haben. In der Praxis sind die Übergänge fließend. Ein Optimierungstool verwendet gleichzeitig mehrere Aspekte, um ein ganzheitlich wirksames Ergebnis zu erreichen.

21 Kapitel 3. State of the Art 9 Kapitel 3 State of the Art Dieses Kapitel stellt die gegenwärtig führenden Programme und Modelle vor, die sich mit dem Thema der Partitionierung beschäftigen. Zuerst werden zwei statische Lösungen, die nicht zur Laufzeit ausführbar sind, beschrieben. Sie müssen manuell vom Datenbankadministrator gestartet werden und berechnen eine Konfiguration, die für einen gegebenen Workload annähernd optimal ist. Sie beziehen nicht nur die Partitionierung als Optimierungsfaktor ein, sondern besitzen zudem die Möglichkeit Indizes und materialisierte Sichten für ein komplettes physisches Schema zu erstellen. Als nächstes sind zwei Modelle, die sich mit der Umverteilung der Daten befassen, erläutert. Towards Self Tuning ist bereits eine Lösung für die Optimierung zur Laufzeit der Datenbank. Am Ende dieses Kapitels ist eine bereits ausgereifte Lösung des Self-Tunings der Datenbank während der Betriebsphase beschrieben. Das Programm QUIET überprüft die Effektivität von Indexen und kreiert bei Bedarf selbstständig neue Indizes. 3.1 DB2 Design Advisor Der DB2 Design Advisor von IBM verfügt über ein großes Spektrum an Anwendungsfeldern. Er besitzt die Fähigkeit für einen gegebenen Workload ein Datenbankdesign zu erstellen, das Indexe, Materialisierte Sichten, Partitionierung und Multi-Dimensionales Clustering von Tabellen unterstützt [DJS + 04]. Das Tool berücksichtigt die komplexen Abhängigkeiten zwischen den genannten Features und ist daher ein wichtiges Werkzeug für die Performancesteigerung. Für diese Arbeit ist der Bereich der Partitionierung von besonderer Relevanz. Dieses Feature war zuvor ein eigenständiges Tool (DB2 Partition Advisor [JZM02]). Es wurde mit in den Design Advisor integriert. Es benutzt als Verteilungsmethode die Hash - Partitionierung (siehe Kapitel 2). Das Ziel ist für eine gegebene Menge von SQL - Statements die Ausführungskosten zu minimieren. Der schematische Aufbau sieht wie folgt aus: Es sind zwei Änderungen an der Datenbank zu erkennen. Recommend Partition veranlasst die Datenbank für jedes SQL - Statement eine Liste von möglichen Partitionen zu generieren, die als Kandidaten für den Ausführungsplan der Abfrage dienen. Sobald

22 DB2 Design Advisor Abbildung 3.1: Aufbau des Partition Advisors nach [JZM02] der Optimierer einen gültigen Plan ermittelt hat, werden die in ihm vorkommenden Partitionen aller Basistabellen in die CANDIDATE_PARTITIONS - Tabelle geschrieben. Evaluate Partition liest aus dieser Tabelle die Partitionen ein und versucht sie mit den physikalisch tatsächlich vorhandenen zu ersetzen. Danach optimiert die Datenbank die Abfrage so, dass sie die neuen Partitionen verwendet. Auf der Client Seite wird nach der Übermittlung des Workloads jedes Statement zur Datenbank (Recommend Partition) gesendet. Nachdem alle Partitionskandidaten in der Tabelle CANDIDATE_PARTITIONS gesammelt worden, generiert das Tool durch Kombination weitere Kandidaten, damit weitere günstige Varianten gefunden werden, die jedoch nicht durch eine einzelne Abfrage entstanden sind. Die Applikation kombiniert Partitionen von verschiedenen Tabellen und reicht diese an die Datenbank weiter (Evaluate Partition). Die Ausgabe enthält eine Partitionierung für jede Tabelle und deren Kosten für den gegebenen Workload. Zum weiteren Verständnis werden die Begriffe der Knoten und Knotengruppen eingeführt, die der Design Advisor verwendet. Ein Knoten ist ein Prozessor, der eine Abfrage ausführen kann. Um Parallelität zu gewährleisten, wird eine Abfrage aufgeteilt und zu verschiedenen Knoten gesendet, die die Query parallel beantworten. Die Partitionierung anhand einer Spalte wird über diese Knoten verteilt. Knotengruppen können vom Benutzer oder vom System definiert werden und beinhalten alle möglichen Untermengen von allen vorhandenen Knoten im System Recommend Partition In diesem Modus ist das Finden der optimalen Partitionierung einer Tabelle für jede gegebene Abfrage das Hauptziel. Da jede Untermenge von Spalten oder Datensätzen eine Partition bilden können, ist die Anzahl an möglichen Verteilungen enorm hoch. Jedoch re-

23 Kapitel 3. State of the Art 11 duzieren nicht alle Aufteilungen die Kosten der gegebenen Abfrage. Dies macht man sich zu nutze und generiert eine Liste von Kandidaten als Partitionen. Ein Kandidat wird die Partitionierung, bei der die Operationen in der Abfrage von dieser Verteilung profitieren können. Hinzu kommen solche Partitionen die über eine Spalte verteilt sind, deren Werte konstant sind. Da die Beantwortung eines Prädikates einer Abfrage nur Berechnungen auf einem einzelnen Knoten erfordert, kann sich der Kommunikationsaufwand erheblich vermindern. Hinzu kommt die Möglichkeit, kleinere Tabellen auf verschiedene Knoten zu replizieren. Das kann ebenfalls die Kommunikationskosten senken und die Performance erheblich steigern. Der Optimierer erarbeitet anschließend Ausführungspläne für jede (virtuelle) Kandidat-Partitionierung. Anschließend wird die Partition mit den geringsten Ausführungskosten zurückgegeben und in die CANDIDATE_PARTITION Tabelle geschrieben. Zwei Probleme entstehen jedoch. Falls in einer Query mehrmals die gleiche Tabelle abgefragt wird, können innerhalb des Ausführungsplanes unterschiedliche, entgegengesetzte Partitionierungen verwendet werden. Ein solcher Vorgang ist natürlich ungültig. Da aber die Überprüfung erheblichen Rechenaufwand erfordern würde, findet die Kontrolle der Pläne bei der späteren Evaluierung statt. Die zweite Schwierigkeit ergibt sich aus der enormen Anzahl möglicher Pläne für virtuelle Partitionen. Die Berechnungszeit wird dadurch stark erhöht und der Platzbedarf zur Speicherung der Pläne ist enorm. Aus diesem Grund muss das Tool eine Reduktion der Kandidaten vornehmen. Falls eine Tabelle zu einer Knotengruppe mit nur einem Element zugewiesen ist, hat der Partitionsschlüssel überhaupt keinen Einfluss auf das Ergebnis, da die Tabelle unpartitioniert vorliegt. Falls benutzerdefinierte Gruppen existieren, die exakt der voreingestellten default Knotengruppe entsprechen, werden alle Kandidaten für die default Gruppe ignoriert. Diese Aktion begründet sich aus den Erfahrungen des Datenbankherstellers. Es wurde oft beobachtet, dass Administratoren eine eigene Gruppe aus allen verfügbaren Knoten erstellen, die aber exakt der default Gruppe entspricht. Schließlich entfernt das Tool die Kandidaten, deren Tabellen sehr klein sind. Änderungen der Partitionierung haben nur einen geringen Effekt in der Antwortzeit einer Abfrage. Daher wird die originale Verteilung verwendet Evaluate Partition Das Tool markiert in der CANDIDATE_PARTITION - Tabelle genau eine Partitionierung für jede Tabelle. Diese wird in den Evaluate Modus eingegeben. Das DBMS benutzt sie, um die vorhandene Verteilung durch jene neue Verteilung zu ersetzen. Der Optimierer fährt unter der Annahme fort, dass die neue Partitionierung der Realen entspricht. Die Berechnungszeit ist gleich der realen Betriebszeit des Datenbanksystems Abschätzung der Kosten Zur Ermittlung der Kosten einer Abfrage benötigt das Tool statistische Informationen der Datenbank über die Kardinalität einer Tabelle und deren Spalten, Anzahl von Datenseiten, Indexe und Verteilungen der Daten. Die Applikation unterscheidet zwischen

24 DB2 Design Advisor Metadaten, die auf Tabellen - Level und jenen Informationen die auf dem jeweiligen Knoten - Level vorhanden sind. Daraus berechnet sich eine lineare Kombination aus I/O - Kosten, CPU - Geschwindigkeit, Kommunikationskosten und einen Überlappungswert dieser drei Komponenten. Um die Kosten für virtuelle Partitionen zu berechnen, müssen lediglich die Statistiken auf dem Knoten - Level geändert werden. Das System muss die vorhandenen Statistiken an die neue Verteilung anpassen. Dazu liest es die vorhandenen Informationen aus, setzt dabei aber eine gleichmäßige Verteilung (gegeben durch Hash - Partitionierung) voraus. Daraus lässt sich das Verhältnis zwischen der Anzahl der alten Knoten und der Anzahl der neuen Knoten berechnen, sowie die Skalierung der Statistiken. Auf dieser Grundlage schätzt das System die Kosten von Ausführungsplänen ab, wenn reale Partitionen mit Virtuellen getauscht werden Suchalgorithmus Die Kombination der Partitionierungen aus allen Tabellen bildet den Suchraum. Gegeben sind n Tabellen, jede mit p i (0<i<= n) Kandidatpartitionierungen. Es wird eine Konfiguration C = ( c 1, c 2,..., c n )definiert, wobei c i eine der Kandidatpartitionierungen von Tabelle i ist. Für eine Query q sind die Kosten Cost q (C) unter Konfiguration C definiert. Es soll in einem Workload Q C optimal gefunden werden, so dass qεq Cost q (C optimal ) = min qεq Cost q (C) über alle p 1 p 2... p n Möglichkeiten von C gilt. Die Schwierigkeit in der Berechnung liegt an der Fülle von Möglichkeiten. Um diese auf ein akzeptables Maß zu senken, ermittelt das Programm zuerst einen Profitwert für jeden Kandidat jeder Tabelle. Dieser entspricht der Differenz der Kosten aus dem regulären Modus und dem Recommend Modus. Danach wird über sämtliche Abfragen der Gesamtprofit für jede distinkte Kandidatpartitionierung berechnet. Der DB2 Partition Advisor kann daraus die Kosten ermitteln. Das genaue Verfahren ist unter [JZM02] nachzulesen Zusammenfassung Der Partition Advisor konnte eine Verbesserung von 4% im 100 GB TPCH Benchmark erreichen. Die Knoten wurden dabei auf einem einzelnen Computer simuliert. Es wurden keine tatsächlichen Daten verwendet, sondern nur Metadaten, die aus einem description-file einer realen Datenbank erstellt wurden. Bei der getesteten Kundendatenbank, die bereits zuvor von einem Administrator optimiert wurde, ließ sich dennoch eine Verbesserung von 22% feststellen. Beim Test wurden 66% der Abfragen schneller beantwortet und der Rest langsamer oder gleich schnell wie zuvor. Die weiter entwickelte Variante des Tools, der Design Advisor mit allen unterstützten Features, benötigte für die Optimierung einer 1GB TPCH Datenbank und ihren 22 Abfragen ca. 10 Minuten. Der Optimierer berechnete eine Verbesserung von 88.01% für das vorgeschlagene Design. Die tatsächliche Verbesserung von 84.54% liegt nur unwesentlich von der Abschätzung entfernt. Dies ist eine enorme Steigerung der Performance. Diese Berechnung findet allerdings nur statisch statt und muss in Ruhezeiten der Datenbank manuell gestartet werden.

25 Kapitel 3. State of the Art 13 Die Änderungen mit 20 Indexen, 6 multidimensional geclusterten Tabellen, 4 Umpartitionierungen und 2 materialisierten Sichten sind gravierend. Zur Laufzeit ist eine solche Änderung des physischen Schemas der Datenbank nur sehr schwer zu verwirklichen. Abbildung 3.2: Ergebnisse des DB2 Design Advisors 3.2 Microsoft Database Tuning Advisor Der Microsoft Database Tuning Advisor(DTA) ist im SQL Server 2005 implementiert. Er ermittelt für einen gegebenen Workload das Datenbankdesign mit den geringsten Kosten. Das Design beinhaltet die Auswahl von Indexen, materialisierten Sichten und horizontaler Partitionierung [SCK + 04]. Der Datenbankadministrator (DBA) verfügt über die Möglichkeit einzelne Features auszuschalten. Des Weiteren kann er angeben, dass bei der Partitionierung einer Tabelle ihre gesamten Komponenten (z.b. Indexe) identisch verteilt werden. Dies gewährleistet eine bessere Pflege und Archivierung der Daten. Der DBA kann zusätzliche Bedingungen über die Limitierung des Speichers und der zu berechnenden Zeit angeben. Ich beschränke mich wiederum auf den für diese Arbeit relevanten Teil, der Partitionierung [SNY04]. Das Tool besitzt folgenden Aufbau: Zu Beginn wird der Workload eingelesen. Durch die Beachtung der verschiedenen relevanten Designaspekte wird die Menge von potentiell optimierbaren Spaltengruppen enorm groß. Um diese Anzahl zu beschränken, beginnt das Tool mit der Column-Group Restriction. Das Modul filtert jene Mengen Spalten heraus, die nur geringen Einfluss auf ein optimales Design für dieses Workload besitzen. Daraus ergibt sich eine Liste von Kandidaten, die als Grundlage für das physikalische Design dienen. Der Candidate Selection Abschnitt ermittelt für jede Query mit Hilfe des Optimierers eine Menge von sehr guten Konfigurationen für die aktuelle Abfrage. Strukturen die in einer Konfiguration vorkommen, werden als Kandidat betrachtet. Das Tool verwendet einen Greedy Algorithmus, um die Rechendauer effektiver einzuschränken. Damit nicht nur Strukturen Verwendung finden, die für einzelne Abfragen gut sind, verbindet der Merging Schritt diese Grundkandidaten um weitere Elemente zu kreieren, die mehrere Abfragen gleichzeitig effizient

26 Microsoft Database Tuning Advisor Abbildung 3.3: Aufbau des Database Tuning Advisors nach [SCK + 04] beantworten können. Der finale Enumeration Abschnitt berechnet wiederum mit einem Greedy Verfahren die endgültige Lösung aus den zuvor ermittelten Kandidaten Column-Group Restriction & Selection Eine physikalische Designstruktur ist relevant für den Workload, falls es potentiell für die Beantwortung von einer oder mehrerer Abfragen Verwendung finden könnte. Basierend auf dieser Aussage, definieren die Autoren eine Metrik CG-Cost(g) für eine gegebene Spaltengruppe g, die festlegt, wie interessant diese Gruppe für den Workload ist. Dabei gilt, dass eine Gruppe interessant ist, wenn CG-Cost(g) >= f; (0<=f<=1). CG-Cost ist monoton, so dass gilt: g 1 g 2 CG-Cost(g 1 ) CG-Cost(g 2 ). Das bedeutet, wenn eine Column-Group häufig auftritt, kommen auch ihre Teilgruppen häufig vor. Dieses Merkmal fließt in die Berechnung ein, um nicht alle Teilmengen zu verarbeiten. In den Testläufen erwies sich, dass bereits ein Wert von 0,02 für f enorme Auswirkungen auf das Ergebnis hat. So hat selbst ein solch kleiner Wert eine erhebliche Reduzierung potentieller Gruppen zur Folge ohne die Qualität des Ergebnisses signifikant zu verschlechtern. Folgendes Beispiel verdeutlicht dieses Verfahren: Gegeben ist ein Workload mit 10 Queries, die die Tabelle T(A,B,C,D) referenzieren. Eine Zelle in der Tabelle 3.1 gibt an, ob die Abfrage die Spalte referenziert hat 1, oder nicht 0. Der Treshold f ist mit 0,2 definiert. Daraus ergeben sich folgende interessante Spaltengruppen: {A}, {B}, {C}, {A,B}, {A,C}, {B,C} und {A,B,C} mit CG-Cost von: 1.0, 0.3, 0.9, 0.3, 0.9, 0.2 und 0.2. Für Q3 müssen nur physische Designstrukturen auf den oben genannten 7 Spaltengruppen, aber nicht den 15 Gruppen betrachtet werden,

27 Kapitel 3. State of the Art 15 Spalten Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 A B C D Tabelle 3.1: Beispiel der Kostenmetrik aus [SCK + 04] die für Q3 syntaktisch relevant sind, da {D} und die ganzen 15 Column-Groups, die D enthalten, nicht interessant sind Merging Der nächste Schritt ist das Verbinden von Kandidaten. Aufgrund dessen, das die Kandidaten nur optimale Lösungen für einzelne Abfragen bieten, können die jeweiligen Designstrukturen für eine Anfrage gute und für eine andere Query schlechte Ergebnisse liefern. Des Weiteren unterliegen die Werte in Abfragen gewissen Schwankungen. Um diese besser ausgleichen zu können und um ein Design zu erstellen, das für dan gesamten Workload gute Ergebnisse liefert, werden die jeweiligen Kandidaten verbunden. Der für diese Arbeit relevante Teil ist das Range-Partition-Merging. Im Gegensatz zum Verbinden von Indizes, muss bei einer horizontalen Partitionierung die assoziierte Partitionierungsmethode mit verbunden werden. Eine Methode R ist definiert durch ein Tupel (c,v), wobei c dem Spaltentyp und V der geordneten Sequenz von Werten entspricht, z.b.: R=(date,< , >). Gegeben ist ein Paar von Bereichspartitionierungsmethoden P 1 = (S,V 1 ), P 2 = (S, V 2 ). Die beste Methode P 12 = (S, V 12 ) für das verbundene Objekt (Tabelle,Index,View) ist zu finden. Ein einfacher Ansatz dafür ist, alle möglichen Partitionierungsmethoden P 12 zu generieren, die aus jeglichen Teilmengen der Werte in V 1 V2 gebildet werden können. Die Methode mit den minimalsten Kosten, die alle Abfragen beantwortet, ist das Ziel. Um dies zu erreichen, sind die Kosten Cost- Range für das Durchlaufen einer (virtuellen) Partition, wie folgt definiert: 1. Die Kosten die für das Durchlaufen der Teilmenge einer Partition anfallen, die für die Beantwortung der Query Q benötigt werden. 2. Die fixen Kosten des I/O - Overheads für das Öffnen und Schließen eines B+ - Baumes für diese Partition. Es wird somit das V 12 gesucht, das die Summe der Kosten über die verbundenen Abfragen minimiert. Diese Funktion ist ein Greedy Algorithmus, der bei einer simplen Verbindung der Sequenzen von V 1 und V 2 startet und bei jeder Iteration das nächste Paar von adjazenten Intervallen, die am meisten die Kosten reduzieren, verbindet. Der Algorithmus stoppt, falls Cost-Range nicht weiter minimiert werden kann. Es gibt keine Garantie für ein optimales Ergebnis.

28 Automatisiertes Layout der Datenbank nach Agrawal et al Zusammenfassung Der Microsoft Database Tuning Advisor ist auf einer 10 GB TPCH Datenbank angewandt worden. Der Workload bestand aus 22 Queries. Das Tool ermittelte bei einer Berechnungszeit von 35 Minuten eine prognostizierte Verbesserung der Performance von 88%. Nach der Implementation des vorgeschlagenen Designs erwies sich eine tatsächliche Steigerung von 83%. Die Berechnungsdauer, sowie der tatsächliche Nutzen des neuen physischen Datenbankdesigns, ist in etwa vergleichbar mit dem Pendant von IBM. Beide Programme sind für Veränderungen während der Laufzeit jedoch nicht geeignet. 3.3 Automatisiertes Layout der Datenbank nach Agrawal et al. Dieses Modell beschreibt die Problematik der Auswahl einer günstigen physischen Verteilung von Datenbankobjekten, wie z.b. Tabellen, Indexe oder materialisierten Sichten auf Festplatten [SNCD03]. Da viele Datenbanken eine Maximierung der I/O Parallelisierung anstreben, werden alle Objekte über alle Platten verteilt. Dies kann aber zu einer Verschlechterung der Geschwindigkeit führen, wenn z.b. ein Join über zwei große Tabellen durchgeführt wird. Das kann zu vielen zufälligen I/O - Zugriffen auf jeder Festplatte führen. Das Modell berücksichtigt solche co-allokierten Objekte und versucht ein Layout zu ermitteln, das I/O Parallelismus erhält, sowie die Unkosten des Random I/O Zugriffs durch gleichzeitig abgefragte Objekte zu minimieren. Um ein solches Layout bewerten zu können, erstellen die Autoren ein Kostenmodell. Mit dessen Hilfe kann die Auswahl des besten Designs als Optimierungsproblem beschrieben werden Database Layout Eine Datenbank besteht aus einer Menge von Tabellen und den dazugehörigen Designstrukturen. Die Objekte, die dieses Modell betrachtet sind Relationen, Indexe und materialisierte Sichten. Die Menge von n Objekten in der Datenbank ist mit {R 1,.., R n } definiert. Sie sind auf einer Menge von m Festplatten zu verteilen {D 1,.., D m }. Eine solche Festplatte kann wiederum eine Anzahl von Elementen besitzen, z.b. als RAID - System. Die Festplatte D j besitzt folgende Eigenschaften: Kapazität C j Mittlere Suchzeit S j Mittlere Lesetransferrate T R j Mittlere Schreibtransferrate T W j

29 Kapitel 3. State of the Art 17 Zur Verfügung stehende Eigenschaft AV AIL j - None, Parity, Mirroring Beispiel: RAID0 oder Stand alone Platte hat Eigenschaft None, Raid5 entspricht Parity und Raid1 Mirroring. Definition 1: Ein Datenbanklayout ist eine Zuweisung jedes Objektes der DB zu einer Menge von Platten mit der Spezifikation ihrer Verteilung. Definition 2: Ein Layout ist gültig, wenn a) für jede Festplatte die Kapazität im Layout nicht überschritten wird und b) jedes Objekt vollständig zugewiesen ist. Die Autoren beschreiben daher das Layout als eine zweidimensionale Matrix mit den Spalten als Festplatten und den Reihen als Datenbankobjekten. Der Wert einer Zelle x ij in der Matrix ist der Anteil der Verteilung eines Objektes auf der Platte D j bezüglich der Gesamtzahl der physikalischen Blöcke von R i. Mit den zuvor getroffen Definitionen sind folgende Regeln ableitbar: i [1..n], j [1..m]x ij 0 i [1..n] m i=1 x ij = 1 j [1..m] n j=1 R i x ij C j n -Anzahl Objekte; m - Anzahl Festplatten Die ersten beiden Regeln garantieren, dass jedes Objekt vollständig zugewiesen wird. Die dritte Regel garantiert, dass keine Kapazitäten überschritten werden. Folgendes Beispiel illustriert das Modell: Objekte Festplatte 1 Festplatte 2 Festplatte 3 Tabelle Tabelle Mat. Sicht 1 1 0s 0 Tabelle 3.2: Beispiel zum Datenbankmodell Ersichtlich ist, dass die Summe jeder Zeile 1 ergibt. Somit wurden alle Daten der Objekte vollständig verteilt. Nicht nachprüfbar ist die Kapazitätsbedingung, da hierfür zusätzlich die Größe der Objekte bzw. die Kapazitäten der Platten zu definieren wären Problem Formulierung Die I/O - Antwortzeit ist anhand eines gegebene Statements Q und eines Layouts L als gesamt verbrauchte Zeit für die Ausführung dieser Abfrage definiert Cost(Q,L). So formulieren Agrawal et al. das Problem wie folgt: Gegeben: Eine Menge von Datenbankobjekten {R 1,.., R n }, ein Workload W und eine Menge von Festplatten {D 1,.., D m } Finde: Ein gültiges Datenbanklayout mit den kleinsten totalen I/O Antwortzeiten für dieses Workload; Formal: Finde gültiges Layout L, so dass für jedes gültige Layout L gilt:

30 Automatisiertes Layout der Datenbank nach Agrawal et al. Q W W Q Cost(Q, L) Q W W Q Cost(Q,L ) Um bessere Wartbarkeit zu gewährleisten, weisen Datenbankadministratoren häufig frequentierte Tabellen zur gleichen Filegroup (in Oracle und DB2: Tablespaces) zu. Diese zusammen positionierten Objekte (R i, R k ) müssen ein gültiges Layout auf die gleiche Menge an Festplatten verteilen. Daher wird folgende Bedingung hinzugefügt: j [1...m](x ij = 0 x kj = 0) Das Modell lässt sich dahingehend erweitern, dass der DBA eine Verfügbarkeitsbedingung mit einem Objekt koppeln kann. Da bereits die Festplatten über diese Eigenschaften verfügen (AV AIL j ), muss lediglich folgende Bedingung zum Layout hinzugefügt werden: Avail-Requirement(R i ): j [1...m](x ij > 0 AV AIL j = A) Aufbau der Lösung Abbildung 3.4: Aufbau der Lösung nach [SNCD03] Als Eingabe dient eine Datenbank mit ihren Objekten, ein Workload, ein Menge von Bedingungen des DBA s und Festplatteninformationen. Die Ausgabe ist der Vorschlag eines Datenbanklayout s, dass für diese Eingabe die geringste totale I/O Antwortzeit besitzt. Die Analyze Workload Komponente führt nicht die Abfragen aus, sondern lässt sich den Ausführungsplan vom Query Optimizer geben. Dieser fließt in die Suche mit ein, um das Optimierungsproblem zu lösen. Die Suchkomponente durchläuft den gesamten Raum von möglicher Layout s und ermittelt die mit den geringsten Kosten.

31 Kapitel 3. State of the Art Workload Informationen Zwei Hauptmerkmale lassen sich aus dem Workload extrahieren. Das erste Merkmal sind die Objekte, auf denen die DB zugreift und die Gesamtzahl für die Objekte gelesenen Blöcke. Die zweite Information beschreibt die Menge der Objekte auf denen gleichzeitig zugegriffen wird und der Gesamtzahl von gelesenen Blöcken. Diese Daten sind als ungerichteter Graph mit gewichteten Kanten repräsentiert, der als Zugriffsgraph G bezeichnet ist. Jeder Knoten u bildet ein Objekt ab. Ein Knoten hat das Gewicht N u, welches der totalen Anzahl von Blöcken entspricht, die während der Ausführung aller Abfragen referenziert wurden. Eine Kante existiert, wenn zwei Objekte u,v gleichzeitig während einer oder mehrerer Queries abgefragt werden. Das Gewicht dieser Kante N u,v ist die Summe der gleichzeitig gelesen Blöcke über alle Abfragen des Workload s. Das Vorhandensein von mehreren Objekten in einem Ausführungsplan impliziert nicht deren gleichzeitiges Abfragen. Es existieren so genannte Blocking Operators, die veranlassen, dass der Zugriff auf einem Objekt nicht beginnt bevor ein anderes Objekt vollständig gelesen wurde. Aus diesem Grund erstellt die Suchkomponente Sub-Pläne, die nur nicht blockende Operatoren beinhalten. An jedem Block Operator beginnt ein Cut. Beispiel: Der Workload umfasst 2 Abfragen mit den Ausführungsplänen, die im Bild 3.5 dargestellt sind. Abbildung 3.5: Beispiel Queries aus [SNCD03] Die Zahlen neben den Relationen geben die gelesenen Blöcke an. Dies entspricht dem Knotengewicht im Zugriffsgraph. Die Kanten im Graph lassen sich aus den Joins berechnen. Beispielsweise ist die Summe der Kante zwischen R 2 und R 3 gleich 1300 (= 700 aus Q aus Q2). Algorithmus zur Konstruktion des Graphen Eingabe: Workload W Ausgabe: Zugriffsgraph G für W 1. Initialisiere G, um einen Knoten für jedes Objekt in der Datenbank zu haben und setze das Gewicht auf Für jede Abfrage Q W ermittle Ausführungsplan P Q. 3. Für jedes Objekt R, auf das in P Q zugegriffen wird, erhöhe das Gewicht des entsprechenden Knotens in G um die Gesamtzahl von Blöcken auf die in P Q zugegriffen wird.

32 Automatisiertes Layout der Datenbank nach Agrawal et al. Abbildung 3.6: Beispiel des Zugriffsgraphen aus [SNCD03] 4. Für jeden nicht-blockenden Sub-Plan S in P Q 5. Kreiere eine Kante, falls keine existiert, in G zwischen jedem Paar von distinkten Objekten auf denen in S zugegriffen wird. Erhöhe das Gewicht der Kante um die Summe der Gesamtzahl der Blöcke von den beiden Objekten, die die Kante definieren Suchstrategie Die Suche nach dem besten Layout, basierend auf diesem Kostenmodell, ist extrem berechnungsintensiv. Aus diesem Grund verwenden die Autoren einen Greedy Algorithmus, um eine vertretbare Geschwindigkeit zu erhalten. Der erste Schritt ermittelt ein initiales, gültiges Datenbanklayout, das versucht, die Kosten für gleichzeitig verwendete Objekte zu minimieren. Der nächste Schritt verbessert diese Lösung durch Hinzufügen von I/O - Parallelismus von Objekten. Der erste Schritt ist daher exakt das Problem der Verteilung der Knoten des Graphes in einer gegebenen Anzahl von Partitionen (p), so dass die Summe aller Gewichte der Kanten, die entlang den Partitionen laufen, maximiert ist. Jede Partition besitzt Knoten die selten oder nie gleichzeitig verwendet werden. In diesem Fall entspricht p der Anzahl der Festplatten m. Im zweiten Schritt wird versucht, in jeder Iteration die Parallelität jedes Objektes zu erhöhen, indem bis zu k zusätzliche Festplatten hinzuzufügen sind, auf denen das Objekt momentan sich noch nicht befindet. k beschreibt daher, wie intensiv dieser Schritt sich berechnet. Der Algorithmus endet, wenn das Programm kein Layout mit geringeren Kosten findet. Die Laufzeit des Algorithmus beträgt O(m k+1 n 2 + n 2 + log(n)) Ergebnisse Das Modell wurde im Microsoft SQL Server 2000 implementiert. Der Unterschied zwischen den langsamsten und schnellsten Festplatten des Testsystems betrug 30%. Der 1 GB TPC-H Benchmark verbesserte sich gegenüber dem Full Striping Layout (alle Objekte auf allen Platten für totale Parallelisierung) um 20%. Mit dem Workload von zwei Tabellen-Joins betrug die Performancesteigerung 25%. Es wurde daher nachgewiesen,

33 Kapitel 3. State of the Art 21 dass eine explizite Verteilung der Objekte auf den Platten eine Verbesserung der Performance zur Folge hat. Abbildung 3.7: Qualitätsvergleich Full Striping mit TS-Greedy aus [SNCD03] 3.4 Self-Tuning Data Placement nach Lee et al. Bisher wurden nur statische Programme und Modelle vorgestellt. Eine Lösung, die zur Laufzeit Umverteilungen der Daten vornimmt, stellen Lee et al. vor [LKO + 00]. Ihre index-basierte Methode zur Reorganisation eines parallelen Datenbanksystems während der Laufzeit ermöglicht eine schnelle und effiziente Migration der Daten. Das Datenbanksystem besteht aus einer Menge von Prozessoreinheiten(PE) mit ihrem eigenen Hauptund physikalischen Speicher. Die Idee besteht darin, eine Zwei-Schichten Indexstruktur eines B+ -artigen Baumes anzulegen, um die Performance für den Datenzugriff und die Migration zu verbessern. Die erste Schicht gibt den Ort(PE) der Daten eines Unterbaumes an. Die zweite Schicht dient als Primärindex in der PE selbst. Die obere Schicht ist auf jedem Knoten repliziert, um keinen Flaschenhals für PE s zu erhalten, die sich nur um die Verwaltung des Indexes kümmern. Die Entwickler geben 4 Hauptaspekte ihrer Strategie an: 1. Die Anzahl der zu migrierenden Daten wird aus den Ästen des Indexes der Quell- PE gewonnen. Dies ermöglicht das Abschneiden eines Zweiges aus dem Quellindex und das Anfügen an den Zielindex auf der Ziel-PE. Die Granularität der Daten kann dynamisch fein durch die Auswahl des Astes auf einem unterschiedlichem Level des Baumes gewählt werden. 2. Die Datenbank migriert die Daten per Bulkload in einen separaten Baum auf der Ziel-PE. Danach kann das DBMS mit nur einem Schritt den Teilbaum am Pri-

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

3 Windows als Storage-Zentrale

3 Windows als Storage-Zentrale 3 Windows als Storage-Zentrale Windows als zentrale Datenspeichereinheit punktet gegenüber anderen Lösungen vor allem bei der Integration in vorhandene Unternehmensnetze sowie bei der Administration. Dabei

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf: ISA Server 2004 Protokollierung - Von Marc Grote Die Informationen in diesem Artikel beziehen sich auf:? Microsoft ISA Server 2004 Im Artikel Übersicht Monitoring wurde eine Zusammenfassung aller Überwachungsfunktionen

Mehr

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista. Schritt für Schritt Anleitung zur Einrichtung Ihrer neuen Festplatte Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista. Schließen Sie Ihre Festplatte an Ihrem Computer an.

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

Outlook 2000 Thema - Archivierung

Outlook 2000 Thema - Archivierung interne Schulungsunterlagen Outlook 2000 Thema - Inhaltsverzeichnis 1. Allgemein... 3 2. Grundeinstellungen für die Auto in Outlook... 3 3. Auto für die Postfach-Ordner einstellen... 4 4. Manuelles Archivieren

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird. Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Excel 2013. Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F

Excel 2013. Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F Excel 2013 Peter Wies 1. Ausgabe, März 2013 Fortgeschrittene Techniken EX2013F 15 Excel 2013 - Fortgeschrittene Techniken 15 Spezielle Diagrammbearbeitung In diesem Kapitel erfahren Sie wie Sie die Wert-

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1 Universität Bern Kurt Schmidheiny / Manuel Wälti Doing Economics with the Computer Sommersemester 2002 Excel Solver 1 Mit dem Solver unterstützt Excel eine Funktion, mit der u.a. komplex verschachtelte

Mehr

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH Funktionsbeschreibung Lieferantenbewertung von IT Consulting Kauka GmbH Stand 16.02.2010 odul LBW Das Modul LBW... 3 1. Konfiguration... 4 1.1 ppm... 4 1.2 Zertifikate... 5 1.3 Reklamationsverhalten...

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung Avira Management Console 2.6.1 Optimierung für großes Netzwerk Kurzanleitung Inhaltsverzeichnis 1. Einleitung... 3 2. Aktivieren des Pull-Modus für den AMC Agent... 3 3. Ereignisse des AMC Agent festlegen...

Mehr

Oracle GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de

Oracle GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de Oracle GridControl Tuning Pack best Open Systems Day April 2010 Unterföhring Marco Kühn best Systeme GmbH marco.kuehn@best.de Agenda GridControl Overview Tuning Pack 4/26/10 Seite 2 Overview Grid Control

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

Datenaustausch mit Datenbanken

Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Die allerwichtigsten Raid Systeme

Die allerwichtigsten Raid Systeme Die allerwichtigsten Raid Systeme Michael Dienert 4. Mai 2009 Vorbemerkung Dieser Artikel gibt eine knappe Übersicht über die wichtigsten RAID Systeme. Inhaltsverzeichnis 1 Die Abkürzung RAID 2 1.1 Fehlerraten

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

Dokumentation: Balanced Scorecard

Dokumentation: Balanced Scorecard Dokumentation: Balanced Scorecard 1. Einleitung Eine Balanced Scorecard (BSC) ist eine kennzahlenbasierte Managementmethode, welche sowohl Visionen als auch Strategien eines Unternehmens und relevante

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Kurzeinführung Excel2App. Version 1.0.0

Kurzeinführung Excel2App. Version 1.0.0 Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig

Mehr

Microsoft Access 2013 Navigationsformular (Musterlösung)

Microsoft Access 2013 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2013 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2013) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, eric-hansen@gmx.de am: 07.09.

Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, eric-hansen@gmx.de am: 07.09. Abstract zum Thema Handelssysteme Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, eric-hansen@gmx.de am: 07.09.01 Einleitung: Handelssysteme

Mehr

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard 1 von 6 102013 18:09 SharePoint 2013 Veröffentlicht: 16.07.2012 Zusammenfassung: Hier erfahren Sie, wie Sie einen KPI (Key Performance Indicator) mithilfe des PerformancePoint Dashboard Designer in SharePoint

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

1. Einführung. 2. Archivierung alter Datensätze

1. Einführung. 2. Archivierung alter Datensätze 1. Einführung Mit wachsender Datenmenge und je nach Konfiguration, kann orgamax mit der Zeit langsamer werden. Es gibt aber diverse Möglichkeiten, die Software wieder so zu beschleunigen, als würden Sie

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Schritt für Schritt zur Krankenstandsstatistik

Schritt für Schritt zur Krankenstandsstatistik Schritt für Schritt zur Krankenstandsstatistik Eine Anleitung zur Nutzung der Excel-Tabellen zur Erhebung des Krankenstands. Entwickelt durch: Kooperationsprojekt Arbeitsschutz in der ambulanten Pflege

Mehr

1. Arbeiten mit dem Touchscreen

1. Arbeiten mit dem Touchscreen 1. Arbeiten mit dem Touchscreen 1.1. Einleitung Als weitere Buchungsart steht bei DirectCASH ein Touchscreen zur Verfügung. Dieser kann zwar normal via Maus bedient werden, vorzugsweise jedoch durch einen

Mehr

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Dateiname: ecdl_p2_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul 2 Tabellenkalkulation

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Archiv - Berechtigungen

Archiv - Berechtigungen Archiv - Berechtigungen - 1 Inhaltsverzeichnis 1. Grunddefinitionen...3 1.1. Mögliche Definitionen...3 1.1.1. Programme...3 1.1.2. Prinzipale...3 1.1.3 Archivzugriff...3 1.2. Leserichtung...3 1.2.1. Ordnerbezogen...3

Mehr

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

Datenübernahme easyjob 3.0 zu easyjob 4.0

Datenübernahme easyjob 3.0 zu easyjob 4.0 Datenübernahme easyjob 3.0 zu easyjob 4.0 Einführung...3 Systemanforderung easyjob 4.0...3 Vorgehensweise zur Umstellung zu easyjob 4.0...4 Installation easyjob 4.0 auf dem Server und Arbeitsstationen...4

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

NAS 251 Einführung in RAID

NAS 251 Einführung in RAID NAS 251 Einführung in RAID Ein Speicher-Volume mit RAID einrichten A S U S T O R - K o l l e g Kursziele Nach Abschluss dieses Kurses sollten Sie: 1. Ü ber ein grundlegendes Verständnis von RAID und seinen

Mehr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

Mehr

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 1 von 6 Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 ci solution GmbH 2010 Whitepaper Draft Anleitung Deutsch Verfasser: ci solution GmbH 2010 Manfred Büttner 16. September

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Dokumentation. estat Version 2.0

Dokumentation. estat Version 2.0 Dokumentation estat Version 2.0 Installation Die Datei estat.xla in beliebiges Verzeichnis speichern. Im Menü Extras AddIns... Durchsuchen die Datei estat.xla auswählen. Danach das Auswahlhäkchen beim

Mehr

Die Statistiken von SiMedia

Die Statistiken von SiMedia Die Statistiken von SiMedia Unsere Statistiken sind unter folgender Adresse erreichbar: http://stats.simedia.info Kategorie Titel Einfach Erweitert Übersicht Datum und Zeit Inhalt Besucher-Demographie

Mehr

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr