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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web Technologien NoSQL Datenbanken

Web Technologien NoSQL Datenbanken Web Technologien NoSQL Datenbanken Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 10:00 a.m. Room HS 021, B4

Mehr

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

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

Mehr

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

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

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig) 1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software

Mehr

Datenmodellierung und Datenbanksysteme. Vorlesung. Informationswissenschaft und Informationssysteme. Hans Uszkoreit & Brigi1e Jörg

Datenmodellierung und Datenbanksysteme. Vorlesung. Informationswissenschaft und Informationssysteme. Hans Uszkoreit & Brigi1e Jörg Vorlesung Informationswissenschaft und Informationssysteme Hans Uszkoreit & Brigi1e Jörg Definitionen Data modeling in software engineering is the process of creating a data model by applying formal data

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

Charakteristika und Vergleich von SQL- und NoSQL- Datenbanken

Charakteristika und Vergleich von SQL- und NoSQL- Datenbanken Universität Leipzig Fakultät für Mathematik und Informatik Abteilung Datenbanken Dozent: Prof. Dr. Erhard Rahm Betreuer: Stefan Endrullis Problemseminar NoSQL-Datenbanken Semester: WS 11/12 Charakteristika

Mehr

Einführung in die Software-Umgebung

Einführung in die Software-Umgebung Ortsbezogene Anwendungen und Dienste WS2011/2012 Einführung in die Software-Umgebung Die Software-Umgebung Zentrale Postgres-Datenbank mit Geodaten von OpenStreetMap: Deutschland: 13 mio. Datensätze Topologie-Informationen

Mehr

Institut für Verteilte Systeme

Institut für Verteilte Systeme Institut für Verteilte Systeme Prof. Dr. Franz Hauck Seminar: Multimedia- und Internetsysteme, Wintersemester 2010/11 Betreuer: Jörg Domaschka Bericht zur Seminarssitzung am 2011-01-31 Bearbeitet von :

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

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch

Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dehnbarer Begriff Verteiltes Suchen mit Elasticsearch Dr. Halil-Cem Gürsoy halil-cem.guersoy@adesso.de www.adesso.de ...über mich 15 Jahre Entwicklung und Beratung 'Software Architect' bei adesso AG, Dortmund

Mehr

Apache Hadoop. Distribute your data and your application. Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.

Apache Hadoop. Distribute your data and your application. Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache. Apache Hadoop Distribute your data and your application Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org Apache The Apache Software Foundation Community und

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

MySQL Replikationstechnologien

MySQL Replikationstechnologien MySQL Replikationstechnologien Lenz Grimmer MySQL Community Relations Specialist $ whoami 1998 2002 2008 2010 Agenda Replikation: Definition und Klassifizierung Anwendungsgebiete

Mehr

DATA WAREHOUSE. Big Data Alfred Schlaucher, Oracle

DATA WAREHOUSE. Big Data Alfred Schlaucher, Oracle DATA WAREHOUSE Big Data Alfred Schlaucher, Oracle Scale up Unternehmensdaten zusammenfassen Noch mehr Informationen aus Unternehmens- Daten ziehen! Datenmengen, Performance und Kosten Daten als Geschäftsmodell

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

findet sich im Oplog dazu auch ein entsprechender Eintrag:

findet sich im Oplog dazu auch ein entsprechender Eintrag: 45 In MongoDB wird die Replikation 1 zur Sicherstellung der Ausfallsicherheit (das P aus dem CAP-Theorem) und zur Skalierung von Lesezugriffen eingesetzt. Dabei wird grob zwischen zwei Ansätzen unterschieden:

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

NoSQL Deep Dive mit Cassandra. Kai Spichale

NoSQL Deep Dive mit Cassandra. Kai Spichale NoSQL Deep Dive mit Cassandra Kai Spichale 13.04.2011 1 NoSQL 13.04.2011 2 BerlinExpertDays NoSQL Wide Column Stores / Column Families Document Stores Graph Databases Key Value / Tupe Stores 13.04.2011

Mehr

NoSQL Datenbanken. Seminar:Software as a Service, Cloud-Computing und aktuelle Entwicklungen Dozent: Dipl. Inf. Andreas Göbel

NoSQL Datenbanken. Seminar:Software as a Service, Cloud-Computing und aktuelle Entwicklungen Dozent: Dipl. Inf. Andreas Göbel NoSQL Datenbanken Seminar:Software as a Service, Cloud-Computing und aktuelle Entwicklungen Dozent: Dipl. Inf. Andreas Göbel 17. Juni 2010 Gliederung Der Begriff NoSQL Wichtige Konzepte NoSQL-Arten Cassandra

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

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

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

Mehr

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

Big Data Informationen neu gelebt

Big Data Informationen neu gelebt Seminarunterlage Version: 1.01 Copyright Version 1.01 vom 21. Mai 2015 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Gliederung und Einordnung

Gliederung und Einordnung Gliederung und Einordnung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel

Mehr

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

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

Mehr

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

RAC auf Sun Cluster 3.0

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

Mehr

NoSQL für Anwendungen

NoSQL für Anwendungen NoSQL für Anwendungen Hochschule Mannheim Fakultät für Informatik Cluster Grid Computing Seminar SS 2012 Lemmy Tauer (729400) lemmy.coldlemonade.tauer@gmail.com NoSQL CAP / ACID / Kompromisse Key-Value

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz IDS Lizenzierung für IDS und HDR Primärserver IDS Lizenz HDR Lizenz Workgroup V7.3x oder V9.x Required Not Available Primärserver Express V10.0 Workgroup V10.0 Enterprise V7.3x, V9.x or V10.0 IDS Lizenz

Mehr

Inhaltsverzeichnis. Teil 1 Node.js... 1

Inhaltsverzeichnis. Teil 1 Node.js... 1 xiii Teil 1 Node.js... 1 1 Was ist Node.js? 3 1.1 Die Zeitalter des Webs................................... 3 1.1.1 1990 bis 2000: Das Web 1.0....................... 3 1.1.2 2000 bis 2010: Das Web 2.0.......................

Mehr

Session Storage im Zend Server Cluster Manager

Session Storage im Zend Server Cluster Manager Session Storage im Zend Server Cluster Manager Jan Burkl System Engineer, Zend Technologies Agenda Einführung in Zend Server und ZSCM Überblick über PHP Sessions Zend Session Clustering Session Hochverfügbarkeit

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. Einleitung / Entity-Relationship

Mehr

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz 1 2 Dies ist ein Vortrag über Zeit in verteilten Anwendungen Wir betrachten die diskrete "Anwendungszeit" in der nebenläufige Aktivitäten auftreten Aktivitäten in einer hochgradig skalierbaren (verteilten)

Mehr

Wide Column Stores. Felix Bruckner Mannheim, 15.06.2012

Wide Column Stores. Felix Bruckner Mannheim, 15.06.2012 Wide Column Stores Felix Bruckner Mannheim, 15.06.2012 Agenda Einführung Motivation Grundlagen NoSQL Grundlagen Wide Column Stores Anwendungsfälle Datenmodell Technik Wide Column Stores & Cloud Computing

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

Vorlesung. Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Email: Hans.Czap@uni-trier.de

Vorlesung. Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Email: Hans.Czap@uni-trier.de Vorlesung Grundlagen betrieblicher Informationssysteme Prof. Dr. Hans Czap Email: Hans.Czap@uni-trier.de - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

Datenbankstammtisch. Replikation in heterogenen Datenbankumgebungen am Beispiel des Sybase Replication Servers. 1. Februar 2006

Datenbankstammtisch. Replikation in heterogenen Datenbankumgebungen am Beispiel des Sybase Replication Servers. 1. Februar 2006 Datenbankstammtisch Replikation in heterogenen Datenbankumgebungen am Beispiel des Sybase Replication Servers 1. Februar 2006 Autoren: Andreas Reis, Sebastian Mehl Dipl.-Phys. Thomas Richter Gliederung

Mehr

MySQL in großen Umgebungen

MySQL in großen Umgebungen MySQL in großen Umgebungen 03.03.2011 CeBIT Referent: Bernd Erk Agenda DESTINATION TIME REMARK KURZVORSTELLUNG MYSQL STATUS QUO STORAGE ENGINES MONITORING UND MANAGEMENT ENTERPRISE FEATURES FRAGEN UND

Mehr

Semantic Web: Resource Description Framework (RDF)

Semantic Web: Resource Description Framework (RDF) Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme Multi-Tenancy/Cloud-Datenbanken Semantic Web: Resource

Mehr

Big-Data-Technologien - Überblick - Prof. Dr. Jens Albrecht

Big-Data-Technologien - Überblick - Prof. Dr. Jens Albrecht Big-Data-Technologien - Überblick - Quelle: http://www.ingenieur.de/panorama/fussball-wm-in-brasilien/elektronischer-fussball-smartphone-app-helfen-training Big-Data-Anwendungen im Unternehmen Logistik

Mehr

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken 2 7 Erweiterungen 7 Erweiterungen 7.1 Prozess-Kommunikation mit Datenbanken Im Buch Einstieg in das Programmieren mit MATLAB wird im Abschnitt 4.8 das Thema Prozess-Kommunikation am Beispiel von MS-Excel

Mehr

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012 Suchen und Finden mit Lucene und Solr Florian Hopf 04.07.2012 http://techcrunch.com/2010/08/04/schmidt-data/ Suche Go Suche Go Ergebnis 1 In Ergebnis 1 taucht der Suchbegriff auf... Ergebnis 2 In Ergebnis

Mehr

Version 2.0. Copyright 2013 DataCore Software Corp. All Rights Reserved.

Version 2.0. Copyright 2013 DataCore Software Corp. All Rights Reserved. Version 2.0 Copyright 2013 DataCore Software Corp. All Rights Reserved. VDI Virtual Desktop Infrastructure Die Desktop-Virtualisierung im Unternehmen ist die konsequente Weiterentwicklung der Server und

Mehr

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

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

Mehr

Performance Tuning mit @enterprise

Performance Tuning mit @enterprise @enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank

Mehr

Neo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12)

Neo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12) Neo4J & Sones GraphDB Graph-Datenbanken Von Toni Fröschke Problemseminar NoSQL-Datenbanken (WS 2011/12) Gliederung Neo4J Überblick Neo4J-Komponenten Datenhaltung/ -verwaltung Verfügbarkeit & Recovery I/O

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung Commit Eigenschaften von Transaktionen (ACID) Transaktionen in SQL Kapitel 9 1 Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand

Mehr

1 Grundbegriffe...1. 2 Datenbanksysteme...7. 3 Entwicklung von Datenbanksystemen...15. Inhaltsverzeichnis. 1.1 Information und Daten...

1 Grundbegriffe...1. 2 Datenbanksysteme...7. 3 Entwicklung von Datenbanksystemen...15. Inhaltsverzeichnis. 1.1 Information und Daten... Inhaltsverzeichnis 1 Grundbegriffe...1 1.1 Information und Daten...2 1.2 Datenorganisation...3 1.3 Dateikonzept...5 1.4 Kontroll- und Vertiefungsfragen...6 2 Datenbanksysteme...7 2.1 Datenintegration...7

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

Einführung in Hadoop

Einführung in Hadoop Einführung in Hadoop Inhalt / Lern-Ziele Übersicht: Basis-Architektur von Hadoop Einführung in HDFS Einführung in MapReduce Ausblick: Hadoop Ökosystem Optimierungen Versionen 10.02.2012 Prof. Dr. Christian

Mehr

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses für Microsoft Modul 1 Basis Programm Erste Lerneinheit Einführung

Mehr

NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT

NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Version: 1.1 Wir haben hier nur ein in Java implementierte Frontends vor einer hostbasierten Businesslogic, wir profitieren nicht von NoSQL in

Mehr

Hochverfügbarkeit mit MySQL: Eine Kartographie der Lösungen

Hochverfügbarkeit mit MySQL: Eine Kartographie der Lösungen Erkan Yanar (linsenraum.de) Hochverfügbarkeit mit MySQL: Eine Kartographie der Lösungen 20. November DOAG 2012 20121 / 24 Hochverfügbarkeit mit MySQL: Eine Kartographie der Lösungen DOAG 2012 Erkan Yanar

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr