Performanceoptimierung der Datenanalyse in Netzwerkgraphen durch Verwendung von User Defined Functions in einem Datenbankmanagementsystem

Größe: px
Ab Seite anzeigen:

Download "Performanceoptimierung der Datenanalyse in Netzwerkgraphen durch Verwendung von User Defined Functions in einem Datenbankmanagementsystem"

Transkript

1 Performanceoptimierung der Datenanalyse in Netzwerkgraphen durch Verwendung von User Defined Functions in einem Datenbankmanagementsystem Diplomarbeit im Fachgebiet Informatik vorgelegt von: Andreas Redmer Studienbereich: Datenbanken und Informationssysteme Matrikelnummer: Erstgutachter: Prof. Clemens Cap Zweitgutachter: Dr. Holger Meyer Betreuer: Dr. Thomas Mundt

2 Zusammenfassung In Link-State Rechnernetzen ist es üblich, dass jeder Knoten die Topologie des gesamten Netzwerkes kennt und auf dessen Basis die Routing-Entscheidungen treffen kann. Um die Performance und Qualität des Netzwerks zu erhöhen ist meist eine Datenanalyse notwendig. Dabei werden beispielsweise Knoten und Verbindungen gefunden, die eine hohe Wichtigkeit für das gesamte Netzwerk haben. Durch die regelmäßige Aufzeichnung der Topologieinformationen an einer Stelle im Netzwerk kann ein Datenbestand geschaffen werden, der bei geeigneter Analyse Rückschlüsse auf Schwachstellen im Netzwerk geben kann. Aufgrund der großen Menge an Daten kann die Datenanalyse sehr viel Zeit in Anspruch nehmen, was die Nützlichkeit ihrer Ergebnisse in Frage stellen kann. Deshalb wurde in einer Publikation von Mundt und Vetterick [22] im Juli 2011 die Rechenleistung mittels Cloud Computing verstärkt und der Zeitaufwand somit verringert. Leider hatte diese Methode auch Nachteile, wie beispielsweise den teuren Upload der großen Datenmengen in die Cloud. In dieser Arbeit wurde für den selben Datenbestand die Performance erhöht, indem User Defined Functions (UDF) in einem Datenbankmanagementsystem eingesetzt wurden. Die Daten werden direkt auf dem Datenbankserver analysiert und die Ergebnisse mit SQL abgefragt. Gleichzeitig wurde die bestehende Implementierung untersucht und ihre Komplexität verringert. Im Ergebnis konnte die Analyse nicht nur schneller, sondern auch komfortabler für den Anwender durchgeführt werden. Viele Arten der Datenanalyse der Netzwerktopologiedaten können nun mit SQL ohne zusätzliche Programme durchgeführt werden. Am Ende der Arbeit werden mehrere Beispiele für Datenanfragen aufgeführt, die den Einsatz der neuen Funktionen zeigen und Hinweise zur Laufzeit geben. Andreas Redmer 29. September 2011

3 Abstract In link-state computer networks it is usual that every node knows the topology of the entire network and can make the routing decisions based on that. To enhance the performance and quality of the network a data analysis is needed mostly. For instance nodes and connections with a high importance for the network can be found by doing that. By capturing and recording the topology information periodically a database can be created, which can be used to draw conclusions on weaknesses in the network after adequate data analysis. Due to the huge amount of data, the data analysis can take a lot of time, which can be questioning the utility of the results. Because of that Mundt and Vetterick presented a paper ([22]) in July 2011, which introduced a possibility to increase the processing power and reduce the processing time by cloud computing. Unfortunately this method had some disadvantages like the expensive upload of the data into the cloud. In this diploma thesis the performance has been increased by using user defined functions (UDF) in a database management system on the same data source. So the data is directly analyzed on the database server and the results are queryable by SQL. Additionally the existing implementation was analyzed and the time complexity was reduced. As a result, the analysis is not only faster but also more comfortable. Different kinds of data analysis of netzwork topology data can now be accomplished with SQL and without additional programs. At the end of diploma this thesis several examples of queries are introduced, to show the range of application and to indicate the runtime. Andreas Redmer 29. September 2011

4 Inhaltsverzeichnis Inhaltsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis Verzeichnis der Listings III IV V 1. Einleitung Aufbau der Arbeit Beschreibung des Mesh-Netzwerks als Graph Qualität der zu analysierenden Daten Ziel der Arbeit Vorausgesetzte Hard- und Software Stand der Technik Routing-Algorithmen Metriken Betrachtung der bestehenden Implementierung als Cloud-Service Algorithmische Komplexität Vor- und Nachteile der Cloudlösung Vorbetrachtungen einer hochperformanten Lösung Wahl des DBMS und der Programmiersprache Wahl des Datenbankmodells Wahl des DBMS Wahl der Programmiersprache Schnittstellendefinition Möglichkeiten der Performancemessung Optimierungen in der Implementierung Algorithmische Optimierungen Optimierung des Dijkstra-Algorithmus Optimierung des Graphen Die General-Gateway-Strategie Nutzung stabiler Teilergebnisse bei ähnlichen Graphen. 46 Andreas Redmer 29. September 2011 I

5 Inhaltsverzeichnis 4.2. Performanceoptimierter Programmierstil Quellcodedesign Zusammenhang zur algorithmischen Komplexität Design Pattern Implementierung von unendlich Adjazenzmatrix statt Adjazenzliste Parallelisierung Multithreaded Dijkstra Dijkstra auf der GPU Zusammenfassung und Ergebnisse Testläufe - Beispiele für Datenabfragen Alle Routen zu allen Zeitpunkten Routenänderungen zwischen zwei Zeitpunkten Routenänderungen bei Ausfall eines Knotens Routenänderungen bei Ausfall zweier Knoten Knoten die häufig auf Routen liegen Wichtige Knoten und Kanten Routenänderungen bei Ausfall einer Kante Suche nach Flaschenhälsen Zusammenfassung und Ausblick Zusammenfassung Ausblick Literaturverzeichnis 94 A. Anhang: SQL Anfragen i A.1. Anzahl neuer Datensätze pro Minute i A.2. Prüfung der Vollständigkeit der Daten ii A.3. Prüfung der Korrektheit der Daten iv A.4. Maximale Knotenanzahl auf kürzesten Pfaden v A.5. Floyd-Warshall-Berechnung in SQL vii A.6. Floyd-Warshall-Berechnung mit PL/Python viii A.7. Test der General-Gateway-Strategie ix A.8. Implementierung der Algebra aus Abschnitt x B. Anhang: Suche nach einer Partitionierung xi Andreas Redmer 29. September 2011 II

6 Abbildungsverzeichnis Abbildungsverzeichnis 3.1. Objektorientierte Speicherung der Daten (UML-Klassendiagramm) Integration einer Java UDF in PostgreSQL Ablauf der shortestpaths Funktion Interface für shortestpaths PL/Java (UML-Klassendiagramm) Ein beispielhafter unmodifizierter Graph Ein Netzwerkgraph mit generalisiertem Gateway Venn-Diagramm für zwei Dijkstra-Ergebnismengen Schematische Darstellung - eine vollständige Speicherung alle 10 Minuten Schematische Darstellung - eine vollständige Speicherung pro Minute im Wochentag Balkendiagramm der Ausführungszeit der UDF shortestpaths Reihenfolge der durchgeführten Optimierungen ER-Modell der verwendeten Datenbank Graph der Kanten aus Tabelle Graph aller Kanten aus Tabelle A.1. Ein kartesisches Einheitsgitter vi B.1. Beispielgraph: Alle kürzesten Wege in die Menge der Backbones xii B.2. Beispielgraph: Alle kürzesten Wege zu den Gateways ohne Beachtung der Partitionen xiii B.3. Beispielgraph: Alle kürzesten Wege zu den Gateways unter Beachtung der Partitionen xiv B.4. Optimale Partitionen am um 14 Uhr xvi Andreas Redmer 29. September 2011 III

7 Tabellenverzeichnis Tabellenverzeichnis 1.1. Format der aufgezeichneten Daten Allgemeine Übersicht über die betrachteten Daten Constraints für Vollständigkeit Constraints für Exaktheit Zusammenfassung der Problemklassen Spezifikation der Testsysteme Laufzeiten des Floyd-Warshall-Algorithmus Ausführungszeiten bei gleichzeitiger Ausführung mehrerer Dijkstra Ausführungszeiten und Verbesserungen der Optimierungen Erste Ergebnisse der SQL-Abfrage in Listing Die Ergebnisse der SQL-Abfrage in Listing Die Ergebnisse der SQL-Abfrage in Listing Die Ergebnisse der SQL-Abfragen in Listing Das Ergebnis der SQL-Abfrage in Listing Das Ergebnis der SQL-Abfrage in Listing Andreas Redmer 29. September 2011 IV

8 Verzeichnis der Listings Verzeichnis der Listings 2.1. Pseudocode des Algorithmus aus [22] Dijkstra-Algorithmus in Pseudocode Komplexität des Dijkstra-Algorithmus init-funktion des Dijkstra-Algorithmus update-funktion des Dijkstra-Algorithmus Typendefinitionen in PostreSQL JDBC-Verbindung zu einem MySQL-Server in Java JDBC-Verbindung zu einem PostgreSQL-Server in Java Floyd-Warshall-Algorithmus in Pseudocode Zeitmessung für ein Java-Programm Dijkstra-Algorithmus in Pseudocode mit Möglichkeiten zur Parallelisierung Zwei Anfragen die getrennt gesendet werden können shortestpaths Singlethread Pseudocode shortestpaths Doublethread Pseudocode Ablauf des CUDA-Programmes in Pseudocode Abfrage aller Routen Abfrage aller Routenänderungen an einem Tag Abfrage der Routenänderungen beim Ausfall eines Knotens Abfrage der Routenänderungen beim Ausfall zweier Knoten Abfrage wie oft ein Knoten auf einer Route liegt Abfragen für Wichtigkeit von Knoten und Kanten Abfrage nach Routenänderungen durch Wegfall einer Kante Abfrage der Kanten die häufig auf der Route eines Knotens liegen 87 A.1. Abfrage der Anzahl neuer Datensätze pro Minute i A.2. Abfrage der Vollständigkeit der Daten ii A.3. Abfrage der Lücken in der Datenaufzeichnung iii A.4. Abfrage der Exaktheit der Daten iv A.5. Abfrage der Durchschnittlichen und maximalen Pfadlänge der kürzesten Pfade v Andreas Redmer 29. September 2011 V

9 Verzeichnis der Listings A.6. Floyd-Warshall Berechnung in SQL vii A.7. Floyd-Warshall Berechnung mit PL/Python viii A.8. Anzahl Unterschiede zwischen herkömmlicher und General Gateway Strategie ix A.9. Die Algebra aus Abschnitt in PL/pgSQL x Andreas Redmer 29. September 2011 VI

10 1. Einleitung 1. Einleitung Das Rostocker Opennet [24] ist ein komplexes Wifi-Mesh-Netzwerk mit zur Zeit etwa 200 Knoten und mehreren Gateways ins Internet. Die Mitglieder des Opennet e.v. verwenden WLAN-Technik um sich von Dach zu Dach zu vernetzen. Die Topologieinformationen des Netzwerks sind in allen Knoten vorhanden. An einer zentralen Stelle im Netzwerk werden die Topology Control Nachrichten einmal pro Minute aufgezeichnet. Diese Aufzeichnungen sind für die Funktion des Netzwerkes nicht notwendig, sondern nur für nachträgliche Analysen. Anhand dieser Daten lassen sich die Routen, die zu einem bestimmten Zeitpunkt gültig waren, berechnen. Diese wiederum können für verschiedene Arten der Netzwerkanalyse genutzt werden. Derzeit dauert die Berechnung der Routen für einen Zeitpunkt ca. vier Sekunden. Bei der Analyse von mehreren Wochen oder Monaten aufgezeichneter Daten wird der Zeitaufwand sehr hoch. Deshalb wurde in einer Publikation von Mundt und Vetterick [22] die Rechenleistung mittels Cloud Computing verstärkt und der Zeitaufwand somit verringert. Dieser Ansatz hat jedoch auch einige Nachteile. Im Rahmen dieser Arbeit soll versucht werden die Performance zu erhöhen indem User Defined Functions (UDF) in einem Datenbankmanagementsystem (DBMS) eingesetzt werden. Die Routen sollen direkt auf dem Datenbankserver berechnet und später mittels SQL direkt abgefragt werden. Weiterhin werden im Rahmen dieser Arbeit die vorhandenen Quelltexte untersucht und eventuelle Schwachstellen in der Performance beseitigt Aufbau der Arbeit Im ersten Kapitel dieser Arbeit werden die graphentheoretischen Grundlagen für das Mesh-Netzwerk erklärt. Diese sind notwendig um zu verstehen wie die Datenanalyse funktioniert. Weiterhin wird die Herkunft, der Aufbau und die Qualität der zu analysierenden Daten beschrieben. Ebenfalls wird das Ziel der Arbeit genau beschrieben und die zu lösenden Probleme (und Problemklassen) erklärt. Im Kapitel 2 werden bestehende Routingalgorithmen und dazu gehörige Metriken beschrieben. Weiterhin wird die bestehende Implementierung für die Andreas Redmer 29. September

11 1. Einleitung Datenanalyse in der Cloud genauer betrachtet. Dabei wird eine Komplexitätsbetrachtung durchgeführt. Anschließend werden die Vor- und Nachteile der bestehenden Lösung erörtert. Im Kapitel 3 wird das, im Rahmen dieser Arbeit erstellte, Konzept zur Beschleunigung der Datenanalyse erklärt. Dabei werden auch viele Alternativen erwähnt und es wird erklärt warum genau der gewählte Lösungsweg eingeschlagen wurde. Insbesondere befindet sich in diesem Kapitel auch die Definition der Schnittstelle, die vor der Implementierung spezifiziert wurde. Diese kann als Dokumentation für die Nutzung der erstellen UDF verwendet werden. Weiterhin werden einige Konzepte zur Zeitmessung erklärt, um verständlich zu machen, wie die Erhöhung der Performance überhaupt gemessen werden kann. Das entstandene Konzept lässt sich auf verschiedene Arten implementieren. Im Kapitel 4 wird erklärt, wie die Implementierung angefertigt wurde um die Performance zu erhöhen und dabei die Usability möglichst nicht zu verringern. In diesem Kapitel wird das Wort Optimierung als Synonym für Verbesserung der Performance oder Verringerung der Laufzeit verwendet werden. Es werden sehr verschiedene Arten der Optimierung aufgeführt. Die letzten beiden Kapitel beschreiben beispielhaft die Verwendung der entwickelten UDF und vermitteln eine Vorstellung über die zukünftigen Einsatzmöglichkeiten. Dabei werden auch erste interessante Ergebnisse kleinerer Datenanalysen präsentiert. Abschließend wird beschrieben, welche Vor- und Nachteile sich aus dieser Arbeit ergeben, welche Verbesserungen geschafft wurden und welche weiteren Anwendungen darauf basierend möglich sind Beschreibung des Mesh-Netzwerks als Graph Im Rahmen dieser Arbeit wird das Mesh-Netzwerk als mathematischer Graph betrachtet. Ein Graph (G) besteht aus einer Menge von Knoten (V ) und einer Menge von Kanten (E). Die Kanten sind in dieser Arbeit gerichtete Kanten und somit mathematische Tupel der Form (a, b) E : a V b V. Für die bessere Lesbarkeit sollen im Rahmen dieser Arbeit für die Anzahl der Kanten und Knoten folgende Substitutionen gelten: V = n E = m Andreas Redmer 29. September

12 1. Einleitung In diesem Fall sind die Netzwerkknoten die Knoten des Graphs. Die direkten WLAN-Verbindungen zwischen ihnen sind die Kanten. Für das Routing müssen die Kanten gewichtet sein. Für das Gewicht der Kanten wird eine Metrik verwendet, welche die Qualität der Verbindung beschreibt. Dabei ist zu beachten, dass ein Qualitätsmaß aus mathematischer Sicht eine Ähnlichkeitsfunktion ist, bei der ein hoher Wert für gute Qualität und ein niedriger Wert für schlechte Qualität steht. Die in dieser Arbeit betrachteten Daten haben als höchsten Wert für die Qualität 1 und als niedrigsten Wert 0. Dabei bedeutet 0, dass praktisch keine Verbindung vorhanden ist. Da beim Routing die kürzesten Wege gesucht werden, muss diese Funktion in eine Abstandsfunktion (Metrik) abgeändert werden. Wenn f(x) die Ähnlichkeitsfunktion ist, dann wären 1 f(x) oder 1 f(x) mögliche Abstandsfunktionen. Dadurch ist sichergestellt, dass die Verbindungen mit der höchsten Qualität als kleine Kanten dargestellt werden. Die Berechnung des kürzesten Weges in dem Graphen ist somit gleich der Ermittlung der besten Route Qualität der zu analysierenden Daten Wie bei Link-State-Verfahren üblich sind die Topologieinformationen über das Netzwerk in allen Knoten vorhanden. An einer zentralen Stelle im Netzwerk werden die von OLSR 1 definierten und regelmäßig von allen Knoten versendeten TC (Topology Control) Nachrichten einmal pro Minute aufgezeichnet. Die Tabelle 1.1 zeigt einige Beispieldatensätze aus der Aufzeichnung. Timestamp Node A Node B LQ NLQ :00: :00: :00: :00: :00: :00: :00: :00: :00: :00: Tabelle 1.1.: Format der aufgezeichneten Daten Jeder Datensatz besteht aus einem Timestamp, Knoten A, Knoten B, Link Quality und Neighbour Link Quality. Die Aufzeichnungen beginnen mit dem 1 Optimized Link State Routing [6] (das im Opennet eingesetzte Routingprotokoll) Andreas Redmer 29. September

13 1. Einleitung Timestamp :20:02 Uhr. Im Rahmen dieser Arbeit, werden nur Aufzeichnungen bis zum Timestamp :41:02 Uhr betrachtet um genaue Angaben über Umfang, Zeitaufwände und Geschwindigkeiten machen zu können. Pro Minute fallen durchschnittlich 852 neue Datensätze an 2. Jeder Datensatz repräsentiert eine Verbindung im Netzwerk. Jeder Timestamp besteht aus Datum und Uhrzeit (ohne Zeitzone), wobei die Systemzeit des aufzeichnenden Knotens verwendet wird. Knoten A und Knoten B enthalten die Bezeichner für die beiden Knoten der Verbindung. Bezeichnet werden die Knoten in Form ihrer IP-Adresse in dezimaler Schreibweise. Link Quality (LQ) ist ein Qualitätsmaß für die Verbindung von Knoten A nach Knoten B. Da dieses Qualitätsmaß asynchron ermittelt wird, gibt es noch die Neighbour Link Quality (NLQ), welche die Übertragungsqualität von Knoten B zu Knoten A repräsentiert. Die Qualitätswerte sind hier Fließkommawerte im Intervall [0, 1] mit einer Genauigkeit von vier Dezimalstellen. Dabei steht die 0 für keine Verbindung und die 1 für sehr gute Verbindung. Näheres zur Bestimmung dieses Qualitätsmaßes findet sich im Abschnitt 2.2. Die Qualität der Daten ist bezüglich der Vollständigkeit und Exaktheit jedoch unvollkommen, was für die weitere Auswertung beachtet werden muss. Um eine Vorstellung von den Daten zu bekommen, zeigt die Tabelle 1.2 eine allgemeine Übersicht über die betrachteten Daten. Erster Timestamp :20:02 Letzter Timestamp :41:02 Anzahl verschiedener Timestamps Anzahl verschiedener Knoten (IP Adressen) 260 Anzahl Datensätze Dateigröße als CSV Export (String) 15,3 GB Tabellengröße in PostgreSQL Tabelle 16,0 GB Tabelle 1.2.: Allgemeine Übersicht über die betrachteten Daten Vollständigkeit Bevor mit den Daten gearbeitet wird, soll deren Vollständigkeit geprüft werden. Unvollständigkeiten in den Daten könnten später zu falschen Ergebnissen führen, wenn sie nicht beachtet werden. Die Tabelle 1.3 listet einige beispielhafte Constraints auf, die theoretisch alle vollständig erfüllt sein sollten. Inwiefern 2 Durchschnittliche Anzahl der Datensätze pro Timestamp aus den letzten 3 Wochen der Aufzeichnung (vgl. Anhang A.1). Andreas Redmer 29. September

14 1. Einleitung sie tatsächlich erfüllt wurden, listet die Spalte erfüllt auf. Die dafür verwendeten SQL-Anfragen und deren Ergebnisse finden sich im Anhang A.2. Constraint Fälle korrekte Fälle erfüllt 44 Einträge < ,96% Timestamp Timestamps Stunde = ,71% Timestamps Tag = ,89% Timestamps Woche = ,43% Tabelle 1.3.: Constraints für Vollständigkeit Das Contraint in Zeile 1 in Tabelle 1.3 prüft ob die Anzahl der minütlich aufgezeichneten Daten in einem sinnvollen Rahmen liegt. Es ist sehr schwierig festzustellen, die Aufzeichnung zu einem Zeitpunkt abgebrochen ist oder tatsächlich nur sehr wenige Einträge enthält. Einfache statistische Mittel wie z. B. das Suchen von Ausreißern durch Rangbildung, führten nicht zum Erfolg. Es ist also eine komplexere Analyse notwendig. An dieser Stelle wurde letztlich empirisch ermittelt, dass alle Aufzeichnungen, die weniger als 44 Datensätze beinhalten definitiv falsch sind. Weiterhin wurde festgestellt, dass am zwischen 2 Uhr und 3 Uhr mehr als 1600 Datensätze pro Minute aufgezeichnet wurden, während es normalerweise nie mehr als 1000 Datensätze waren. Dies geschah aufgrund der Umstellung von Sommerzeit auf Winterzeit. In den weiteren Zeilen der Tabelle 1.3 wird die Vollständigkeit nach Stunden, Tagen und Wochen gruppiert 3. Es sind fast alle aufgezeichneten Stunden vollständig. Weiterhin sind ca. 95% der aufgezeichneten Tage vollständig aufgezeichnet. Jedoch sind nur 25 von insgesamt 35 aufgezeichneten Wochen vollständig. Unabhängig von unvollständig aufgezeichneten Zeitpunkten gibt es auch zwischen den Zeitpunkten einige Lücken in den Aufzeichnungen. Die SQL- Anfragen zur Ermittlung dieser Lücken finden sich ebenfalls im Anhang A.2. Es handelt sich als meist um kleine Aussetzer, bei denen nur für einige Minuten keine Aufzeichnungen gemacht wurden. Allerdings gibt es mit mehr als 108 Tagen auch eine sehr große Lücke in den Aufzeichnungen. So wurden vom bis zum keine Aufzeichnungen gemacht. 3 Unvollständige Tage/Wochen wie z. B. der/die erste und letzte aufgezeichnete Tag/Woche wurden nicht beachtet Andreas Redmer 29. September

15 1. Einleitung Exaktheit Die Tabelle 1.4 zeigt einige Constraints für die Exaktheit der aufgezeichneten Daten. Die erste Zeile definiert, dass keine Einträge der Form LQ = LQN = 0 vorhanden sind, da dies eine nicht vorhandene Kante wäre. Zeile 2 prüft ob alle Qualitätswerte unter 1 liegen. Die letzte Zeile zeigt, dass die Qualität asynchron zu verschiedenen Zeitpunkten und an verschiedenen Stellen im Netzwerk gemessen wird. Die Aufzeichnung der Daten im Netzwerk erfolgt minütlich, aber der Austausch der Topology Control Informationen zwischen den Knoten mit niedrigerer Frequenz. Somit trifft jeder Knoten die Routingentscheidungen immer auf Basis des Netzwerkes aus seiner aktuellen Sicht. Dabei kommt es insbesondere beim Ein- und Ausschalten von Knoten zu Ungenauigkeiten. Beispielsweise kann eine Verbindung die von einem Knoten als sehr gut bewertet wurde, von dem nächsten Knoten schon als nicht vorhanden bewertet werden, weil die Messung ein paar Sekunden später erfolgte. Durch die redundanten Informationen in der Datenaufzeichung kommt es also dazu, dass die selbe Kante mit zwei verschiedenen Qualitätswerten bewertet wurde. In der letzten Zeile der Tabelle 1.4 ist zu erkennen, dass in mehr als 50% der Fälle eine Kante zum selben Zeitpunkt durch einen anderen Datensatz anders bewertet wurde. Dadurch werden je beide Datensätze als nicht exakt angesehen. Die SQL-Anfragen, welche die Werte für Tabelle 1.4 lieferten, befinden sich im Anhang A.3. Constraint Fälle korrekte Fälle erfüllt lq > 0 lqn > ,99% lq 1 lqn ,00% ((t, a, b, lq 1, lqn 1 ), (t, b, a, lq 2, lqn 2 )) = lq 1 = lqn 2 lqn 1 = lq ,11% Tabelle 1.4.: Constraints für Exaktheit In der internen Repräsentation des Graphen (z. B. Adjazenzliste) die später verwendet werden muss, kann man durchaus mehrere Kanten zwischen zwei Knoten einfügen. Der Routingalgorithmus würde automatisch immer das kleinste der Gewichte wählen. Ebenso ist es möglich, im Rahmen einer Vorverarbeitung der Daten, nur das Minimum dieser Daten zu speichern. Auch das Maximum, der Durchschnitt oder eine zufällige Auswahl der möglichen Kanten ist denkbar. Davon kann keine Möglichkeit generell als richtig betrachtet werden. Im Rahmen dieser Arbeit wird eine deterministische Variante verwendet, um die Ergebnisse mit denen anderer Algorithmen vergleichbar zu machen. Andreas Redmer 29. September

16 1. Einleitung Weiterhin gilt für den bisherigen Zeitraum, dass alle vier Gateways immer konstant anwesend waren und somit in jedem Timestamp auftauchen sollten. Daraus ergibt sich auch, dass es immer mindestens eine Verbindung von einem Gateway in den Rest des Graphen geben sollte. Das ist eine Voraussetzung um überhaupt die kürzesten Wege zu diesem Gateway berechnen zu können. Da die Gateways im Allgemeinen jedoch als variable Eigenschaft aller Daten betrachtet werden sollen, wird diese Voraussetzung an dieser Stelle noch nicht geprüft Ziel der Arbeit Ziel dieser Arbeit ist es, die bisherigen Möglichkeiten der Datenanalyse zu beschleunigen. Dazu soll eine Schnittstelle in Form von UDF erstellt werden, mit deren Hilfe ein Datenanalyst die beschriebenen Daten analysieren kann. Insbesondere soll dies mit einer besseren Performance geschehen als in bisherigen Arbeiten (z. B. in [22]). In zukünftigen Arbeiten soll die Möglichkeit bestehen, abgeleitete Kenngrößen zu bestimmen. Die verschiedenen möglichen Anfragen an die Datenbank lassen sich in bestimmte Problemklassen einteilen, die im Folgenden aufgezählt werden. Die Aufzählung ist nicht abschließend. Es ist wichtig diese Problemklassen zu kennen, da sie das zu erreichende Ziel der Arbeit gut beschreiben. Problemklasse A: Knotenaktivität Diese Klasse beinhaltet beispielsweise die An- und Abschaltaktivität von Knoten. Diese Problemklasse lässt sich mit SQL aus den Daten ermitteln ohne weitere Graphenalgorithmen auszuführen. UDF sind für diese Anfragen nicht nötig. Problemklasse B: Routen Diese Klasse beinhaltet beispielsweise die zu einem bestimmten Zeitpunkt geltenden Routen. Auch eine Anfrage nach der Stabilität der Routen über bestimmte Zeiträume ist vorstellbar. Dies wäre z. B. nutzbar um die Agilität des Routing-Protokolls zu justieren. Die Routen können mit bekannten Graphenalgorithmen zur Ermittlung kürzester Pfade von einer Quelle (Gateway) zu allen anderen Knoten berechnet werden. Bei mehreren Gateways muss der Algorithmus mehrmals ausgeführt Andreas Redmer 29. September

17 1. Einleitung und am Ende die geringste Entfernung zu einem Gateway ausgewählt werden. Die Laufzeit des Verfahrens erhöht sich dadurch um einen konstanten Faktor. Die zugehörige graphentheoretische Problemstellung ist Single-Source- Shortest-Path (SSSP). Die Algorithmen Dijkstra [8] und Bellman-Ford [3] lösen dieses Problem. Dijkstra hat eine geringere Zeitkomplexität. Einige optimierte Varianten, wie z. B. der A* oder D* Algorithmus [18][29] funktionieren nur, wenn der kürzeste Weg von einer Quelle zu einem Ziel gesucht ist. Im Wesentlichen wird dabei versucht den Algorithmus so früh wie möglich abzubrechen, wenn der Zielknoten erreicht ist. Dabei ändert sich die Worst-Case- Komplexität nicht, jedoch werden die durchschnittlichen Laufzeiten mit diesen Algorithmen verbessert. Da jedoch für die Problemklasse B stets die kürzesten Wege zu allen anderen Knoten gesucht werden, ist Dijkstra die beste Wahl. Auch der Floyd-Warshall-Algorithmus [13], der das All-Pairs-Shortest-Path (APSP) Problem löst, kann das gesuchte Ergebnis berechnen, jedoch mit deutlich höherem Zeitaufwand. Floyd-Warschall berechnet paarweise die Abstände von jedem Knoten zu jedem anderen Knoten im gesamten Graph. Die allgemeine Komplexität 4 des Dijkstra-Algorithmus ist O(n 2 + m). Problemklasse C: Routenänderungen Diese Klasse beinhaltet beispielsweise die Routenänderungen durch den Ausfall einzelner Knoten oder Kanten. Ebenso sind Routenänderungen durch eine Verschlechterung von Kanten denkbar. Daraus könnte man eine Kenngröße für die Wichtigkeit einzelner Knoten im Netzwerk ermitteln. Dies ist für die Netzplanung nutzbar, um einzelne Knoten oder Verbindungen zu verstärken. Um dieses Problem zu lösen, wird ein Knoten aus dem Graphen gestrichen, und dann wie in Problemklasse B die Routen neu berechnet. An der Ergebnismenge, kann dann abgefragt werden, wie viele Routen sich durch den Wegfall dieses Knotens verschlechtert haben bzw. gar nicht mehr erreichbar sind. Somit lässt sich auch ein Maß für die Wichtigkeit dieses Knotens definieren. Diese Verfahrensweise muss für jeden Knoten einmal ausgeführt werden, um die Wichtigkeit aller Knoten zu ermitteln. Die Komplexität für dieses Verfahren beträgt also O(n (n 2 + m)). Diese Problemklasse lässt sich sogar noch erweitern. Beispielsweise soll ermittelt werden, wie stark sich der Ausfall von zwei Knoten gleichzeitig auf die Routen im Netzwerk auswirkt. Dafür müsste man jeweils paarweise zwei Kno- 4 Die amortisiert betrachtete Komplexität kann, für die hier vorliegenden spärlichen Graphen, noch weiter reduziert werden. Weiteres dazu wird im Abschnitt erläutert. Andreas Redmer 29. September

18 1. Einleitung ten aus dem Graphen streichen und das Ganze für alle möglichen Knotenpaare im Graphen durchführen. Die Komplexität beträgt dann O(n 2 (n 2 + m)). Problemklasse D: Flaschenhalsanalyse Diese Problemklasse beinhaltet die Suche nach den Flaschenhälsen im Netzwerkgraphen. Durch die Identifikation einiger Verbindungen als Flaschenhälse könnten diese gezielt verstärkt werden, um die Netzwerkqualität zu verbessern. Einen Flaschenhals (auch Minimaler Schnitt) findet man in der Graphentheorie durch Lösung des Min-Cut-Max-Flow (MCMF) Problems 5. Ein Algorithmus zum Finden des Flaschenhalses ist der Algorithmus von Ford und Fulkerson [15]. Verbesserungen dieses Algorithmus sind der Algorithmus von Edmonds und Karp [11] (Komplexität: O(n m 2 ) ) und der Algorithmus von Dinic [9] (Komplexität: O(n 2 m) ). Im Falle der in dieser Arbeit betrachteten Netzwerkgraphen sind derartig komplexe Algorithmen jedoch nicht nötig. Ein Netzwerkgraph kann nicht als Flussgraph (wie etwa bei Straßensystemen oder wasserführenden Rohrleitungen) betrachtet werden, da für die Pakete jeweils nur eine Route gewählt wird. Wenn ein Client sehr viele Pakete auf einmal sendet, werden diese nicht auf mehrere Routen aufgeteilt. Das reduziert das MCMF Problem (für diese Graphen) wieder auf das Finden der kürzesten Wege. Der Flaschenhals ist dann jeweils die schlechteste Kante auf dem gefundenen Weg. Da man sich im Zuge der Ausführung des Dijkstra-Algorithmus die schlechteste Kante trivial speichern kann, bleibt die Zeitkomplexität für dieses Verfahren die gleiche. Sie ist auch hier O(n 2 + m). Problemklasse E: Alternativrouten Diese Problemklasse beinhaltet das Finden von Alternativrouten. Dabei ist sowohl die Anzahl als auch die Qualität der Alternativrouten interessant. Nutzbar ist dies für eine Risikoanalyse der einzelnen Knoten. Feststellbar wäre z. B. wie stark sich die Verbindung zum Gateway verschlechtert oder ob sie komplett ausfällt, wenn die beste Route nicht mehr möglich ist. Mit der Anzahl und Qualität von Alternativrouten lassen sich somit Kennzahlen für Netzqualität und das Ausfallrisiko einzelner Knoten erstellen. In der Graphentheorie werden dazu die k besten Pfade ermittelt. Das zugehörige Problem ist das k-shortest-path (ksp) Problem. Zur Lösung dieses 5 Das Min-Cut-Max-Flow Theorem besagt, dass der maximale Fluss in einem Graphen immer durch seine Engstelle (Flaschenhals) bestimmt wird. Minimaler Schnitt (Min-Cut) und maximaler Fluss (Max-Flow) sind vom Betrag her gleich. Andreas Redmer 29. September

19 1. Einleitung Problems, das Yen in [33] beschreibt, schlägt er einen auf Bellman-Ford basierenden Algorithmus vor, da dies sehr einfach zum implementieren ist. Als Basisalgorithmus, zur Ermittlung der kürzesten Pfade, kann jedoch auch der Dijkstra verwendet werden. Dieser gibt die k kürzesten Pfade sortiert nach ihrer Qualität zurück. Wenn man den Dijkstra mit der Komplexität O(n 2 + m) als Basis verwendet, löst der Algorithmus von Yen [33] das ksp-problem mit der Zeitkomplexität von O(k n n 2 + m) = O(k n 3 + m). Dies gilt jedoch nur unter der sehr pessimistischen Annahme, dass der gefundene beste Weg alle Knoten des Graphen enthält. Eine erste Untersuchung der Ergebnisse der Problemklasse B hat jedoch gezeigt, dass sich auf den kürzesten Wegen maximal 1.78 n Knoten befinden (vgl. Anhang A.4). Dadurch ist eine gute Schätzung für die obere Schranke der Komplexität dieses Problems O(k 1.78 n n 2 + m) = O(k n m). Zusammenfassung Problemklasse Problem Komplexität Algorithmus A Knotenaktivität B Routen SSSP O(n 2 + m) Dijkstra C Routenänderungen SSSP O(n (n 2 + m)) Dijkstra D Flaschenhalsanalyse MCMF O(n 2 + m) Dijkstra E Alternativrouten ksp O(k n m) Dijkstra Tabelle 1.5.: Zusammenfassung der Problemklassen Die Tabelle 1.5 zeigt, dass alle für die Ergebnisse dieser Arbeit wichtigen Probleme auf den Algorithmus von Dijkstra zurückführbar sind. Somit ist es das wichtige Ziel, eine sehr performante Dijkstra-Implementierung zu finden. Diese muss dann in einer UDF-Schnittstelle zur Verfügung gestellt werden Vorausgesetzte Hard- und Software Um die Ergebnisse dieser Arbeit nachvollziehbar zu machen, sollen hier die Computer beschrieben werden, der für die Erstellung der Implementierung verwendet wurden. Tabelle 1.6 zählt alle relevanten Features auf. Alle in dieser Arbeit angegebenen Laufzeiten beziehen sich, wenn nicht anders angegeben, auf das Testsystem 1. Laufzeiten auf anderen Systemen können entsprechend abweichen. Generell lassen sich alle Ergebnisse auch auf anderen Computern nachvollziehen, es sei denn grundlegende Hardware (wie Andreas Redmer 29. September

20 1. Einleitung z. B. Grafikkarte für GPU Berechnung) oder Software (z. B. das DBMS) ist nicht vorhanden. Feature Testsystem 1 Testsystem 2 Desktop PC XEN Virtual Machine CPU AMD Athlon 64 X2 Dual Intel Xeon X5482 Core (4 XEN Cores) CPU Takt 2200 MHz 3200 MHz CPU Cache L1/L2 128 KB / 512 KB 64 KB / 6 MB Arbeitsspeicher 4 GB DDR II MHz 1 GB DDR II Festplatte Samsung HD103SJ 7200 XEN XVDA RPM, 32MB Cache, 150 Virtual Block Device MB/s max Grafikkarte GeForce GTX 460, 16x PCIe, 768MB GDDR5 - RAM GPU 1350 MHz und 336 CUDA Cores à 675 MHz - Betriebssystem Ubuntu LTS, CentOS Release 5.5, Kernel Kernel Dateisystem ext4 ext3 DB Server PostgreSQL x86 64 PostgreSQL x86 64 Java OpenJDK OpenJDK Tabelle 1.6.: Spezifikation der Testsysteme Andreas Redmer 29. September

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015 Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken

Mehr

Seminar Komplexe Objekte in Datenbanken

Seminar Komplexe Objekte in Datenbanken Seminar Komplexe Objekte in Datenbanken OPTICS: Ordering Points To Identify the Clustering Structure Lehrstuhl für Informatik IX - Univ.-Prof. Dr. Thomas Seidl, RWTH-Aachen http://www-i9.informatik.rwth-aachen.de

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Dezember 007 Dipl.-Ing. Stefan Abu Salah Dipl.-Ing. Achim Marikar QoS (Quality of Service): Sicherstellung der Qualität Zeitkritische

Mehr

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung 1 Kapitel III Skalierbare Peer to Peer-Netzwerke Tapestry von Zhao, Kubiatowicz und Joseph (2001) Netzw erke 2 Tapestry

Mehr

Internet Routing. Grundprinzipien Statisches Routing Dynamisches Routing Routingprotokolle Autonome Systeme

Internet Routing. Grundprinzipien Statisches Routing Dynamisches Routing Routingprotokolle Autonome Systeme Internet outing Grundprinzipien Statisches outing Dynamisches outing outingprotokolle Autonome Systeme 1 Prof. Dr. Thomas Schmidt http:/www.informatik.haw-hamburg.de/~schmidt outing im Internet outing

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen Lennart Leist Inhaltsverzeichnis 1 Einführung 2 1.1 Aufgaben einer Datenbank...................... 2 1.2 Geschichtliche Entwicklung

Mehr

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel Highway Hierarchies Kristian Dannowski, Matthias Hoeschel Gliederung Einleitung / Bidirektional Dijkstra Intuition / Naive Strategie Konstruktion der Highway Hierarchie Suche in der Highway Hierarchie

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2 Seminar Cloud Data Management WS09/10 Tabelle1 Tabelle2 1 Einführung DBMS in der Cloud Vergleich verschiedener DBMS Beispiele Microsoft Azure Amazon RDS Amazon EC2 Relational Databases AMIs Was gibt es

Mehr

Mining top-k frequent itemsets from data streams

Mining top-k frequent itemsets from data streams Seminar: Maschinelles Lernen Mining top-k frequent itemsets from data streams R.C.-W. Wong A.W.-C. Fu 1 Gliederung 1. Einleitung 2. Chernoff-basierter Algorithmus 3. top-k lossy counting Algorithmus 4.

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Dokumentation QuickHMI-Schnittstelle. Datenbanken

Dokumentation QuickHMI-Schnittstelle. Datenbanken Dokumentation QuickHMI-Schnittstelle für SQLServer Datenbanken Version 1.0 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis Was ist die QuickHMI-Schnittstelle

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

Mesh Netzwerke mit OLSR und B.A.T.M.A.N

Mesh Netzwerke mit OLSR und B.A.T.M.A.N Open Students Lunch Zürich, 23. März 2009 Dieses Werk ist gemeinfrei (Public Domain) Mein Hintergrund Teilzeitstudium an der BFH in Biel. Arbeit für eine Zeitungen als System-Administrator und Supporter.

Mehr

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer Verteiltes Backup Einleitung Grundlegende Backup Techniken Backup in Netzwerken Client/Server Peer-to-Peer Einleitung Backup: Das teilweise oder gesamte Kopieren der in einem Computersystem vorhandenen

Mehr

Methoden zur adaptiven Steuerung von Overlay-Topologien in Peer-to-Peer-Diensten

Methoden zur adaptiven Steuerung von Overlay-Topologien in Peer-to-Peer-Diensten Prof. Dr. P. Tran-Gia Methoden zur adaptiven Steuerung von Overlay-Topologien in Peer-to-Peer-Diensten 4. Würzburger Workshop IP Netzmanagement, IP Netzplanung und Optimierung Robert Henjes, Dr. Kurt Tutschku

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

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

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Hadoop. Simon Prewo. Simon Prewo

Hadoop. Simon Prewo. Simon Prewo Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert

Mehr

RAC auf Sun Cluster 3.0

RAC auf Sun Cluster 3.0 RAC auf Sun Cluster 3.0 Schlüsselworte RAC, OPS, Sun Cluster, Performance, Availability Zusammenfassung Oracle hat mit dem Real Application Cluster (RAC) aus einer Hochverfügbarkeitslösung eine Höchstverfügbarkeitslösung

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

AS Path-Prepending in the Internet And Its Impact on Routing Decisions

AS Path-Prepending in the Internet And Its Impact on Routing Decisions (SEP) Its Impact on Routing Decisions Zhi Qi ytqz@mytum.de Advisor: Wolfgang Mühlbauer Lehrstuhl für Netzwerkarchitekturen Background Motivation BGP -> core routing protocol BGP relies on policy routing

Mehr

PVFS (Parallel Virtual File System)

PVFS (Parallel Virtual File System) Management grosser Datenmengen PVFS (Parallel Virtual File System) Thorsten Schütt thorsten.schuett@zib.de Management grosser Datenmengen p.1/?? Inhalt Einführung in verteilte Dateisysteme Architektur

Mehr

Oracle Data Warehouse Mit Big Data neue Horizonte für das Data Warehouse ermöglichen

Oracle Data Warehouse Mit Big Data neue Horizonte für das Data Warehouse ermöglichen DATA WAREHOUSE Oracle Data Warehouse Mit Big Data neue Horizonte für das Data Warehouse ermöglichen Alfred Schlaucher, Detlef Schroeder DATA WAREHOUSE Themen Big Data Buzz Word oder eine neue Dimension

Mehr

17 Datenbank aufteilen

17 Datenbank aufteilen 17 Datenbank aufteilen Warum teilt man eine Datenbank auf und was bedeutet dies? Eine Access-Datenbankdatei ist ein Monolith. Sie enthält alle notwendigen Objekte wie Tabellen, Abfragen, Formulare, Berichte,

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

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

Systematisches Testen von Software

Systematisches Testen von Software Programmierung Systematisches Testen von Software Markus Eckstein Systematika Information Systems GmbH Kurfürsten-Anlage 36 69115 Heidelberg markus.eckstein@systematika.com Zusammenfassung Die wichtigsten

Mehr

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1.

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1. Inhalt der Vorlesung Literatur 1 Datenmodellierung (Entity-Relationship Modell) 2 Das relationale Modell 3 Relationenalgebra 4 Datenbanksprache (SQL) 5 Normalisierung 6 Vom ERM zum Datenbankschema 7 Routinen

Mehr

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION Prof. Dr.-Ing. Dagmar Meyer 5 SYNCHRONISATION Warum braucht man Synchronisation? Ausgangssituation Prozesse müssen sich koordinieren / synchronisieren, z. B. beim Zugriff auf gemeinsame Ressourcen. Alle

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

NOCTUA by init.at DAS FLEXIBLE MONITORING WEBFRONTEND

NOCTUA by init.at DAS FLEXIBLE MONITORING WEBFRONTEND NOCTUA by init.at DAS FLEXIBLE MONITORING WEBFRONTEND init.at informationstechnologie GmbH - Tannhäuserplatz 2 - A-1150 Wien - www.init.at Dieses Dokument und alle Teile von ihm bilden ein geistiges Eigentum

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:

Mehr

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2

Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Systemvoraussetzungen Windows Server 2008 Windows Server 2008 R2 Basis: HiScout 2.5 Datum: 17.06.2015 14:05 Autor(en): HiScout GmbH Version: 1.1 Status: Freigegeben Dieses Dokument beinhaltet 13 Seiten.

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Inhaltsverzeichnis. BüroWARE Systemanforderungen ab Version 5.31. Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2

Inhaltsverzeichnis. BüroWARE Systemanforderungen ab Version 5.31. Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2 Inhaltsverzeichnis Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2 1. Terminal-Server-Betrieb (SQL)... 3 1.1. Server 3 1.1.1. Terminalserver... 3 1.1.2. Datenbankserver (bei einer Datenbankgröße

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 11 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Leistungs- und Geschwindigkeitssteigerung von LabVIEW-Projekten Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Agenda 1. Einführung 2. Hilfreiche Werkzeuge zur Codeanalyse 3. Benchmarks für LabVIEW-VIs

Mehr

Spark, Impala und Hadoop in der Kreditrisikoberechnung

Spark, Impala und Hadoop in der Kreditrisikoberechnung Spark, Impala und Hadoop in der Kreditrisikoberechnung Big Data In-Memory-Technologien für mittelgroße Datenmengen TDWI München, 22. Juni 2015 Joschka Kupilas, Data Scientist, Adastra GmbH 2 Inhalt Vorwort

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

init.at informationstechnologie GmbH Tannhäuserplatz 2/5.OG 1150 Wien Austria

init.at informationstechnologie GmbH Tannhäuserplatz 2/5.OG 1150 Wien Austria init.at informationstechnologie GmbH Tannhäuserplatz 2/5.OG 1150 Wien Austria Seite 2 von 10 1 Inhaltsverzeichnis 2 Warum NOCTUA by init.at... 3 3 Ihre Vorteile mit NOCTUA:... 4 4 NOCTUA Features... 5

Mehr

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk Haftungsausschluss Microsoft kann für die Richtigkeit

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

Perinorm Systemvoraussetzungen ab Version Release 2010

Perinorm Systemvoraussetzungen ab Version Release 2010 Perinorm Systemvoraussetzungen ab Version Release 2010 1. DVD Version - Einzelplatzversion Betriebssystem Unterstützte Betriebssysteme Windows XP, Windows Vista Windows 7 (falls bereits verfügbar) Auf

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

M2M-Serviceplattformen für das Internet der Dinge

M2M-Serviceplattformen für das Internet der Dinge M2M-Serviceplattformen für das Internet der Dinge Klaus-Dieter Walter SSV Software Systems GmbH, Hannover kdw@ssv-embedded.de 20.11.2013 1 Agenda Wer ist SSV Software Systems? Hintergründiges zu IoT, M2M,

Mehr

NoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt

NoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt NoSQL & Big Data Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle

Mehr

BICsuite!focus Parallelisierung von Prozessen mit der BICsuite Dynamic Submit Funktion

BICsuite!focus Parallelisierung von Prozessen mit der BICsuite Dynamic Submit Funktion independit Integrative Technologies GmbH Bergstraße 6 D 86529 Schrobenhausen BICsuite!focus Parallelisierung von Prozessen mit der BICsuite Dynamic Submit Funktion Dieter Stubler Ronald Jeninga July 30,

Mehr

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Use-Cases. Bruno Blumenthal und Roger Meyer. 17. Juli 2003. Zusammenfassung

Use-Cases. Bruno Blumenthal und Roger Meyer. 17. Juli 2003. Zusammenfassung Use-Cases Bruno Blumenthal und Roger Meyer 17. Juli 2003 Zusammenfassung Dieses Dokument beschreibt Netzwerk-Szenarios für den Einsatz von NetWACS. Es soll als Grundlage bei der Definition des NetWACS

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7 CARL HANSER VERLAG Christopher Allen Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank 3-446-21801-7 www.hanser.de Inhaltsverzeichnis Danksagung...XI Einleitung...XIII

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Internet Routing am 14. 11. 2006 mit Lösungen

Internet Routing am 14. 11. 2006 mit Lösungen Wissenstandsprüfung zur Vorlesung Internet Routing am 14. 11. 2006 mit Lösungen Beachten Sie bitte folgende Hinweise! Dieser Test ist freiwillig und geht in keiner Weise in die Prüfungsnote ein!!! Dieser

Mehr

XEN Performance. Projektpraktikum Informatik. Arne Klein 2008-02-26. Arne Klein () XEN Performance 2008-02-26 1 / 25

XEN Performance. Projektpraktikum Informatik. Arne Klein 2008-02-26. Arne Klein () XEN Performance 2008-02-26 1 / 25 XEN Performance Projektpraktikum Informatik Arne Klein 2008-02-26 Arne Klein () XEN Performance 2008-02-26 1 / 25 1 Virtualisierung mit XEN 2 Performance von XEN Allgemeines Netzwerk-Performance IO-Performance

Mehr

Performanceoptimierung mit Exadata Verarbeitung extremer Datenmengen mit PL/SQL basierter Datenbewirtschaftung (Erfahrungsbericht)

Performanceoptimierung mit Exadata Verarbeitung extremer Datenmengen mit PL/SQL basierter Datenbewirtschaftung (Erfahrungsbericht) Performanceoptimierung mit Exadata Verarbeitung extremer Datenmengen mit PL/SQL basierter Datenbewirtschaftung (Erfahrungsbericht) Christian Haag, DATA MART Consulting Consulting Manager Oracle DWH Team

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird.

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. AGILO HOWTO Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. ROLLEN IM TEAM In Scrum hat jedes Teammitglied eine

Mehr

Systemvoraussetzungen und Installation

Systemvoraussetzungen und Installation Systemvoraussetzungen und Installation Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 2 2. Einzelarbeitsplatzinstallation... 3 3. Referenz: Client/Server-Installation... 5 3.1. Variante A:

Mehr

IO Performance in virtualisierten Umgebungen

IO Performance in virtualisierten Umgebungen IO Performance in virtualisierten Umgebungen Bruno Harsch El. Ing. HTL/FH Managing Partner Tel +41 52 366 39 01 bruno.harsch@idh.ch www.idh.ch IDH GmbH Lauchefeld 31 CH-9548 Matzingen 2 Die Firma IDH wurde

Mehr

Systemanforderungen Verlage & Akzidenzdruck

Systemanforderungen Verlage & Akzidenzdruck OneVision Software AG Inhalt Asura 9.5, Asura Pro 9.5, Garda 5.0...2 PlugBALANCEin 6.5, PlugCROPin 6.5, PlugFITin 6.5, PlugRECOMPOSEin 6.5, PlugSPOTin 6.5,...2 PlugTEXTin 6.5, PlugINKSAVEin 6.5, PlugWEBin

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

IT-Sicherheit Kapitel 3 Public Key Kryptographie

IT-Sicherheit Kapitel 3 Public Key Kryptographie IT-Sicherheit Kapitel 3 Public Key Kryptographie Dr. Christian Rathgeb Sommersemester 2013 1 Einführung In der symmetrischen Kryptographie verwenden Sender und Empfänger den selben Schlüssel die Teilnehmer

Mehr

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine. Kapitel 2 Datenverwaltung durch SQL Server Wir wollen das obige Skript zwei Mal laufen lassen, einmal mit und einmal ohne eingeschalteten Schreibcache der Festplatte. Für eine lokale Festplatte können

Mehr

FME Desktop. Data in Motion

FME Desktop. Data in Motion FME Desktop Data in Motion Übersicht Reporting Ausführen, Debuggen, Inspizieren, Profilen Neuigkeiten bei Datenbanken Reporting Move Your Data Analysis Organized Reporting in FME Tabellenkalkulationen

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

Lasttestbericht BL Bankrechner

Lasttestbericht BL Bankrechner Lasttestbericht BL Bankrechner Business-Logics GmbH Inhaltsverzeichnis 1 Testumgebung 2 1.1 Hardwareversionen........................ 2 1.2 Softwareversionen........................ 3 1.3 Datenbestand..........................

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

Sortieren. Eine Testmenge erstellen

Sortieren. Eine Testmenge erstellen Sortieren Eine der wohl häufigsten Aufgaben für Computer ist das Sortieren, mit dem wir uns in diesem Abschnitt eingeher beschäftigen wollen. Unser Ziel ist die Entwicklung eines möglichst effizienten

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

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