Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB

Größe: px
Ab Seite anzeigen:

Download "Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB"

Transkript

1 Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB - Benchmarking und Performance von (R)DBMS Seminar Datenbanksysteme Master of Science in Engineering Vertiefungsrichtung Software and Systems HSR Hochschule für Technik Rapperswil Supervisor: Prof. Stefan Keller Autoren: Philippe Morier & Martin Weber Rapperswil, Dezember 2011

2 Kapitel: 1 Abstract Inhalt Abstract... 4 Aufgabenstellung... 5 Stand der Technik Bestehende Benchmarks PostgreSQL SQLite db4o MongoDB Für den Benchmark verwendete Daten Beschaffung & Herkunft Aufbereitung Extraktion Benchmark Definition Aufbau Datenbanken Durchführungsregeln Benchmark-Tests und Benchmark-Ablauf BMT-1 Insert - Einfügen der Test-Daten BMT-2 SelectAll - Abfrage aller Daten BMT-3 Equal - Abfrage auf Gleichheit BMT-4 Small-/Large-Range - Kleine und grosse Bereichsabfrage BMT-5 Join - Abfrage mit Beziehungen Test-Umgebung Effizienz-Kriterien Konfigurationen der DBMS Ergebnisse und Diskussion Herbst /36

3 Kapitel: 1 Abstract 6 Vergleichbarkeitsbasis & Optimierungspotentiale Isolation-Level Datentyp-Sicherheit Einsatz von Index Schlussfolgerung Eigenständigkeitserklärung Glossar Abbildungsverzeichnis Tabellenverzeichnis Literaturverzeichnis Code der Datei benchmark.py Herbst /36

4 Kapitel: 1 Abstract 1 Abstract Das Datenbank-Seminar vom Herbstsemester 2011 steht u.a. unter dem Motto "Benchmarking und Performance von (R)DBMS". Wir entschieden uns für einen Benchmark der folgenden DBMS durchzuführen. PostgreSQL SQLite db4o MongoDB Dabei wurde das vorliegende Dokument wie folgt strukturiert. Zu Beginn wird eine Übersicht über den Stand der Technik der vier ausgewählten DBMS gegeben. Anschliessend wird die Beschaffung und Herkunft der im Benchmark verwendeten Daten kurz beschrieben. Der Begriff Benchmark wird im Kapitel 6 definiert. Zudem wird in diesem Kapitel unter anderem der Aufbau und Ablauf sowie die entstandenen Resultate der Durchführung des Benchmarks aufgezeigt. Der Schluss des Dokumentes befasst sich mit der Vergleichbarkeitsbasis und Optimierungspotenziale sowie eine allgemeine Schlussfolgerung. Die Abfragen für den Benchmark wurden mit der Skript-Sprache Python erstellt. Diese enthalten alle durchgeführten und gemessenen Abfragen. Bei den Daten handelt es sich um Wetterdaten, welche einen Bezug zur Zeit aufweisen. Der Benchmark wurde mit den Out-Of-The-Box Konfigurationen des jeweiligen DBMS durchgeführt. Das DBMS db4o wies mit Abstand die kleinste Performance auf. Keyword: Benchmark, db40, PostgreSQL, MongoDB, SQLite, Wetterdaten, Python, IronPython, PyMongo, DBMS, SQL Herbst /36

5 Kapitel: 2 Aufgabenstellung 2 Aufgabenstellung Ziel dieser Arbeit ist das Erstellen und Durchführen eines Benchmarks für die folgenden vier Datenbankmanagementsysteme (DBMS). PostgreSQL SQLite db4o MongoDB Dabei ist zu beachten, dass an den einzelnen DBMS keine Konfigurationsänderungen nach deren Installation durchgeführt werden. D.h. die DBMS werden Out-Of-The-Box verwendet. Des Weiteren soll eine möglichst faire Vergleichbarkeitsbasis geschaffen werden und eine klar spezifizierte Test-Umgebung definiert werden. Zusätzlich soll der Aufbau, Ablauf wie auch die Schwerpunkte des Benchmarks dargestellt werden. Der Benchmark sollte Best-Practice Aufgaben beinhalten und sich allgemein anhand Best-Practice Methoden orientieren. Um die Effizienz der DBMS bestimmen zu können, sollen Effizienzkriterien definiert werden. Die Benchmark-Ergebnisse sollen in einer verständlichen Art und Weise dargestellt werden und mögliche Optimierungspotentiale sollen aufgezeigt werden. Die für den Benchmark verwendeten Daten sollen aus der Meteorologie stammen. Die Benchmark- Daten benötigen einen geografischen und zeitlichen Bezug. D.h. es sollen zeitlich abhängige Wetter- Daten verwendet werden. Zusätzlich soll darauf geachtet werden, dass eine grosse Menge an Daten für den durchzuführenden Benchmark vorliegt. Zum Schluss der Arbeit sollen die Ergebnisse des Benchmarks ausgewertet werden und die daraus gezogenen Schlussfolgerungen aufgezeigt werden. Über das gesamte Dokument hinweg gilt für die inhaltliche Bearbeitung folgende Aufteilung: Martin Weber: SQLite & MongoDB Philippe Morier: PostgreSQL & db4o Herbst /36

6 Kapitel: 3 Stand der Technik 3 Stand der Technik Im folgendem Kapitel wird eine Liste von bestehenden Benchmarks aufgelistet. Zusätzlich werden die Eigenschaften und Spezialitäten der vier Datenbank PostgreSQL, SQLite, db4o und MongoDB beschrieben. 3.1 Bestehende Benchmarks Das Durchführen von Benchmarks hat in der heutigen Informatik eine grosse Bedeutung. Folgend sind Dokumente bzw. Web-Links zum Thema Database Performance Benchmarking aufgelistet. HSR Texas Geo Database Benchmark [TexasBench] Fame Database Performance Benchmark for Time Series Data [FAME] A Practitioner's Introduction to Database Performance Benchmarks and Measurements [OxfordJournals] Transaction Processing Performance Council [TPC] The Engineering Database Benchmark [Cattell] PolePosition Open Source Database Benchmark [PolePosition] Key/Value Pair Versus hstore - Benchmarking Entity-Attribute-Value Structures in PostgreSQL [MOtt] 3.2 PostgreSQL PostgreSQL ist ein objektrelationales Datenbanksystem (ORDBMS), welches im Jahr 1986 als Projekt an der University of California at Berkeley vom Hauptverantwortliche Michael Stonebraker gestartet wurde. Die Anfragesprache SQL von PostgreSQL implementiert weitgehend die Standards ANSI-SQL 92 und bereits einen sehr grossen Teil der verpflichtenden Merkmale des aktuellen SQL:2008 Standard. Somit werden alle gängigen SQL-Funktionalitäten unterstützt und verhalten sich wie erwartet [Postgres]. PostgreSQL wird durch die folgenden Limits eingeschränkt. Max. Datenbankgrösse Max. Tabellengrösse Max. Grösse eines Datensatzes Max. Zellengrösse Max. Anzahl Zeilen pro Tabelle Max. Anzahl der Spalten pro Tabelle Unbeschränkt 32 TB 1.6 TB 1 GB Unbeschränkt (abhängig von verwendeten Datentypen) Herbst /36

7 Kapitel: 3 Stand der Technik Max. Indexes per Table Unbeschränkt Tabelle 3-1: Limits von PostgreSQL [Postgres] Für den Performance-Gewinn bei grossen Datenmengen unterstützt PostgreSQL unique-, partielle und funktionale Indexe. Seit der Version 8.1 können mehrere Indexe im Speicher zu Bitmaps verknüpft und von einem einzigen Index-Scan genutzt werden [PostgresDE]. Die Indexe werden in Form von R-Tree, B-Tree, Hash oder GiST aufgebaut [Postgres]. 3.3 SQLite SQLite ist eine Programmbibliothek, die ein relationales Datenbanksystem enthält und einen Grossteil der im SQL-92-Standard festgelegten SQL-Sprachbefehle unterstützt. Es wurde im Jahr 2000 von Richard Hipp entwickelt und ist in C programmiert [WikiSQLite]. SQLite repräsentiert eine serverlose, konfigurationsfreie und transaktionale Datenbankengin. Ein Hauptmerkmal ist die sehr kleine Speicherplatzgrösse, welche SQLite für das Speichern der ganzen Datenbank benötigt. Je nach Systemplattform und Compiler-Optimierungseinstellung liegt der benötigte Speicherplatz bei ca. 350KB. Dies ist unter anderem ein Grund, warum SQLite häufig in Embedded Systems zum Einsatz kommt [SQLite]. SQLite wird durch die folgenden Limits eingeschränkt. Max. Datenbankgrösse 14 TB Max. involvierte Tabellen in einem Join 64 Max. Grösse eines Datensatzes Bytes = ca. 2 GB Max. Anzahl Zeilen pro Tabelle 2 64 Max. Anzahl der Spalten pro Tabelle Max. Länge eines SQL-Statements 1 GB Tabelle 3-2: Limits von SQLite [SQLimits] 3.4 db4o Das db4o Projekt begann im Jahr 2000 unter Führung von Carl Rosenberger. Db4o ist eine open source Objektdatenbank, welche Java und.net Entwickler ermöglicht, in ihrer Applikation Objekte mit Hilfe von wenigen Codezeilen zu speichern und abzufragen. Das Definieren und Unterhalten eines Datenbankmodells ist nicht notwendig. Db4o gehört zu den NoSQL-Datenbanken. Der Footprint der Datenbank-Bibliothek beträgt ca. 1 MB und der minimale RAM Footprint benötigt normalerweise weniger als 3 MB. Pro Datenbank-Datei ist eine maximale Grösse von 254GB möglich [db4o]. Herbst /36

8 Kapitel: 3 Stand der Technik 3.5 MongoDB MongoDB (von "hu-mongo-us") ist eine skalierbare, hoch-performante, dokumentenorientierte open-source Datenbank, welche in C++ geschrieben ist. Das Projekt startete im Jahr 2007 und hatte 2009 den ersten öffentlichen Release. Bei der Entwicklung von MongoDB wurde besonders auf folgende vier Kriterien geachtet [MongoDB]. Flexibilität Power Geschwindigkeit Einfache Verwendung Tabelle 3-3: Philosophie von MongoDB Eine markante schlecht dokumentiere Begrenzung liegt in der maximalen Dateigrösse von 2.5 GB auf einem 32Bit-System [MongoDB]. Herbst /36

9 Kapitel: 4 Für den Benchmark verwendete Daten 4 Für den Benchmark verwendete Daten 4.1 Beschaffung & Herkunft Die für den Benchmark verwendeten Daten stammen vom Niederschlagsradar von NZZ Online [NZZ]. Der Niederschlagsradar ist in Form einer animierten Bildserie verfügbar. Die Bildserie verwendet das Graphics Interchange Format (GIF) für die Darstellung. Um einen geografischen und zeitlichen Bezug herstellen zu können, müssen zuerst die meteorologischen Daten aus der Bildserie extrahiert werden. Dieser Prozess wird von einer separaten Software-Lösung durchgeführt und für die jeweiligen DBMS in das passende Format gebracht. 4.2 Aufbereitung Abbildung 4-1: Niederschlagsradar von NZZ Online Extraktion Die für uns interessanten Daten sind die eingefärbten Niederschlag-Pixel. Diese müssen also aus der Bilderserie extrahiert werden. Abbildung 4-2: Extraktion der Niederschlag-Pixel Herbst /36

10 Kapitel: 4 Für den Benchmark verwendete Daten Jeder einzelne Niederschlags-Pixel wird in die Datenbank abgespeichert. Dabei werden als Koordinaten die Pixelpositionen vom Bild verwendet. Somit hat beispielsweise ein Niederschlags- Pixel über Rapperswil die X/Y-Koordinaten (351/108). Abbildung 4-3: Einzelner Niederschlags-Pixel Herbst /36

11 Kapitel: 5 Benchmark 5 Benchmark 5.1 Definition Ein Benchmark ist ein klar definiertes Bewertungsverfahren von EDV-Systemen. Dabei werden unterschiedliche Systeme anhand festgelegten Effizienz-Kriterien auf deren Leistung miteinander verglichen. Es existieren Benchmarks für Soft- wie auch für Hardware. In dieser Arbeit werden verschiedene DBMS miteinander verglichen. Das in dieser Arbeit beschriebenen resp. durchgeführten Bewertungsverfahren stellt somit einen Software-Benchmark dar. Das Bewertungsverfahren benötigt eine faire Vergleichbarkeitsbasis um die verschiedenen EDV- Systeme miteinander zu vergleichen. Eine faire Vergleichsbarkeitsbasis beruht auf Definitionen einer Test-Umgebung, Effizienzkriterien und Konfigurationsgrad. Der Ablauf und die Durchführung des Benchmarks auf dem jeweiligen System sollte stets identisch erfolgen. Des Weiteren sollten die im Benchmark durchgeführten Aufgaben Best-Practice Anwendungsfällen entsprechen. 5.2 Aufbau Im folgendem Kapitel wird der Aufbau des Benchmarks erläutert. Dabei wird der Zusammenhang der unterschiedlichen Scripts und Dateien dargestellt. Abbildung 5-1: Aufbau des Benchmarks Der Platzhalter DBName steht jeweils für das konkrete Datenbankmanagementsystem und kann folgende Werte annehmen: postgres sqlite Herbst /36

12 Kapitel: 5 Benchmark db4o mongodb Dies Bedeutet, dass von einer Datei, welche in der oben gezeigten Abbildung den Platzhalter enthält, jeweils vier unterschiedliche Exemplare existieren. _start_[dbname].bat Die Aufgabe der Batch-Dateien liegt darin, das entsprechende Log-File zu löschen und anschliessend die Datei benchmark.py mit der richtigen Konfiguration auszuführen. D.h. es muss der entsprechende Interpreter und die passenden Parameter angegeben werden. Folgende Tabelle zeigt den Inhalt der Batch-Datei für das DBMS db4o. DEL db4o_log.csv ipy benchmark.py -d db4o -n 2 PAUSE Abbildung 5-2: Inhalt der Datei _start_db4o.bat _init_[dbname].py Das init-modul wird für das Erstellen einer sauberen Ausgangslage zur Durchführung des Benchmarks verwendet. Dabei werden alte Datenbanken gelöscht und allfällig durch einen früher durchgeführten Benchmark erstellte Dateien entfernt. In einem weiteren Schritt wird eine leere Datenbank angelegt. Zum Schluss wird die für die weitere Arbeit benötigte Verbindung zur Datenbank erstellt. _insert_[dbname].py Die für den Benchmark benötigten Daten werden durch das insert-modul in die jeweilige Datenbank eingefügt. Insgesamt werden ca Datensätze gespeichert. _queries_[dbname].py Das query-modul enthält folgende für den Benchmark relevanten Datenbankabfragen. Abfrage aller Daten Abfrage auf Gleichheit Kleine und grosse Bereichsabfrage Join-Abfrage benchmarks.py Die Datei benchmark.py stellt einen Rahmen für den Ablauf dar. D.h. sie ruft die datenbankspezifischen Methoden der importierten Module in einer fixen Reihenfolge auf. Für die Ausführung des Benchmarks werden zwei Parameter erwartet. Konkret sind dies der Name des Herbst /36

13 Kapitel: 5 Benchmark DBMS und die Anzahl Durchführungen. Folgendes Beispiel führt den Benchmark für das DBMS db4o zwei Mal durch. benchmark.py -d db4o -n 2 Abbildung 5-3: Ausführung des Benchmarks mit entsprechenden Parameter Das benchmark-modul übernimmt zusätzlich die Zeitmessung und das Logging. Die Zeitmessung wurde vom HSR Texas Geo Database Benchmark [TexasBench] übernommen Datenbanken Die beiden RDBMS PostgreSQL und SQLite enthalten jeweils genau die Tabelle raindrop mit folgendem Aufbau. frameid nextframeid rainfall timestamp x y Tabelle 5-1: Aufbau der Tabelle "raindrop" mit Beispiel Datensätze CREATE TABLE raindrop ( frameid int NOT NULL, nextframeid int NOT NULL, rainfall int NOT NULL, timestamp int NOT NULL, x int NOT NULL, y int NOT NULL ) Abbildung 5-4: Struktur der Tabelle "raindrop" Das objektorientierte DBMS db4o und das dokumentorientierte DBMS MongoDB haben konzeptbedingt keine Tabellen. Da das DBMS db4o in erster Linie nur für Java bzw..net Entwickler zur Verfügung steht, musste mit einer speziellen Python-Implementation namens IronPython gearbeitet werden. Diese ermöglicht das Verwalten von.net-objekte mit db4o aus einem Python-Skript. Das Abspeichern von Python-Objekte führte zum folgendem Fehler. Unexpected char '$' Abbildung 5-5: Fehler beim Abspeichern [IrPyObj] Aus diesem Grund wurde eine.net-library mit dem benötigten Klasse erstellt. Nun werden Instanzen von der.net-klasse mit IronPython in eine db4o -Datenbank abgespeichert [IrPyObj]. Die Struktur der Objekte, welche für das DBMS db4o verwendet werden, sieht wie folgt aus. Herbst /36

14 Kapitel: 5 Benchmark Abbildung 5-6: Klasse "raindrop" Bei dem DBMS MongoDB werden sogenannte Dokumente in Form von BSON (Binary JSON) abgespeichert. Diese Dokumente bzw. Objekte haben folgende Struktur. [{"frameid":1, "nextframeid":2, "rainfall": , "timestamp": , "x":201, "y":13}, {"frameid":1, "nextframeid":2, "rainfall": , "timestamp": , "x":241, "y":54}, {"frameid":2, "nextframeid":3, "rainfall": , "timestamp": , "x":295, "y":90}, {"frameid":3, "nextframeid":4, "rainfall": , "timestamp": , "x":318, "y":120}] Abbildung 5-7: "raindrop"-dokument Damit Objekte über Python in eine MongoDB abgespeichert werden können, muss Python mit der Distribution PyMongo erweitert werden [PyMongo] [Niall] Durchführungsregeln Für die Durchführung des Benchmarks werden die folgenden Regeln befolgt. Jeder Test wird genau sechs Mal hintereinander durchgeführt. Jeder Test wird auf demselben System durchgeführt. Während der Durchführung eines Tests sind die nicht in den Test involvierten DBMS beendet. Die verwendeten Daten aus der Meteorologie stammen aus einem realen Szenario. Jedes DBMS hat dieselben Daten für die Tests gespeichert. Herbst /36

15 Kapitel: 5 Benchmark Die Konfigurationen der installierten DBMS wurden nach deren Installation unverändert belassen. D.h. Jedes DBMS läuft mit den Standard-Einstellungen resp. Konfigurationen und ist somit nicht optimiert (Out-Of-The-Box). 5.3 Benchmark-Tests und Benchmark-Ablauf In diesem Kapitel soll die Reihenfolge und die Art der Abfragen aufgezeigt und erklärt werden. Folgende Auflistung zeigt die Anzahl, Reihenfolge und Art der Interaktionen mit dem entsprechendem DBMS. Zu beachten ist, dass bei jedem Benchmark-Test (BMT) eine allgemein identische Ausgangslage erstellt wird. D.h. allfällige Dateien oder Datenbanken werden gelöscht bzw. neu erstellt. Führe benchmark.py n-mal für Datenbank d aus Stelle Initial-Zustand her Einfügen der Test-Daten Führe m-mal aus Abfrage aller Daten Führe m-mal aus Abfrage auf Gleichheit Führe m-mal aus Kleine und grosse Bereichsabfrage Führe m-mal aus Join-Abfrage Abbildung 5-8: Struktogramm des Ablaufs Das Python-Script benchmark.py nimmt die drei Parameter n, m und d entgegen. Die Parameter haben folgende Bedeutung: n: Bestimmt die gesamte Durchführungsanzahl des Benchmarks m: Bestimmt die Anzahl der einzelnen Interaktionen d: Bestimmt das DBMS für welches der Benchmark ausgeführt wird BMT-1 Insert - Einfügen der Test-Daten Für die Durchführung des Benchmarks wird ein Datenvolumen von ca. 325 ooo Datensätze verwendet. Diese werden zu Beginn des Benchmarks in die jeweilige Datenbank eingefügt. Im Folgenden wird pro DBMS eine verkürzte Variante des Codes, welcher die Daten einfügt, aufgezeigt. Herbst /36

16 Kapitel: 5 Benchmark cur = db.cursor() cur.execute(""" INSERT INTO raindrop (frameid, nextframeid, rainfall, timestamp, x, y) VALUES ('2', '3', ' ', ' ', '431', '133'); INSERT INTO raindrop (frameid, nextframeid, rainfall, timestamp, x, y) VALUES ('2', '3', ' ', ' ', '431', '134'); INSERT INTO raindrop (frameid, nextframeid, rainfall, timestamp, x, y) VALUES ('2', '3', ' ', ' ', '431', '135'); """) cur.close() Abbildung 5-9: Einfügen der Test-Daten in "PostgreSQL" c = db.cursor() raindrop = [ (0, 1, , , 2, 269), (0, 1, , , 3, 270), (0, 1, , , 3, 271) ] c.executemany("insert INTO raindrop(frameid, nextframeid, rainfall, timestamp, x, y) values (?,?,?,?,?,?)", raindrop) c.close() Abbildung 5-10: Einfügen der Test-Daten in "SQLite" db.store(raindrop(0, 1, , , 2, 269)) db.store(raindrop(0, 1, , , 3, 270)) db.store(raindrop(0, 1, , , 3, 271)) db.store(raindrop(0, 1, , , 4, 272)) db.store(raindrop(0, 1, , , 5, 9)) Abbildung 5-11: Einfügen der Test-Daten in "db4o" raindrops = db.raindrop raindrop = [ {"frameid":1, "nextframeid":2, "rainfall": , "timestamp": , "x":201, "y":13}, {"frameid":1, "nextframeid":2, "rainfall": , "timestamp": , "x":241, "y":54} ] raindrops.insert(raindrop) Abbildung 5-12: Einfügen der Test-Daten in "MongoDB" Die Test-Daten für die MongoDB wurden in zwei separate Dateien aufgeteilt. Dies wurde nötig, da ansonsten das Einfügen der Daten durch eine Memory-Exception abgebrochen wurde [MemoryError] BMT-2 SelectAll - Abfrage aller Daten Im Folgenden wird pro DBMS einen Code-Ausschnitt, welcher alle Daten abfragt, aufgezeigt. Herbst /36

17 Kapitel: 5 Benchmark cursor.execute("""select count(*) FROM raindrop""") Abbildung 5-13: Abfragen aller Test-Daten in "PostgreSQL" und SQLite query.constrain(clr.getclrtype(raindrop)) result = query.execute() Abbildung 5-14: Abfragen aller Test-Daten in "db4o" db.raindrop.find().count() Abbildung 5-15: Abfragen aller Test-Daten in "MongoDB" BMT-3 Equal - Abfrage auf Gleichheit Im Folgenden wird pro DBMS einen Code-Ausschnitt, welcher die Daten mit der x-koordinate 200 abfragt, aufgezeigt. cursor.execute("""select count(*) FROM raindrop WHERE x = 200""") Abbildung 5-16: Abfragen der Test-Daten auf x-koordinate 200 in "PostgreSQL" cursor.execute('select count(*) FROM raindrop WHERE x=200') Abbildung 5-17: Abfragen der Test-Daten auf x-koordinate 200 in "SQLite" query.constrain(clr.getclrtype(raindrop)) query.descend("_x").constrain(200) result = query.execute() Abbildung 5-18: Abfragen der Test-Daten auf x-koordinate 200 in "db4o" db.raindrop.find({"x": 200}).count() Abbildung 5-19: Abfragen der Test-Daten auf x-koordinate 200 in "MongoDB" BMT-4 Small-/Large-Range - Kleine und grosse Bereichsabfrage Im Folgenden wird pro DBMS einen Code-Ausschnitt, welcher die Daten mit der x-koordinate 200 abfragt, aufgezeigt. Folgende Code-Ausschnitte zeigen eine Abfrage über einen Bereich der Test-Daten. Dabei werden zwei unterschiedlich grosse Bereiche abgefragt. Bei der kleineren Abfrage wird nur einen Zehntel und bei der grösseren Abfrage die mittlere Hälfte der Daten ausgelesen. Folgende Abbildung zeigt die betroffenen Regionen der beiden Abfragen. Herbst /36

18 Kapitel: 5 Benchmark Abbildung 5-20: Betroffene Regionen cursor.execute("""select count(*) FROM raindrop WHERE timestamp BETWEEN AND """) Abbildung 5-21: Abfragen der Test-Daten auf einen Bereich in "PostgreSQL" cursor.execute('select count(*) FROM raindrop WHERE timestamp BETWEEN AND ') Abbildung 5-22: Abfragen der Test-Daten auf einen Bereich in "SQLite" query.constrain(clr.getclrtype(raindrop)) query.descend("_timestamp").constrain( ).greater().and(query.descend("_timestamp").constrain( ).smaller()) result = query.execute() Abbildung 5-23: Abfragen der Test-Daten auf einen Bereich in "db4o" db.raindrop.find({"timestamp":{'$gt': , '$lt': }}).count() Abbildung 5-24: Abfragen der Test-Daten auf einen Bereich in "MongoDB" BMT-5 Join - Abfrage mit Beziehungen In der Join-Abfrage werden alle Datensätze eines Frames ausgelesen, welches das nachfolgende Frame eines einzelnen Datensatzes ist. Zu beachten ist, dass das objekt- und dokumentorientierte DBMS konzeptbedingt keine Join-Abfrage direkt unterstützen. Deshalb wurden für das DBMS db4o und MongoDB die Join-Abfrage manuell implementiert. cursor.execute("""select count(*) FROM raindrop AS a INNER JOIN raindrop AS b ON b.frameid = a.nextframeid WHERE a.timestamp = """) Abbildung 5-25: Join-Abfragen in "PostgreSQL" cursor.execute('select count(*) FROM raindrop AS a INNER JOIN raindrop AS b ON b.frameid = a.nextframeid WHERE a.timestamp = ') Abbildung 5-26: Join-Abfragen in "SQLite" Herbst /36

19 Kapitel: 5 Benchmark query.constrain(clr.getclrtype(raindrop)) query.descend("_timestamp").constrain( ) result = query.execute() query = db.query() query.constrain(clr.getclrtype(raindrop)) query.descend("_frameid").constrain(result[0].nextframeid) result = query.execute() Abbildung 5-27: Join-Abfragen in "db4o" rd = db.raindrop.find_one({"timestamp": }) db.raindrop.find({"frameid": rd['nextframeid']}).count() Abbildung 5-28: Join-Abfragen "MongoDB" 5.4 Test-Umgebung Für den Benchmark wurde folgendes System verwendet. System Type Model Prozessor RAM Hard Drive 64-Bit Operating System HP Compaq 8710p Intel Core 2 Duo CPU 2.50GHz 4.00 GB Fujitsu MHZ2250BH G2 ATA Device (250GB, 5400 RPM) Operating System Windows Professional 7 Tabelle 5-2: Systemeigenschaften 5.5 Effizienz-Kriterien Im Durchgeführten Benchmark wird als Effizienz-Kriterium einzig die Zeit betrachtet. Weitere Kriterien wie RAM-Auslastung, CPU-Auslastung und Speicherplatz der Datenbank wären denkbar. 5.6 Konfigurationen der DBMS Wie bereits in der Aufgabenstellung erwähnt, werden die jeweiligen DBMS Out-Of-The-Box verwendet. D.h. es werden keine eigenen Änderungen an den Konfigurationen vorgenommen. Somit werden die Standardkonfigurationen der DBMS bei belassen. 5.7 Ergebnisse und Diskussion In diesem Kapitel werden die Ergebnisse der BMTs 1 bis 6 aufgezeigt. Diese sind im Kapitel [5.3 Benchmark-Tests und Benchmark-Ablauf] genauer erläutert. Dabei zeigt jedes Diagramm sechs Durchführungen der jeweiligen Interaktion (z.b. Insert, Join, etc.). Herbst /36

20 Kapitel: 5 Benchmark Auf Grund der Übersicht sind die Achsen der jeweiligen Plots nicht beschrieben. In jedem Plot sind auf der X-Achse die sechs nacheinander durchgeführten Benchmarks. Die Y-Achse zeigt die jeweilige Dauer in Sekunden. Die Farben der Balken in den Diagrammen repräsentieren je ein DBMS. Folgende Legende gilt für die untenstehenden Diagramme. SQLite PostgreSQL db4o MongoDB Abbildung 5-29: Ergebnisse des Benchmarks Herbst /36

21 Kapitel: 5 Benchmark Bestimmte DBMS benötigen für das erstmalige Einfügen der Daten deutlich länger als bei erneuten Einfüge-Aktionen. So dauert das erste Einfügen bei db4o ca. 40 Sekunden. Anschliessende Einfüge-Aktionen benötigen nur noch zwischen 10 und 15 Sekunden. Dies stellt eine ca. dreifache Verbesserung dar. Der SelectAll-Plot weisst ein ähnliches Verhalten wie der Insert-Plot auf. Die MongoDB zeigt ein enorme Verbesserungen bei erneuten Abfrage aller Daten. Wobei der Fokus auf der ersten Abfrage liegt. Diese dauert ca. 40 mal länger als bei anderen Datenbanken! Dafür benötigt sie für die weiteren SelectAll-Abfragen praktisch keine Zeit mehr. In den restlichen vier Plots zeigt sich, dass db4o deutlich langsamer die gestellten Interaktionen verarbeitet. Unserer Meinung nach liegt der Grund dieses Ergebnis in dem zusätzlich eingefügten Layer. Da db4o in erster Linie für Java und.net Entwicklern bereitgestellt wird, musste wie im Kapitel [5.2.1 Datenbanken] beschrieben, eine in.net implementierte Klasse eingebunden werden. Durch die Verwendung einer.net-klasse muss der Overhead der virtuellen Maschine von.net in Kauf genommen werden. Abbildung 5-30:.Net-Basisprinzip [Wiki.Net] Um eine bessere Analyse zu erlauben werden die vier Plots nachfolgend ohne das DBMS db4o erneut dargestellt. Herbst /36

22 Kapitel: 5 Benchmark Abbildung 5-31: Ergebnisse ohne "db4o" Die in der Abbildung [Abbildung 5-30: Ergebnisse ohne "db4o"] dargestellten Plots zeigen die Ergebnisse ohne das DBMS db4o. In diesen Plots kristallisiert sich nun die MongoDB heraus. Sie benötigt für die gestellten Anfragen erheblich länger als die SQL-Datenbanken. Die beiden DBMS PostgreSQL und SQLite weisen in den Plots ähnliche Zeiten auf. Herbst /36

23 Kapitel: 5 Benchmark Zu beachten ist, dass PostgreSQL und SQLite relational DBMS sind im Gegensatz zur objektorientierten db4o und dokument-orientierter MongoDB. Deshalb ist es denkbar, dass gewisse DBMS je nach Art der Datenstruktur Vorteile in bestimmten Anwendungsgebiete besitzen. Durch den durchgeführten Benchmark können folgende Aussagen getroffen werden. Das DMBS db4o weisst im Vergleich zu den anderen drei DBMS die schlechteste Performanz auf. Wie bereits erwähnt, könnte der zusätzlich eingefügte Layer durch die.net CLR für den starken Performanz-Verlust verantwortlich sein. Interessant wäre nun wie sich die DBMS aus Java oder.net verhalten würden. Denkbar wäre, dass db4o dadurch einen Vorteil erhalten würde. Dies darum, weil nun db4o in der für sie vorgesehenen Umgebung eingesetzt werden würde. Beim Vergleich der DBMS ohne db4o zeigt sich, dass die MongoDB bei den meisten Test schlecht abschneidet. Interessant sind jedoch die ähnliche Ergebnisse beim BMT-5 Join. Obwohl die MongoDB nicht für Join-Abfragen ausgerichtet ist, performt sie nicht wesentlich schlechter. Es ist erstaunlich wie gut die noch sehr junge MongoDB mit dem ca. 30 Jährigen PostgreSQL mithalten kann. Nun stellt sich die Frage, ob der neue, dokumentorientierte Ansatz in Zukunft ähnliche oder sogar bessere Leistungen erbringen wird und sich dadurch zum neuen Datenbankstandard durchsetzen kann. Die relationalen Datenbanken SQLite und PostgreSQL weissen in den meisten Plots sehr ähnlich Werte auf. Dies lässt sich vermutlich auf die gemeinsame verwendete Technologie SQL zurückführen. Herbst /36

24 Kapitel: 6 Vergleichbarkeitsbasis & Optimierungspotentiale 6 Vergleichbarkeitsbasis & Optimierungspotentiale Dieses Kapitel zeigt die Möglichkeiten auf, welche fairere Vergleichsbarkeitsbasis erlauben. Des Weitern werden auch Optimierungspotentiale aufgelistet. Zu beachten ist, dass die nachfolgend gezeigten Optimierungen lediglich eine kleine Menge der Möglichkeiten darstellen. 6.1 Isolation-Level Durch die Verwendung der Out-Of-The-Box -Konfiguration der DBMS weisen diese zum Teil unterschiedliche Isolation-Level auf. Folgende Default-Einstellungen gelten für die DBMS. PostgreSQL: Read-Commited [IsoLevelPostgres] SQLite: Serialized [IsoLevelSQLite] Db4o: Read-Commited [IsoLevelDb4o] MongoDB: Kein Isolation-Level und ACID grössten Teils nicht umgesetzt [IsoLevelMongo] Um eine faire Vergleichbarkeitsbasis zu schaffen, müssen die Isolation-Level entsprechend angepasst werden. 6.2 Datentyp-Sicherheit Nicht jedes der vier getesteten DBMS gewährleistet Typsicherheit. So ist SQLite von sich aus nicht typsicher. Der Datentyp wird aus dem zu speicherndem Wert abgeleitet und nicht dessen Container. Ein mögliche Variante um eine faire Vergleichsbasis zu schaffen, liegt in dem manuellen Definieren von Check-Constraints wie im folgendem Beispiel gezeigt ist. [SQLiteType] ALTER TABLE raindrob ADD CONSTRAINT is_timestamp_int CHECK (timestamp BETWEEN and ) Abbildung 6-1: Erstellen von Check-Constraints 6.3 Einsatz von Index Durch das Erstellen von Indexen kann eine bessere Performance bei den DBMS erzielt werden. Die Indexierung wird bei den vier betrachten Datenbanken unterstützt. Der nachfolgende Python-Code zeigt das Erstellen eines Index für die einzelnen DBMS. cursor.execute("create INDEX time_idx ON raindrop(x, timestamp);") Abbildung 6-2: Erstellen eines Indexes für PostgreSQL und SQLite Herbst /36

25 Kapitel: 6 Vergleichbarkeitsbasis & Optimierungspotentiale db.raindrop.ensure_index('timestamp') db.raindrop.ensure_index('x') Abbildung 6-3: Erstellen eines Indexes für MongoDB Db4oFactory.Configure().ObjectClass(clr.GetClrType(Raindrop)).ObjectField("_x").Indexed("true") Db4oFactory.Configure().ObjectClass(clr.GetClrType(Raindrop)).ObjectField("_timestamp").Indexed("true") Abbildung 6-4: Erstellen eines Indexes für db4o Wie die untenstehenden Plots aufzeigen, konnte durch das Verwenden von Index-Strukturen über die Spalten x und timestamp teilweise signifikante Verbesserungen erreicht werden. In jedem Plot sind auf der X-Achse die sechs nacheinander durchgeführten Benchmarks. Die Y- Achse zeigt die jeweilige Dauer in Sekunden. Folgende Legende gilt für die untenstehenden Diagramme. SQLite PostgreSQL db4o MongoDB Abbildung 6-5: Ergebnisse mit Index-Strukturen Herbst /36

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

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

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

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

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

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite.

Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite. Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite. Was tun, wenn man als Entwickler eine Datenbank einsetzen will, aber keine SQL-Datenbank installieren

Mehr

Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap

Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap Prof. Stefan Keller (Fach-)Hochschule für Technik Rapperswil (bei Zürich) 11.11.2011 PGConf.DE - Stefan Keller 1 Was ist OpenStreetMap? Wikipedia

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

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

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Hochschule für Technik, Wirtschaft und Kultur Leipzig 06.06.2008 Datenbanken II,Speicherung und Verarbeitung großer Objekte

Mehr

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1 Postgresql Michael Dienert 10. Dezember 2007 Inhaltsverzeichnis 1 Übersetzen und Installieren 1 1.1 Installationsort der Programme..................... 1 2 Einrichten einer Testdatenbank 1 2.1 Das Datenbank-Cluster.........................

Mehr

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Datenbanken (WS 2015/2016)

Datenbanken (WS 2015/2016) Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

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

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr

Datenbankentwicklung mit PureBasic

Datenbankentwicklung mit PureBasic Datenbankentwicklung mit PureBasic Datenbanken stellen heutzutage wichtige Informationsquellen für viele Bereiche der Wirtschaft, Verwaltung aber auch im eigenen Haushalt dar. In Datenbanken werden Daten

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager FILESTREAM für Microsoft SQL Server aktivieren FILESTREAM für Microsoft SQL Server aktivieren

Mehr

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

Handbuch organice SQL-Reportgenerator

Handbuch organice SQL-Reportgenerator organice Software GmbH Handbuch organice SQL-Reportgenerator Benutzerhandbuch Stand: August 2013 Inhalt 1. Allgemeine Informationen... 3 1.1 Einführung... 3 1.2 Voraussetzungen... 3 1.3 Zielgruppe... 3

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

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

Full Text Search in Databases

Full Text Search in Databases Full Text Search in Databases Verfasser: Stefan Kainrath (0651066) h0651066@wu-wien.ac.at 0664/1327136 Betreuer: Dipl.-Ing. Mag. Dr. Albert Weichselbraun Inhaltsverzeichnis 1 Motivation... 3 2 Anforderungen...

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 1 04.07.14 Zitat von Eric Schmidt (Google CEO): There was 5 exabytes of information created between the dawn of civilization through

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133. Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht

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

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

Mehr

ROPit-R8. ROP-IRMA & ROP-FiBu TECHNISCHE INFORMATIONEN

ROPit-R8. ROP-IRMA & ROP-FiBu TECHNISCHE INFORMATIONEN ROPit-R8 ROP-IRMA & ROP-FiBu TECHNISCHE INFORMATIONEN Softwarelösung Gastronomie Event-Management Catering Gemeinschaftsverpflegung Stand 05/2010 INHALT Installationsvarianten 3 ROPit R8 als Einzelplatzlö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

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 25.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 8: Transaktionen und wann sie gebraucht werden Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Web Technologien Klassische Datenbanken am Beispiel von MySQL

Web Technologien Klassische Datenbanken am Beispiel von MySQL Web Technologien Klassische Datenbanken am Beispiel von MySQL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00

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

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

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik ARFA ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten

Mehr

Systemanforderungen Verlage & Akzidenzdruck

Systemanforderungen Verlage & Akzidenzdruck OneVision Software AG Inhalt Asura 10, Asura Pro 10, Garda 10...2 PlugBALANCEin 10, PlugCROPin 10, PlugFITin 10, PlugRECOMPOSEin10, PlugSPOTin 10,...2 PlugTEXTin 10, PlugINKSAVEin 10, PlugWEBin 10...2

Mehr

Systemanforderungen Verlage & Akzidenzdruck

Systemanforderungen Verlage & Akzidenzdruck OneVision Software AG Inhalt Asura 9.6, Asura Pro 9.6, Garda 5.6...2 PlugBALANCEin 6.6, PlugCROPin 6.6, PlugFITin 6.6, PlugRECOMPOSEin 6.6, PlugSPOTin 6.6,...2 PlugTEXTin 6.6, PlugINKSAVEin 6.6, PlugWEBin

Mehr

Daten-Ex- und Import mit Oracle und PostgreSQL

Daten-Ex- und Import mit Oracle und PostgreSQL Daten-Ex- und Import mit Oracle und PostgreSQL Holger Jakobs bibjah@bg.bib.de 2004-09-07 Inhaltsverzeichnis 1 Grund für Daten-Im- und -Exporte 1 2 Werkzeuge 1 2.1 Export mit pg_dump von PostgreSQL.....................

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

MySQL Installation. AnPr

MySQL Installation. AnPr Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall

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

2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13

2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13 Vorbemerkungen 1 Werner Geers Berufliche Informatik ISBN:978-3-427-60080-0 Bestellnr.:60080 Zusatzinformationen 1 ARBEITEN MIT XERDI 2 1.1 Vorbemerkungen 2 2 Download und Installation des Programms 3 2.1

Mehr

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken

Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Dokumentation QuickHMI-Schnittstelle für Oracle Datenbanken Version 2.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

Systemanforderungen Verlage & Akzidenzdruck

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

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

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

Perceptive Document Composition

Perceptive Document Composition Systemvoraussetzungen Version: 6.0.1 Erstellt von Product Knowledge, R&D Datum August 2015 Inhalt Perceptive Document Composition Systemvoraussetzungen... 3 Perceptive Document Composition WebClient Systemvoraussetzungen...

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

SINT Rest App Documentation

SINT Rest App Documentation SINT Rest App Documentation Release 1.0 Florian Sachs September 04, 2015 Contents 1 Applikation 3 2 Rest Service 5 3 SOAP Service 7 4 Technologiestack 9 5 Deployment 11 6 Aufgabe 1: Google Webservice

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Chancen und Wachstumsfelder für PostgreSQL

Chancen und Wachstumsfelder für PostgreSQL Chancen und Wachstumsfelder für PostgreSQL Harald Armin Massa by Deutschsprachige PostgreSQL Konferenz 2013 Oberhausen Harald Armin Massa 2ndQuadrant Datenbanken seit 1984 Position Value Datenbank auf

Mehr

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

Access und OpenOffice.org

Access und OpenOffice.org Access-Datenbanken in OpenOffice.org 1.1 einbinden Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen Timo Kozlowski Alle in diesem Dokument erwähnten

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Tutorial: Systemportierung per Datenbank-Sicherung. version: 0.1 Author: Anja Beuth

Tutorial: Systemportierung per Datenbank-Sicherung. version: 0.1 Author: Anja Beuth Tutorial: Systemportierung per Datenbank-Sicherung version: 0.1 Author: Anja Beuth Table of contents 1.1.1... 5 Voraussetzungen auf dem Zielsystem... Datenbank sichern... Datenbanksicherung auf Zielsystem

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

Mehr

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008

Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008 Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

QCfetcher Handbuch. Version 1.0.0.10. Ein Zusatztool zum QuoteCompiler. Diese Software ist nur für private und nicht-kommerzielle Zwecke einzusetzen.

QCfetcher Handbuch. Version 1.0.0.10. Ein Zusatztool zum QuoteCompiler. Diese Software ist nur für private und nicht-kommerzielle Zwecke einzusetzen. Seite 1 QCfetcher Handbuch Ein Zusatztool zum QuoteCompiler Diese Software ist nur für private und nicht-kommerzielle Zwecke einzusetzen. Die neuesten Informationen gibt es auf der Webseite: http://finanzkasper.de/

Mehr

samrestore - restore your SAM-FS files

samrestore - restore your SAM-FS files Einleitung Titelseite samrestore - restore your SAM-FS files Michael Arlt arlt@universa.de 26. Mai 2009 Michael Arlt arlt@universa.de () samrestore - restore your SAM-FS files 26. Mai 2009 1 / 16 Einleitung

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence SS 2014 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 07.05.2014 Business Intelligence Praktikum

Mehr

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

Mehr

20.01.2015 Fabian Grimme und Tino Krüger 1 INDREX. Evaluierung von H2O. Enterprise Data Management Beuth Hochschule für Technik

20.01.2015 Fabian Grimme und Tino Krüger 1 INDREX. Evaluierung von H2O. Enterprise Data Management Beuth Hochschule für Technik 20.01.2015 Fabian Grimme und Tino Krüger 1 INDREX Evaluierung von H2O Enterprise Data Management Beuth Hochschule für Technik 20.01.2015 Fabian Grimme und Tino Krüger 2 INDREX im Überblick In-Database

Mehr

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

Mehr

Grundkonzepte von SQL

Grundkonzepte von SQL Internet Praktikum im Grundstudium: Grundlagen von SQL Nutzung von phpmyadmin Dr. Guido Rößling Dipl.-Ing. Andreas Hartl Grundkonzepte von SQL Relationale Datenbanken basieren auf Tabellen Objektorientierte

Mehr

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

theguard! ApplicationManager (Version 2.4)

theguard! ApplicationManager (Version 2.4) theguard! ApplicationManager (Version 2.4) Stand 01/2005 Der ApplicationManager ist eine 3-schichtige Client-Server Applikation für die es System- Voraussetzungen in verschiedenen Ausprägungen gibt Das

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

mobile GIS Open Source Geodatenbanken Benjamin Winter

mobile GIS Open Source Geodatenbanken Benjamin Winter mobile GIS Open Source Geodatenbanken Benjamin Winter Einführung Internet auf Smartphones integrierte GPS-Sensoren in vielen Geräten einfache Möglichkeit seinen Standort mitzuteilen daher große Menge an

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

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

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

ODK 1500S Standard Applikationen

ODK 1500S Standard Applikationen Übersicht ODK 1500S Standard Applikationen siemens.com/answers ODK 1500S Standard Applikationen Ready-to-use Add-Ons für Simatic Nutzer Erweiterung der S7-1500 Software Controller Funktionalität mit neuen

Mehr

LaMa-Creation Portscanner

LaMa-Creation Portscanner LaMa-Creation Portscanner Seite 1 von 12 Seite 2 von 12 Inhaltsverzeichnis Einleitung...4 Systemanforderung...5 Hardware:...5 Software:...5 Unterstützte Clientbetriebssysteme:... 5 Unterstützte Serverbetriebssysteme:...5

Mehr

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) 4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Das Redaktionssystem UCMS. Beschreibung Technisches Profil

Das Redaktionssystem UCMS. Beschreibung Technisches Profil 1/6 CONTENTMANAGEMENTSYSTEM UCMS 03.12.08 Das Redaktionssystem UCMS Beschreibung Technisches Profil Das vorliegende Dokument gibt einen Überblick über das System und geht auf die Ankopplung oder Integration

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

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Android Java Specifics / Basic IO

Android Java Specifics / Basic IO Dalvik virtual machine Registermaschine anstelle einer Stackmaschine Optimiert für geringen Speicherverbrauch Umwandlung von.class Dateien in.dex-format mit Hilfe von dx Jedes Programm läuft als eigener

Mehr

Ein wesentliches, charakteristisches Merkmal aller Datenbankmanagement

Ein wesentliches, charakteristisches Merkmal aller Datenbankmanagement Anfrageformulierung: Allgemeines Ein wesentliches, charakteristisches Merkmal aller Datenbankmanagement nkmanagement- systeme ist die Unterstützung einer (oder mehrerer) Anfragesprachen. Eine Anfrage ist

Mehr

Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel meusel@iat.uni-leipzig.de

Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel meusel@iat.uni-leipzig.de Institut für Angewandte Trainingswissenschaft Leipzig ein Institut des Trägervereins IAT / FES des DOSB e.v. Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel meusel@iat.uni-leipzig.de

Mehr

DB Restore mit SQL Server7

DB Restore mit SQL Server7 DB Restore mit SQL Server7 Dok.-Nr: MO-SQL7-RE Version: 1.2 Datum: 23.11.2001 Status: In Bearbeitung Klassifizierung: Unklassifiziert Autor: R. Peter Verteiler: Alle DB-Admin. & Inf. Verantwortliche Einleitung

Mehr