Einführung in CouchDB



Ähnliche Dokumente
Überblick und Vergleich von NoSQL. Datenbanksystemen

NoSQL Datenbanken am Beispiel von CouchDB

Dokumentenorientierte Datenbanken - MongoDB

1 Einführung Die Grundlagen Praxis 1 das Kassenbuch (zentraler CouchDB-Server) Praxis 2 das Kassenbuch als CouchApp...

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

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

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

CouchDB & CouchApps. Strukturlose Speicherung von Daten und Anwendungen. B1 Systems GmbH. March 18,

Stefan Edlich Achim Friedland Jens Rampe Benjamin Brauer. NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken HANSER

Big Data Informationen neu gelebt

RESTful Web. Representational State Transfer

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Karl Glatz Oktober Vorstellung der verteilten NoSQL Datenbank CouchDB

Aktuelle SE Praktiken für das WWW

NoSQL HANSER. Einstieg in die Web 2.0 Datenbanken. Stefan Edlich Achim Friedland Jens Hampe Benjamin Brauer Markus Brückner

NoSQL mit Postgres 15. Juni 2015

Mobilkommunikation. REST-basierte Dienste für verteilte, mobile Anwendungen. A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt

Apache HBase. A BigTable Column Store on top of Hadoop

Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz

Stefan Edlich, Achim Friedland, Jens Hampe, Benjamin Brauer. NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken ISBN:

OSIAM. Sichere Identitätsverwaltung auf Basis von SCIMv2 und OAuth2

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

Web-Konzepte für das Internet der Dinge Ein Überblick

Hadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes

Systemvoraussetzungen Sitzungsmanager

Big Data Mythen und Fakten

ISBN: Herstellung: Diplomica Verlag GmbH, Hamburg, 2011

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Planung für Organisation und Technik

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

Sinn (und Unsinn) für Informix Benutzer

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

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

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

5. Programmierschnittstellen für XML

KURZANLEITUNG CLOUD OBJECT STORAGE

Reporting Services und SharePoint 2010 Teil 1

Datenbanken und Datenbanktypen Tag 1 : Kapitel 1. Christian Inauen. Lernziele. Entwicklung der Datenbanken.

Architektur von Business Apps

PRESman. Presentation Manager. Reduzieren Sie nachhaltig die Kosten für das. Erstellen, Verwalten und Verteilen Ihrer

SharePoint 2010 Mobile Access

SE2-10-Entwurfsmuster-2 15

SAP NetWeaver Gateway. 2013

Datenbanksysteme. Gerhard Wohlgenannt. 14. September 2015

REST Services in APEX Anwendungen nutzen

Konsistenzproblematik bei der Cloud-Datenspeicherung

Lokale Installation von DotNetNuke 4 ohne IIS

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

Inhaltsverzeichnis. Stefan Edlich, Achim Friedland, Jens Hampe, Benjamin Brauer, Markus Brückner. NoSQL

Diplomarbeit: Open Source Rapid Web Development Frameworks - Eine Untersuchung der Skalierungsstrategien

Django - ein Python Web-Framework

VIVIT TQA Treffen in Köln am API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

5. Programmierschnittstellen für XML

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

Untersuchungen zum Einsatz von Apache CouchDB als Geodatenbank

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Projektarbeit POS II zum Thema Branchensoftware in der Druckindustrie. Ben Polter, Holger Räbiger, Kilian Mayer, Jochen Wied

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Flash, Network und Facebook. Steven Mohr

PostgreSQL in großen Installationen

Monitoring mit Graphite

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Couchbase Syncpoint, GeoCouch und

APEX: from past to present

BitDefender Client Security Kurzanleitung

Neue Welten: Externe Daten mit APEX nutzen

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

Referenzielle Integrität SQL

FileMaker Go 13 ohne Connects

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

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

Sicherheits-Tipps für Cloud-Worker

Aktualisierung der Lizenzierungsrichtlinien für Adobe Produkte

SDD System Design Document

Abacus Formula Compiler (AFC)

BSCW-Anbindung im Dateiexplorer

EHCache und Terracotta. Jochen Wiedmann, Software AG

Entwicklungen bei der Linux Clustersoftware

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Kooperativer Speicher: Schwächen und Gegenmaßnahmen

Search-Driven Applications. Florian Hopf, freiberuflicher Softwareentwickler Tobias Kraft, exensio GmbH

Dateisysteme und Datenverwaltung in der Cloud

Inhalt... 1 Einleitung... 1 Systemanforderungen... 1 Software Download... 1 Prüfdokumentation... 4 Probleme... 5 Hintergrund... 5

APEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH

Datenmanagement in Android-Apps. 16. Mai 2013

ETL in den Zeiten von Big Data

Schema-Management ohne Schema? Schema-Verwaltung in NoSQL- Datenbanksystemen

Transkript:

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 Datenbanken in den 70iger Jahren entwickelt für große Rechenanlagen komplexe Replikation unflexible, aufwendige Schemas SQL?

NoSQL Not only SQL nicht relationale Datenbanken Graph-Datenbanken Key-/Value-Datenbanken Tabellen (BigTable) Dokumentenorientierte Datenbanken

Ansatz Url Title Description http://www.heise.de Heise Online Seite für IT-News http://couchdb.org CouchDB Heimat der Dokumentenorientierten Datenbank CouchDB http://fh-trier.de FH Trier Die Fachhochschule in Trier

Ansatz ( ) Url : http://couchdb.org Title: CouchDB Description: Heimat der... CouchDB

Ansatz Schlüssel-/Wert Paare Verzicht auf Schemas: mehr Flexibilität, einfaches Design Passt zu Denkweise für Objekte in modernen Objektorientierten Sprachen

Geschichte frühe Doc-DB in Lotus Notes Damien Katz, Entwickler bei Lotus CouchDB wird seit 2005 entwickelt 2008-2009 Entwicklung von IBM gefördert 02/2008 Incubator der Apache Software Foundation 11/2008 vollwertiges Apache Projekt Apache Software License 2.0, OpenSource!

CouchDB Ziel: Dokumentenorientierten Ansatz aus Notes mit Map/Reduce-Algorithmen verbinden. Alles einfach halten!

Technologien Erlang JavaScript JSON RESTful API => HTTP!

REST beschreibt eine Architektur Representational State Transfer Ressourcen, über URI identifizierbar einheitliche Schnittstelle

HTTP (CRUD) Create Retrieve Update Delete POST /db/ GET /db/docid PUT /db/docid DELETE /db/docid

JSON

JSON { } "_id": "BC4ea69ce1a73aa7d21d23b608d221d0", "_rev": "1-967a00dff5e02add41819138abb3284d", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true

API es werden keine speziellen APIs benötigt HTTP/JSON sind die API

API es werden keine speziellen APIs benötigt HTTP/JSON sind die API

API es werden keine speziellen APIs benötigt HTTP/JSON sind die API

lokale Konsistenz Dokumente werden versioniert: Multi Version Concurrency Control (MVCC) Append Only kein Locking

verteilte Konsistenz A RDBMS (MySQL, Postgres,...) Wähle 2 CouchDB, Cassandra, SimpleDB C BigTable, MongoDB, MemcacheDB, BerkeleyDB P CAP Theorem

Eventual Consistency Verfügbarkeit steht über Konsistenz inkrementelle Replikation stellt Konsistenz wieder her

Features Views MapReduce Replikation

Views Design-Dokumente B+ Baum MapReduce Funktionen

MapReduce { { { { "id": 1, "date": 20101201, "id": 2, "date": 20101201, "id": 3, "date": 20101201, "id": 4, "date": 20101201, "checkout": 100 "checkout": 42 "checkout": 23 "checkout": 10 } } } }

MapReduce 100 42 23 10 { { { { "id": 1, "date": 20101201, "id": 2, "date": 20101201, "id": 3, "date": 20101201, "id": 4, "date": 20101201, "checkout": 100 "checkout": 42 "checkout": 23 "checkout": 10 } } } }

MapReduce 142 33 100 42 23 10 { { { { "id": 1, "date": 20101201, "id": 2, "date": 20101201, "id": 3, "date": 20101201, "id": 4, "date": 20101201, "checkout": 100 "checkout": 42 "checkout": 23 "checkout": 10 } } } }

MapReduce 175 142 33 100 42 23 10 { { { { "id": 1, "date": 20101201, "id": 2, "date": 20101201, "id": 3, "date": 20101201, "id": 4, "date": 20101201, "checkout": 100 "checkout": 42 "checkout": 23 "checkout": 10 } } } }

Replikation Offline per default es gibt viele Realitäten Event-gesteuert Konfliktbehandlung

Konflikt-Behandlung 2 3

Konflikt-Behandlung 2 3 2 3

Konflikt-Behandlung 2 3 2 3

Skalierbarkeit horizontal: Partitionierung (Sharding) mit CouchDB Lounge oder BigCouch vertikal: Verteilen der Last auf viele Rechner jemand eine Idee?

It s HTTP! HTTP-Proxy-Server: squid, Apache, nginx,...

Kurz & Gut

Validatoren

CouchApps

Performance

Security

CouchDB, die Allzweckwaffe?

naja, nicht ganz.

CouchDB in CouchDB geht es nicht um Relationen genügt nicht hohen Konsistenzanforderungen (ebay...) aber: Robust flexibel niedrige Lernkurve

Referenzen Ubuntu One BBC CERN

Let me tell you something: Django may be built for the Web, but CouchDB is built of the Web. I ve never seen software that so completely embraces the philosophies behind HTTP. Jacob Kaplan-Moss http://jacobian.org/writing/of-the-web/

Fragen?

Time to Relax Vielen Dank!

Quellen CouchDB, The Definitive Guide O REILLY 2010 Umsetzung einer verteilten Anwendung mit der dokumentenorientierten Datenbank CouchDB, Lena Herrmann Juli 2010 Chaosradio Express 125 http://chaosradio.ccc.de/cre125.html Vortrag Jan Lehnardt NoSQL Berlin Vortrag Karl Glatz Oktober 2009 Vortrag David Coallier, University Limerick 2010