Analyse und Bewertung von relationalen Datenbanken gegenüber NoSQL Datenbanken

Größe: px
Ab Seite anzeigen:

Download "Analyse und Bewertung von relationalen Datenbanken gegenüber NoSQL Datenbanken"

Transkript

1 FOM - Hochschule für Oekonomie & Management Essen in Kooperation mit der FH Dortmund Studienfach: IT-Management 2. Semester Wintersemester 2011 Betreuer: Prof. Dr. Gregor Sandhaus Analyse und Bewertung von relationalen Datenbanken gegenüber NoSQL Datenbanken - Ein Vergleich von mysql und mongodb Hausarbeit vorgelegt von: Peyman Pouryekta Matrikelnummer: Essen, den 03. Januar 2012

2 Inhaltsverzeichnis Abkürzungsverzeichnis... 3 Abbildungsverzeichnis... 4 Tabellenverzeichnis Einleitung Grundlagen Datenbank Relationale Datenbanken Relation Tabelle Normalisierung Transaktion NoSQL Datenbanken JSON Horizontale Skalierung CAP Theorem Eventually Consistency Qualitätsanforderungen Untersuchung MySQL MySQL Tools SQL MongoDB MongoHub Object-Based Query Language Sharding Vergleich Kriterien Gegenüberstellung Bewertung Schlussbetrachtung Literaturverzeichnis

3 Abkürzungsverzeichnis Abkürzung DBMS SQL NoSQL JSON CAP BSON Beschreibung Database Management System Structured Query Language Not only SQL JavaScript Object Notation Consistency, High Availability, Partition Tolerance Binary JSON 3

4 Abbildungsverzeichnis Nummer Beschreibung Seite 1. JavaScript Object Notation Forfeit Consistency MySQL Administrator MySQL Query Browser MongoHub Administration MongoHub Query Sharding 18 4

5 Tabellenverzeichnis Nummer Beschreibung Seite 1. MongoDB vs MySQL 20 5

6 1 Einleitung In der heutigen Zeit von Social Media Applikationen ist es notwendig eine sehr große Anzahl an Anfragen und User in einer Applikation zu behandeln. Mit herkömmlichen relationalen Datenbanken ist dies nicht immer möglich, da die Systeme früher oder später Performanceeinbußen in Kauf nehmen müssen. Relationale Datenbanken sind grundsätzlich nicht für hohe Skalierbarkeit ausgelegt. Hier setzen NoSQL Datenbanken wie MongoDB an. Die Arbeit befasst sich mit den beiden Datenbanken MySQL und MongoDB. Die Grundfunktionen beider Datenbanken werden beschrieben und einander gegenübergestellt. Der Autor möchte zeigen welche Vor- und Nachteile die jeweilige Datenbank hat und für welchen Bereich sie somit eingesetzt werden kann. Im ersten Teil dieser Arbeit geht es um die beiden Datenbank Formen relationale Datenbanken und NoSQL Datenbanken. Außerdem werden kurz die Qualitätsanforderungen an eine Datenbank bestimmt. Im Hauptteil der Arbeit befasst sich der Autor mit der MySQL Datenbank und der MongoDB. Dabei sollen Besonderheiten der jeweiligen Systeme herausgestellten werden. Anschließend werden die beiden Datenbanken anhand fester Kriterien gegenübergestellt und Vor- und Nachteile des jeweiligen Systems betrachtet. Zum Schluss wird auf das Ergebnis eingegangen und eine Bewertung vorgenommen. 6

7 2 Grundlagen In diesem Kapitel beschäftigt sich der Autor mit den Grundlagen von Datenbanken. Speziell relationale- und hierachischen-datenbanken werden hier betrachtet und deren Anforderungen in der heutigen Zeit. 2.1 Datenbank In fast jeder Applikation wird eine Datenbank eingesetzt. Die Aufgabe einer Datenbank ist die Speicherung, Verwaltung und Manipulation von Informationen. Sascha Kersken definiert den Begriff wie folgt: 1 Der Begriff bezeichnet nämlich zwei verschiedene Dinge: zum einen die Datensammlung selbst, zum anderen das Programm, das diese Daten verwaltet. [...] Das Anwendungsprogramm, mit dem diese Daten verwaltet werden können, enthält mehr oder weniger mächtige Funktionen zum Suchen, Sortieren, Filtern und formatierten Ausgeben dieser Daten. Ein solches Programm wird als Database Management System (DBMS), also Datenbankverwaltungssystem, bezeichnet. In dieser Arbeit wird der Begriff Datenbank im Sinne von DBMS verwendet. Je nach Art und Anforderung an eine Applikation können unterschiedliche Formen von Datenbanksystemen verwendet werden: 2 hierachisch: Die Datenobjekte können ausschließlich in einer Eltern-Kind-Beziehung zueinander stehen. netzwerkartig: Die Datenobjekte werden miteinander in Netzen verbunden. relational: Die Daten werden zeilenweise in Tabellen verwaltet. Es kann beliebige Beziehungen zwischen Daten geben. Sie werden durch Werte bestimmter Tabellenspalten festgelegt. objektorientiert: Die Beziehungen zwischen Datenobjekten werden 1 Kersken, Handbuch für Fachinformatiker, S Wikipedia, Datenbanken: Verschiedene Formen von Datenbanken 7

8 vom Datenbanksystem selbst verwaltet. Objekte können Eigenschaften und Daten von anderen Objekten erben. Es existiert eine Vielzahl von Misch- und Nebenformen, wie zum Beispiel das objektrelationale Modell. Der Autor beschäftigt sich in dieser Arbeit mit einer relationalen- und einer dokumentenbasierter-datenbanken (Mischform aus hierarchisch und relational) Relationale Datenbanken Eine relationale Datenbank besteht, wie der Name schon sagt aus Relationen. Die Daten werden in Tabellen gehalten die untereinander dann Relationen beinhalten können Relation Nach Klug ist der Begriff der Relation im Bezug auf relationalen Datenbanken wie folgt zu erklären: 3 Relationale Datenbanken basieren auf dem mathematischen Konzept der Relation. Eine Relation ist eine Teilmenge des kartesischen Produktes der Elemente einer Menge. Letzteres ist die Menge, die aus der Kombination aller ihrer Elemente entsteht. Bei der Speicherung von Daten in einer relationalen Datenbank, werden Objekte aus der realen Welt mit ihren Eigenschaften in der Datenbank abgebildet. Solche Objekte werden in der Datenbank als Enitäten bezeichnet. Die Eigenschaften einer Entität werden als Attribute bezeichnet. Entitäten mit gleichen Attributen sind vom gleichen Entitätstyp und können somit zu Entitätsmengen zusammengefasst werden Tabelle Die Daten in einer relationalen Datenbank werden in Tabellen organisiert. Durch Verwendung von Primärschlüsseln in einer Tabelle sind die Elemente einer Relation eindeutig von einander unterscheidbar. Dieser Primärschlüssel sorgt für die Enitäts-Integrität einer Tabelle. Durch den Einsatz von Fremdschlüsseln aus einer anderen Tabelle kann so 3 Klug, Datenbankanwendungen entwerfen & programmieren, S.55 4 Vgl. Klug, Datenbankanwendungen etnwerfen & programmieren, S.56 8

9 eine Relation erzeugt werden. Das durch Relation erzeugte konkretisierte konzeptionelle Schema wird Relationsschema genannt Normalisierung Bei der Normalisierung geht es darum, die Daten in eine neue Form zu bringen, so dass sie optimiert verwendet werden können. Es kann zu konsistenter Datenhaltung führen und eliminiert Redundanzen. Es gibt mehrere Formen von Normalisierung: 1. Normalform: Verlangt, dass die Information in einem Datenbankfeld atomar ist. 2. Normalform: Fordert zusätzlich, dass alle Felder in einer Tabelle nur vom Primärschlüssel abhängen. 3. Normalform: Fordert zusätzlich, dass alle Felder funktional unabhängig von einander sind Transaktion Eines der wichtigsten Eigenschaften von relationalen Datenbanken sind Transaktionen. Sie betrachten eine Folge von Programmschritten als eine logische Einheit und gewährleisten einen fehlerfreie Ausführung und somit den konsistenten Zustand der Datenbank. Transaktionen besitzen ACID-Eigenschaften: 7 Atomicity bedeutet, dass eine Transaktion in ihrer Ausführung nicht weiter unterteilbar ist, also ganz oder gar nicht ausgeführt wird. Die kleinste Transaktion enthält eine einzige SQL-Anweisung. Consistency bedeutet, dass ein vor Transaktionsbeginn konsistenter Datenbestand durch die Ausführung der Transaktion wieder in einen konsistenten Datenbestand überführt wird. Isolation bedeutet, dass gleichzeitig arbeitende Transaktionen sich nicht gegenseitig beeinflussen, sie in einer Art von simuliertem Ein- Programm- und Ein-Benutzer-Modus ablaufen. Duration bedeutet, dass nach einem commit die Wirkung einer Trans- 5 Vgl. Klug, Datenbankanwendungen etnwerfen & programmieren, S.58 6 Vgl. Kersken, Handbuch für Fachinformatiker, S Klug, Datenbankanwendungen etnwerfen & programmieren, S.331 9

10 aktion dauerhaft ist NoSQL Datenbanken Not only SQL (NoSQL) Datenbanken verfolgen einen nicht-relationalen Ansatz. Die Daten werden hier bei nicht in einer Tabelle organisiert, sondern meist in der JavaScript Object Notation (JSON) abgelegt. Es findet generell keine Normalisierung statt. Die abzulegenden Objekte werden als Dokument behandelt und ganzheitlich abgelegt. Ziel der NoSQL Datenbanken ist es performanter, sklaierbarer und flexibler als relationale Datenbanken zu sein JSON JSON ist eine sehr kompaktes Dateiformat, das menschenlesbar und maschinenlesbar ist. Es kennt folgende Datentypen: 8 Nullwert: Wird dargestellt als null boolescher Wert: Wird dargestellt durch die Schlüsselworte true und false Zahl: Wird dargestellt durch eine Folge von Ziffern 0-9 die durch ein negatives Vorzeichen - eingeleitet und durch einen Dezimalpunkt. unterbrochen werden kann. Exponenten e oder E können mit den gleichen Regeln ergänzt werden. Zeichenkette: Wird durch doppelte Anführungszeichen gekennzeichnet. Array: Beginnt mit [ endet mit ] und enthält Werte, die durch ein Komma, getrennt werden. Objekt: Beginnt mit { endet mit } und enthält Eigenschaften, die durch ein Komma, getrennt werden. Objekt Eigenschaften: Besteht aus einem Key/Value Pair, die durch einen Doppelpunkt : getrennt werden. Der Key ist eine Zeichenkette und muss immer in einem Objekt eindeutig sein. Der Value kann ein Objekt, Array, Zeichenkette, Zahl, boolescher Wert oder ein Nullwert sein. 8 Vgl. Wikipedia, JavaScript Object Notation: Datenstruktur und Formatdefinition 10

11 1. JavaScript Object Notation Horizontale Skalierung Horizontale Skalierung kommt immer dann zum Einsatz, wenn man ein schreibintensives, hochperformates System hat, das mit großen Datenmengen arbeiten muss. Dabei werden mehrere Server verwendet, die sich die Arbeit teilen. Das hat zusätzlich positive Auswirkungen auf Zuverlässigkeit und Verfügbarkeit. ACID-Eigenschaften von Transkationen lassen sich damit auch anwenden, jedoch tritt dann bei großen verteilten Systemen das CAP Theorem auf CAP Theorem Das Theorem von Eric Brewer besagt, 11 dass ein verteiltes System nicht gleichzeitig alle drei Anforderungen erfüllen kann sondern höchstens zwei: Starke Konsistenz bedeutet, dass alle Knoten zur selben Zeit die gleiche Sicht auf die Daten haben, auch wenn die Daten verändert wurden 9 Wikipedia, JavaScript Object Notation: Datenstruktur und Formatdefinition 10 Vgl. Spichale, JavaMagazin , Cassandra und Hector, S Spichale, JavaMagazin , Cassandra und Hector, S.50 11

12 Hochverfügbarkeit bedeutet, dass der Ausfall von einem Knoten durch die verbleibenden kompensiert werden kann Partitionstoleranz bedeutet, dass die Funktionsfähigkeit des Systems erhalten bleibt, auch wenn Nachrichten verloren gehen Bei den meisten NoSQL Datenbanken wird die Konsistenz vernachlässigt, da die beiden anderen Punkte wichtiger sind für hochperformante Systeme. Forfeit Consistency These Consistency Availability Tolerance to network Partitions Examples Coda Web cachinge DNS Traits expirations/leases conflict resolution optimistic The Real ACI W But Sym data over 2. Forfeit Consistency 12 PODC Keynote, July 19, Eventually Consistency Eventually Consistency ist eine Form der schwachen Konsistenz, bei der die Daten innerhalb einer Zeit inkonsistent sein können. Durch diese Toleranz lassen sich erhebliche Verbesserungen bei der Performace von Lese- und Schreibeoperationen feststellen. Auch die Partitionstoleranz wird verbessert, da das System auf Anfragen reagieren kann, auch wenn die Mehrheit der Servern nicht erreichbar ist. 13 CAP Take Homes 12 Brewer, PODC Keynote Slides, S.5 13 Vgl. Spichale, JavaMagazin , Cassandra und Hector, S.50 Can have consistency & availability within a cluster (foundation of Ninja), but it is still hard in 12

13 2.2 Qualitätsanforderungen Anforderungen und Ziele, die eine Datenbank verfolgt sind nach Alfred Moos folgende: 14 Datenbanken sind heute der Kern betriebswirtschaftlicher Anwendungssysteme und nicht nur dieser. Mit ihrem Einsatz werden viele Ziele verfolgt. Die wichtigsten sind: Datenunabhängigkeit der Anwendungsprogramme Verlässliche Richtigkeit der Daten - Integrität Zentrale Verwaltung der Daten Datensicherheit und Datenschutz Im Laufe der Zeit werden Applikationen immer größer und komplexer. Demnach lassen sich noch zusätzlich folgende Anforderungen nennen, die bereits jetzt aber auch in Zukunft relevant sind: Flexibilität Skalierbarkeit Performance 14 Moos, Datenbank-Engineering, S

14 3 Untersuchung In der folgenden Untersuchung betrachtet der Autor die beiden Datenbanken MySQL und MongoDB. Zum Ende werden diese beiden Datenbanken nach bestimmten Kriterien gegenübergestellt. 3.1 MySQL MySQL ist eine relationale Datenbank Software. Es gibt eine große Community und sie wird oft für dynamische Webseiten verwendet. Die Software ist als Open Source und als kommerzielle Enterpriseversion verfügbar. Die Software unterstützt die Betriebssysteme Unix, Linux, Windows, Mac OS, i5/os und OpenVMS und ist in C++ geschrieben MySQL Tools Über die MySQL GUI-Tools lässt sich die Datenbank verwalten. Dabei gibt es einmal den MySQL Administrator, der eine Reihe an Funktionen liefert, um die Datenbank zu administrieren. 3. MySQL Administrator 14

15 Das zweite Tool ist der MySQL Query Browser. Er kann über SQL Queries die Inhalte der Tabellen darstellen. 4. MySQL Query Browser SQL SQL ist die Sprache, die Abfragen bei der relationalen Datenbanken ermöglicht. Die Grundfunktionen lauten: CREATE: Mit dieser Funktion ist es möglich neue Tabellen anzulegen INSERT: Mit dieser Funktion ist es möglich neue Datensätze einzufügen SELECT: Mit dieser Funktion können die Daten abgefragt werden UPDATE: Mit dieser Funktion können Daten aktualisiert werden DELETE: Mit dieser Funktion können Daten entfernt werden Mit diesen Funktionen lassen sich alle einfachen Datenbank Abfragen realisieren. 15

16 3.2 MongoDB MongoDB ist eine schemalose dokumentenorientierte Datenbank Software. Sie wird vorallem in großen Systemen eingesetzt bei denen es wichtig ist, horizontal zu skalieren. Die Software ist als Open Source verfügbar und plattformunabhängig MongoHub Über das Tool MongoHub kann man die MongoDB administrieren. Es stellt ähnlich wie bei MySQL umfangreiche Funktionen bereit. 5. MongoHub Administration Um Inhalte aus der Datenbank betrachten zu können gibt es unter MongoHub eine Query View. Hier können die Werte gelesen und verändert werden. 16

17 6. MongoHub Query Object-Based Query Language MongoDB hat eine dynamische, objektbasierende Abfragesprache. Die Grundfunktionen lauten: find(); zum selektieren und filtern von Daten insert(); zum hinzufügen von Daten remove(); zum entfernen von Daten save(); zum speichern von Daten Die Daten werden dabei in BSON gehalten. BSON ist eine JSON ähnliches Format Sharding Sharding befasst sich mit der horizontallen Fragmentierung. MongoDB bietet dabei eine 17

18 Auto-Sharding Funktion. Die Gründe für Sharding sind Vermeidung vom Single Point of Failure, Hochverfügbarkeit, Skalierbarkeit und somit auch Performance Verbesserung. 7. Sharding 15 In MongoDB werden die Daten aufgeteilt, somit liegen die Daten in verschiedenen Replica Sets. Diese Replica Sets beinhalten eine Anzahl an Shards in denen die Daten organisiert sind. Die Shards in einem Replica Set teilen sich die Daten und sind so organisiert, dass bei einem Ausfall eines Shards die Daten von einem der anderen Shards zur Verfügung gestellt werden kann. Der Mongo Router ist dafür zuständig auf die jeweiligen Replica Sets zu routen. Auch hier kann ein Replica Set ausfallen, ohne dass der Betrieb der Applikation gestört wird, da es noch weitere Replica Sets gibt die dann einspringen. 15 Vgl. Banker, MongoDB in Action, S

19 3.3 Vergleich In diesem Kapitel werden die beiden Datenbanken miteinander verglichen. Es werden Kriterien gewählt anhand dessen dann eine Gegenüberstellung durchgeführt wird. Anschließend wird das Ergebnis vom Autor bewertet Kriterien Folgende Kriterien wurden festgelegt an denen die beiden Datenbanken gegenübergestellt werden: 16 Data Model Data Types Large Objects (Files) Horizontal partitioning scheme Replication Object(row) Storage Query Method Secondary Indexes Atomicity Interface Server-side batch data manipulation Written in Concurrency Control Geospatial Indexes Distributed Consistency Model 16 Vgl. mongodb.org: MongoDB, CouchDB, MySQL Compare Grid 19

20 3.3.2 Gegenüberstellung MongoDB MySQL Data Model Document-Oriented (BSON) Relational Data Types string, int, double, boolean, link date, bytearray, object, array, others Large Objects (Files) Yes (GridFS) Blobs Horizontal partitio- Auto-sharding Partitioning ning scheme Replication Master-slave and replica sets Master-slave, multi-master, and circular replication Object(row) Storage Collection-based Table-based Query Method Dynamic; object-based query Dynamic; SQL language Secondary Indexes Yes Yes Atomicity Single document Yes - advanced Interface Native drivers ; REST add-on Native drivers Server-side batch data Map/Reduce, server-side Yes (SQL) manipulation javascript Written in C++ C++ Concurrency Control Update in Place Geospatial Indexes Yes Spatial extensions Geospatial Indexes Strong consistency. Even- Strong consistency. Even- tually consistent reads from secondaries are available. tually consistent reads from secondaries are available. 1. MongoDB vs. MySQL Bewertung Anhand der Gegenüberstellung erkennt man die Vor- und Nachteile der jeweiligen Datenbank. MySQL verwendet ein relationales Datenmodel, das eine starke Konsistenz ermöglicht. Dadurch müssen die Daten zuerst in Tabellenform gebracht werden, um das Ablegen zu ermöglichen. Zum horizontalen Partitionieren wird die Partitionierung eingesetzt, bei dem die Daten kategorisiert werden und somit in einem bestimmten Bereich abgelegt werden. Die Größten Vorteile bei MySQL liegen in der starken Konsistenz und 17 mongodb.org: MongoDB, CouchDB, MySQL Compare Grid 18 MySQL: MySQL 5.0 Manual 20

21 der großen Community von relationalen Datenbanken. Bei MongoDB wird auf hohe Verfügbarkeit und hohe Performanz gesetzt. Die Daten werden als Dokumente abgelegt und sind durch das BSON Format stark minimalisiert. Zum horizontalen patritionieren wird Auto-Sharding verwendet. Hierbei werden die Daten in Fragmenten auf mehrere Shards verteilt die dann untereinander organisiert sind und die Daten ausliefern können. Die größten Vorteile bei Mongo DB liegen bei der Ausfallsicherheit, Performance und der Skalierung der Datenbank. Alle weiteren Punkte sind bei beiden Datenbanken sehr ähnlich oder liefern sehr ähnliche Ergebnisse die keine gravierenden Vorteile verschaffen. 21

22 6 Schlussbetrachtung Zusammenfassend kann man sagen, das beide Datenbanken ihr Existenzrecht besitzen. MySQL hat eine große Community und wird sehr häufig eingesetzt. Die starke Konsistenz ist oft notwendig bei kleinen bis mittelgroßen Software Lösungen. Das Tooling und die Abfragesprache ist sehr ausgereift und ermöglich fast jede erdenkliche Abfrage. Bei MongoDB liegt der Schwerpunkt auf Skalierung und Performance. Die Datenbank ist sehr schnell und kann ohne großen Aufwand skaliert werden. Das Tooling ist vergleichbar mit den MySQL Tools und die Abfragesprache ermöglicht ähnliche Funktionen wie bei SQL, ist aber nicht so ausgereift, da es auch nicht notwendig ist. Da MongoDB nicht relational ist, wird in Kauf genommen, dass Daten teilweise redundant gehalten werden. Es liegt im Vordergrund die schnelle Erreichbarkeit der Daten. Die Datenbank wird vorallem im Enterprise Bereich eingesetzt, in dem es sehr viele User und Anfragen gibt die bedient werden müssen. 22

23 Literaturverzeichnis Banker, Kyle: MongoDB in Action, Manning Publications, 2011 Brewer, Eric: PODC Keynote Slides, 2000 Kersken, Sascha: Handbuch für Fachinformatiker, Galileo Computing, 2005 Klug, Uwe: Datenbankanwendungen entwerfen & programmieren - Von der objektorientierten Analyse bis hin zur SQL-Implementierung, W2L GmbH 2008 MongoDB: MongoDB, CouchDB, MySQL Compare Grid display/docs/mongodb%2c+couchdb%2c+mysql+compare+grid ( , 12:14 Uhr) Moos, Alfred: Datenbank-Engineering, Vieweg Verlag 2004 MySQL: Chapter 10. Data Types html ( , 12:30 Uhr) Spichale, Kai: JavaMagazin , Cassandra und Hector, S.50 Wikipedia: Datenbanken: Verschiedene Formen von Datenbanksystemen de.wikipedia.org/wiki/datenbank#verschiedene_formen_von_datenbanksystemen (19. Dez. 2011, 16:58 Uhr) Wikipedia: JavaScript Object Notation: Datenstruktur und Formatdefinition de.wikipedia.org/wiki/javascript_object_notation (20. Dez. 2011, 19:36 Uhr) 23

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

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1)

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1) Datenbanken und SQL Kapitel 1 Übersicht über Datenbanken Übersicht über Datenbanken Vergleich: Datenorganisation versus Datenbank Definition einer Datenbank Bierdepot: Eine Mini-Beispiel-Datenbank Anforderungen

Mehr

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. Architekturtag @ SEACON 2012 Hamburg

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. Architekturtag @ SEACON 2012 Hamburg NoSQL Was Architekten beachten sollten Dr. Halil-Cem Gürsoy adesso AG Architekturtag @ SEACON 2012 Hamburg 06.06.2012 Agenda Ein Blick in die Welt der RDBMS Klassifizierung von NoSQL-Datenbanken Gemeinsamkeiten

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

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-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester 2014. Universität Leipzig http://dbs.uni-leipzig.de 1-1

NoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester 2014. Universität Leipzig http://dbs.uni-leipzig.de 1-1 NoSQL-Datenbanken Kapitel 1: Einführung Lars Kolb Sommersemester 2014 Universität Leipzig http://dbs.uni-leipzig.de 1-1 Inhaltsverzeichnis NoSQL-Datenbanken Motivation und Definition Kategorisierung, Eigenschaften

Mehr

NoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de

NoSQL-Databases. Präsentation für Advanced Seminar Computer Engineering, Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de NoSQL-Databases Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de Klassische SQL-Datenbanken Anwendungsgebiet: Geschäftsanwendungen Behördenanwendungen

Mehr

Aktuelle SE Praktiken für das WWW

Aktuelle SE Praktiken für das WWW Aktuelle SE Praktiken für das WWW SQL vs. NoSQL W. Mark Kubacki 23.06.2010 Gliederung Zusammenfassung Entstehungsgeschichte SQL vs. NoSQL Systemarchitekturen und Wachstumsmuster SQL NoSQL Überblick und

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

Auf einen Blick. 1 Einführung 25. 2 Die Grundlagen 55. 3 Praxis 1 - das Kassenbuch. (zentraler CouchDB-Server) 139

Auf einen Blick. 1 Einführung 25. 2 Die Grundlagen 55. 3 Praxis 1 - das Kassenbuch. (zentraler CouchDB-Server) 139 Auf einen Blick 1 Einführung 25 2 Die Grundlagen 55 3 Praxis 1 - das Kassenbuch (zentraler CouchDB-Server) 139 4 Praxis 2 - das Kassenbuch als CouchApp 161 5 CouchDB-Administration 199 6 Bestehende Anwendungen

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

Einführung in Datenbanken

Einführung in Datenbanken Grundlagen der Programmierung 2 Einführung in Datenbanken Grundlagen der Programmierung 2 I-1 Inhalt Einführung Entity-Relationship-Diagramm Relationales Modell Entity-Relationship-Diagramm ins Relationales

Mehr

Soziotechnische Informationssysteme

Soziotechnische Informationssysteme Soziotechnische Informationssysteme 8. NoSQL Relationale Datenbank NoSQL Datenbank Relationale Datenbank? NoSQL Datenbank RDBM 2 Warum? Skalierbarkeit Riesige Datenmengen Performanz und Elastizität Auslastung

Mehr

Persönlichkeiten bei bluehands

Persönlichkeiten bei bluehands Persönlichkeiten bei Technologien bei Skalierbare Anwendungen mit Windows Azure GmbH & co.mmunication KG am@.de; posts..de/am 1 2 3 4 5 6 7 8 9 Immer mehr Mehr Performance Mehr Menge Mehr Verfügbarkeit

Mehr

Einführung in CouchDB

Einführung in CouchDB Einführung in CouchDB Zurücklehnen und entspannen! http://slog.io Thomas Schrader (@slogmen) 12/2010 Übersicht Bestandsaufnahme Ansatz Geschichte Technologien Features Skalierbarkeit Kurz & Gut Fazit Relationale

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

Vorlesung 30.03.2009 1) Einführung

Vorlesung 30.03.2009 1) Einführung Vorlesung 30.03.2009 1) Einführung Was versteht man unter dem Begriff Datenbank? - Eine Datenbank ist eine Struktur zur Speicherung von Daten mit lesendem und schreibendem Zugriff - Allgemein meint man

Mehr

Rein relationale DB in Prod? Datenbanken in produktiven Einsatz? SQL + NoSQL DB in Prod? (MongoDB, Redis, CouchDB, Cassandra)

Rein relationale DB in Prod? Datenbanken in produktiven Einsatz? SQL + NoSQL DB in Prod? (MongoDB, Redis, CouchDB, Cassandra) 1 Rein relationale DB in Prod? Datenbanken in produktiven Einsatz? 2 SQL + NoSQL DB in Prod? (MongoDB, Redis, CouchDB, Cassandra) 3 DB-Cluster in der Cloud? NoSQL?!? SQL Normalformen Come as you are Warum

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

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

ISBN: 978-3-8428-0679-5 Herstellung: Diplomica Verlag GmbH, Hamburg, 2011

ISBN: 978-3-8428-0679-5 Herstellung: Diplomica Verlag GmbH, Hamburg, 2011 Nils Petersohn Vergleich und Evaluation zwischen modernen und traditionellen Datenbankkonzepten unter den Gesichtspunkten Skalierung, Abfragemöglichkeit und Konsistenz Diplomica Verlag Nils Petersohn Vergleich

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015 Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische

Mehr

1 Einführung... 25. 2 Die Grundlagen... 55. 3 Praxis 1 das Kassenbuch (zentraler CouchDB-Server)... 139. 4 Praxis 2 das Kassenbuch als CouchApp...

1 Einführung... 25. 2 Die Grundlagen... 55. 3 Praxis 1 das Kassenbuch (zentraler CouchDB-Server)... 139. 4 Praxis 2 das Kassenbuch als CouchApp... Auf einen Blick 1 Einführung... 25 2 Die Grundlagen... 55 3 Praxis 1 das Kassenbuch (zentraler CouchDB-Server)... 139 4 Praxis 2 das Kassenbuch als CouchApp... 161 5 CouchDB-Administration... 199 6 Bestehende

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

Datenbanken. NoSQL-Datenbank MongoDB. von Maximilian Weber. Listing 1. Artikelserie

Datenbanken. NoSQL-Datenbank MongoDB. von Maximilian Weber. Listing 1. Artikelserie Gigantische Datenbank Die humongous database oder kurz MongoDB hat einen einprägsamen Namen und ist eine vielversprechende NoSQL-Datenbank. MongoDB möchte die Lücke zwischen Key-Value-Stores (die schnell

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

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

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

Relationale Datenbanken Kursziele

Relationale Datenbanken Kursziele Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship

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

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

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

Oracle Big Data Technologien Ein Überblick

Oracle Big Data Technologien Ein Überblick Oracle Big Data Technologien Ein Überblick Ralf Lange Global ISV & OEM Sales NoSQL: Eine kurze Geschichte Internet-Boom: Erste Ansätze selbstgebauter "Datenbanken" Google stellt "MapReduce"

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

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Dokumentenorientierte Datenbanken - MongoDB

Dokumentenorientierte Datenbanken - MongoDB Dokumentenorientierte Datenbanken - MongoDB Jan Hentschel Ultra Tendency UG Übersicht Dokumente sind unabhängige Einheiten Bessere Performance (zusammengehörige Daten werden gemeinsam gelesen) Objektmodell

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

NoSQL. Einblick in die Welt nicht-relationaler Datenbanken. Christoph Föhrdes. UnFUG, SS10 17.06.2010

NoSQL. Einblick in die Welt nicht-relationaler Datenbanken. Christoph Föhrdes. UnFUG, SS10 17.06.2010 NoSQL Einblick in die Welt nicht-relationaler Datenbanken Christoph Föhrdes UnFUG, SS10 17.06.2010 About me Christoph Föhrdes AIB Semester 7 IRC: cfo #unfug@irc.ghb.fh-furtwangen.de netblox GbR (http://netblox.de)

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

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

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

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

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

NoSQL Databases and Big Data

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

Mehr

Eine Einführung in Apache CouchDB. Java-Forum Stuttgart 2011

Eine Einführung in Apache CouchDB. Java-Forum Stuttgart 2011 Eine Einführung in Apache CouchDB Java-Forum Stuttgart 2011 Johannes Schneider, cedarsoft GmbH js@cedarsoft.com http://blog.cedarsoft.com http://cedarsoft.com Vielen Dank CouchDB The VERY Basics Vorerfahrung?

Mehr

Überblick und Vergleich von NoSQL. Datenbanksystemen

Überblick und Vergleich von NoSQL. Datenbanksystemen Fakultät Informatik Hauptseminar Technische Informationssysteme Überblick und Vergleich von NoSQL Christian Oelsner Dresden, 20. Mai 2011 1 1. Einführung 2. Historisches & Definition 3. Kategorien von

Mehr

Brownbag Session mongodb im Einsatz Grundlagen

Brownbag Session mongodb im Einsatz Grundlagen Brownbag Session mongodb im Einsatz Grundlagen 10.08.2012 Nils Domrose inovex GmbH Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. MongoDB wasn t designed in a lab. We built

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

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

Datenbanksystem Datenbankmanagementsystem Datenbank Inhaltsverzeichnis Geschichte

Datenbanksystem Datenbankmanagementsystem Datenbank Inhaltsverzeichnis Geschichte Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte

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

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

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation 1 Inhalt: Relationale Datenbanken 8.1 Was ist ein Datenbanksystem? 8.2 Relationale Datenbanksysteme 8.3 Abbildung des objektorientierten Modells auf Tabellen 2 8.1 Was ist ein Datenbanksystem? Motivation

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

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

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

Big Data Management Thema 14: Cassandra

Big Data Management Thema 14: Cassandra Thema 14: Cassandra Jan Kristof Nidzwetzki Thema 14: Cassandra 1 / 25 Übersicht 1 Grundlagen Überblick Geschichte Datenmodel 2 Architektur Der logische Ring Persistenz der Daten Tunable Consistency Read

Mehr

Abschnitt 4: Grundlagen der Datenbanktechnologie

Abschnitt 4: Grundlagen der Datenbanktechnologie Abschnitt 4: Grundlagen der Datenbanktechnologie Inhalt: Dateien vs. Datenbanken Datenbanken: Tabellen, Attribute und Datentyp Datenmodellierung mit dem Entity-Relationship-Modell Normalformen einer Datenbank

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

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

Einteilung von Datenbanken

Einteilung von Datenbanken Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Was ist Windows Azure? (Stand Juni 2012)

Was ist Windows Azure? (Stand Juni 2012) Was ist Windows Azure? (Stand Juni 2012) Windows Azure Microsofts Cloud Plattform zu Erstellung, Betrieb und Skalierung eigener Cloud-basierter Anwendungen Cloud Services Laufzeitumgebung, Speicher, Datenbank,

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

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015. NoSQL. http://www.w3resource.com/mongodb/nosql.php. Dr. Christian Senger.

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015. NoSQL. http://www.w3resource.com/mongodb/nosql.php. Dr. Christian Senger. NoSQL http://www.w3resource.com/mongodb/nosql.php NoSQL 1 Short History of Databases 1960s - Navigational DBs CODEASYL (COBOL) IMS (IBM) 1980s to 1990s - Object Oriented DBs Object DB's Object-Relational-

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

Informations- und Wissensmanagement

Informations- und Wissensmanagement Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig

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

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 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

SimpleVOC-Yetanother. Bausteine für eine Key/Value- Datenbank

SimpleVOC-Yetanother. Bausteine für eine Key/Value- Datenbank SimpleVOC-Yetanother Memcached? Bausteine für eine Key/Value- Datenbank SimpleVOC Yet another memcached? Bausteine für eine Key/Value Datenbank. Theorie (Martin Schönert) Praxis (Frank Celler) Eine Weisheit

Mehr

Vorwort zur 5. Auflage... 15 Über den Autor... 16

Vorwort zur 5. Auflage... 15 Über den Autor... 16 Vorwort zur 5. Auflage...................................... 15 Über den Autor............................................ 16 Teil I Grundlagen.............................................. 17 1 Einführung

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

Datenbanken I - Einführung

Datenbanken I - Einführung - Einführung April, 2011 1 von 30 Outline 1 Organisatorisches 2 Vorlesungsinhalt 3 Begrisklärung 4 Motivation 5 Abstraktion 6 Datenmodelle 7 Literaturangabe 2 von 30 Scheinkriterien Belegübung Regelmäÿige

Mehr

MongoDB Big Data mit Open Source

MongoDB Big Data mit Open Source MongoDB Big Data mit Open Source CommitterConf Essen 2014 29. Oktober 2014 Tilman Beitter Linux Consultant & Trainer B1 Systems GmbH beitter@b1-systems.de B1 Systems GmbH - Linux/Open Source Consulting,

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

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

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Datenbanken. Dateien und Datenbanken:

Datenbanken. Dateien und Datenbanken: Dateien und Datenbanken: Professionelle Anwendungen benötigen dauerhaft verfügbare, persistent gespeicherte Daten. Datenbank-Systeme bieten die Möglichkeit, Daten persistent zu speichern. Wesentliche Aspekte

Mehr

Big Data Mythen und Fakten

Big Data Mythen und Fakten Big Data Mythen und Fakten Mario Meir-Huber Research Analyst, IDC Copyright IDC. Reproduction is forbidden unless authorized. All rights reserved. About me Research Analyst @ IDC Author verschiedener IT-Fachbücher

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

Think Big. Skalierbare Anwendungen mit Azure. Aydin Mir Mohammadi Bluehands GmbH & co.mmunication KG

Think Big. Skalierbare Anwendungen mit Azure. Aydin Mir Mohammadi Bluehands GmbH & co.mmunication KG Skalierbare Anwendungen mit Azure Bluehands GmbH & co.mmunication KG 1 2 3 4 5 6 7 8 9 Immer mehr Mehr Performance Mehr Menge Mehr Verfügbarkeit Skalierung http://www.flickr.com/photos/39901968@n04/4864698533/

Mehr

S(tructured)Q(uery)L(anguage)

S(tructured)Q(uery)L(anguage) S(tructured)Q(uery)L(anguage) Welche Kunden haben wir? Welche Kunden wohnen in Chicago? Welche Bestellung wurden zwischen dem 01.03.2006 und dem 31.03.2006 aufgegeben? Leibniz Universität IT Services Anja

Mehr

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

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

Mehr

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

EHCache und Terracotta. Jochen Wiedmann, Software AG

EHCache und Terracotta. Jochen Wiedmann, Software AG EH und Terracotta Jochen Wiedmann, Software AG Autor Perl-Contributor DBD::mySQL 2, DBI::Proxy, DBI::Shell, DBD::CSV, Net::Daemon, RPC::Pl(Client Server) (Autor) DBI (Developer) ASF-Member (Apache Software

Mehr

Kapitel 4 Teil 2 NoSQL-Datenbanksysteme

Kapitel 4 Teil 2 NoSQL-Datenbanksysteme Kapitel 4 Teil 2 NoSQL-Datenbanksysteme Inhalt: CAP (Consistency/Availability/Partition-Tolerance); BASE (Basically Available, Soft State, Eventually Consistent); Datenmodelle: Key-Value-Stores, Spaltenbasierte

Mehr

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1 Algorithmen Consistent Hashing Bloom Filter MapReduce Distributed Hash Tables Einführung 1 Consistent Hashing Problem: Wie finde ich den Speicherort für ein Objekt in einem verteilten System mit n Knoten?

Mehr

The R(E)volution of Data Stores

The R(E)volution of Data Stores The R(E)volution of Data Stores Willkommen Schön, dass sie in diese Session kommen, ich bin Dominik Wagenknecht NoSQL Initiative Lead Technology Architect Accenture Wien Mobil: +43 676 8720 33921 dominik.wagenknecht@accenture.com

Mehr

Einführung. Kapitel 1 2 / 508

Einführung. Kapitel 1 2 / 508 Kapitel 1 Einführung 2 / 508 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern und Verwalten von Daten. Warum kein herkömmliches Dateisystem verwenden? Ausfallsicherheit und Skalierbarkeit

Mehr

Eine weitere Möglichkeit "die grosse weite Welt" zu erschliessen sind ODBC/JDBC bzw. ESS Verbindungen.

Eine weitere Möglichkeit die grosse weite Welt zu erschliessen sind ODBC/JDBC bzw. ESS Verbindungen. Database Designs Alexis Gehrt / alexis@database-designs.ch - Erster Kontakt mit FileMaker ca. 1991 ( Version 2, 2.1) - Jan 2000 - Database Designs - Seit 2007 bei einem Kunden (Linden-Grafik AG) angestellt

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

NoSQL-Datenbanken und Hadoop im Zusammenspiel mit dem Data Warehouse

NoSQL-Datenbanken und Hadoop im Zusammenspiel mit dem Data Warehouse NoSQL-Datenbanken und Hadoop im Zusammenspiel mit dem Data Warehouse Carsten Czarski Oracle Deutschland B.V. & Co KG Big Data Betrachten von Daten die bislang nicht betrachtet wurden

Mehr

NoSQL. Hintergründe und Anwendungen. Andreas Winschu

NoSQL. Hintergründe und Anwendungen. Andreas Winschu NoSQL Hintergründe und Anwendungen Andreas Winschu 1 Inhalt 1. Motivation 2. RDBMS 3. CAP Theorem 4. NoSQL 5. NoSql Overview 6. NoSQl Praxis 7. Zusammenfassung und Ausblick 2 1.Motivation Datenbanken Permanente

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

Oracle BI&W Referenz Architektur Big Data und High Performance Analytics

Oracle BI&W Referenz Architektur Big Data und High Performance Analytics DATA WAREHOUSE Oracle BI&W Referenz Architektur Big Data und High Performance Analytics Alfred Schlaucher, Oracle Scale up Unternehmensdaten zusammenfassen Noch mehr Informationen

Mehr

PostgreSQL in großen Installationen

PostgreSQL in großen Installationen PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,

Mehr

Im Fall einer Personaldatenbank würde eine Relation beispielsweise wie folgt aussehen:

Im Fall einer Personaldatenbank würde eine Relation beispielsweise wie folgt aussehen: Grundwissen zu relationalen Datenbanken Die Funktion einer relationalen Dankbank besteht in der elektronischen Verwaltung von Daten in Computersystemen. Die Basis für relationale Datenbanken bildet das

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

CouchDB & CouchApps. Strukturlose Speicherung von Daten und Anwendungen. B1 Systems GmbH. March 18, 2012. http://www.b1-systems.de

CouchDB & CouchApps. Strukturlose Speicherung von Daten und Anwendungen. B1 Systems GmbH. March 18, 2012. http://www.b1-systems.de CouchDB & CouchApps Strukturlose Speicherung von Daten und Anwendungen B1 Systems GmbH http://www.b1-systems.de March 18, 2012 c B1 Systems GmbH 2004 2012 Chapter -1, Slide 1 CouchDB Grundlagen CouchDB

Mehr