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

NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen 15.04.2016

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE ARFA

Page 2: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%
Page 3: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

49%

35%

29%

16%

12%

11%

unflexibel, starres Schema

Unfähigkeit in der Skalierung

hohe Latenz, niedrige Perfomance

Kosten, Aufwand

Komplexität

Andere

Warum haben wir NoSQL Datenbanken im Einsatz?

Seite 3 PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner Quelle: Couchbase NoSQL Survey, Dezember 2011, 1351

Page 4: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

–  Datenvolumen & Skalierbarkeit –  Google: BigTable -> HBase –  Facebook Cassanda –  Riak

–  Neue oder / und komplexe Datenstrukturen –  Graphen: Neo4j

–  Änderungsfrequenz –  Agile Softwareentwicklung –  Performance

–  InMemory: Redis –  Verfügbarkeit

Gründe für die Entstehung von NoSQL

Seite 4 PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner

Page 5: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

Es gibt keine gültige oder gebräuchliche Definition nur die lapidare Formulierung »Not Only SQL». Eingrenzung: Unter NoSQL wird eine neue Generation von Datenbanksystemen verstanden, die meistens einige der nachfolgenden Punkte berücksichtigen: 1.  Das zugrundeliegende Datenmodell ist nicht relational. 2.  Die Systeme sind von Anbeginn an auf eine verteilte und horizontale

Skalierbarkeit ausgerichtet. 3.  Das NoSQL-System ist Open Source. 4.  Das System ist schemafrei oder hat nur schwächere

Schemarestriktionen. 5.  Aufgrund der verteilten Architektur unterstützt das System eine einfache

Datenreplikation. 6.  Das System bietet eine einfache API. 7.  Dem System liegt meistens auch ein anderes Konsistenzmodell

zugrunde: z.B. "Eventually Consistent" aber nicht "ACID". Quelle: NoSQL: Einstieg in die Welt nichtrelationaler… von Stefan Edlich, Achim Friedland

Definition von NoSQL Datenbanken

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner Seite 5

Page 6: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%
Page 7: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

Kategorien von NoSQL Datenbanken

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner Seite 7

Page 8: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

Seite 8

http://bigdata-madesimple.com/a-deep-dive-into-nosql-a-complete-list-of-nosql-databases/

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner

Page 9: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

NoSQL Kategorien

Quelle:: www.nosql-database.org. Die Zusammenstellung erhebt keinen Anspruch auf Vollständigkeit. Es sind Stand 13.04.2016 231 noSQL Datenbanken gelistet. Projekte, die eingestellt wurden, sind nicht berücksichtigt. Graphisch aufgearbeitet mit WebFocus.

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner Seite 9

Page 10: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

NoSQL Typen total

Quelle:: www.nosql-database.org. Die Zusammenstellung erhebt keinen Anspruch auf Vollständigkeit. Es sind Stand 13.04.2016 231 noSQL Datenbanken gelistet. Projekte, die eingestellt wurden, sind nicht berücksichtigt. Graphisch aufgearbeitet mit WebFocus.

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner Seite 10

Page 11: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

NoSQL Typen anteilig

Quelle:: www.nosql-database.org. Die Zusammenstellung erhebt keinen Anspruch auf Vollständigkeit. Es sind Stand 13.04.2016 231 noSQL Datenbanken gelistet. Projekte, die eingestellt wurden, sind nicht berücksichtigt. Graphisch aufgearbeitet mit WebFocus.

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner Seite 11

Page 12: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

–  Assoziatives Array, Key ist der Index meist in binären Blobs gespeichert –  Zugriff nur über einen Schlüssel –  Zusammengesetzte Keys möglich

–  customer:residential:meier –  Teilweise mit Transaktionsunterstützung (REDIS) –  Auch in-memory (Persistieren auf Disk in Intervallen) mit begrenzter

Skalierung –  Auch als skalierbare Lösung ausgelegt (RIAK) –  Replikationen auch kaskadierend –  Einsatzszenario: Time Series Data Management, Media Streaming

Key Value Store

Seite 12 PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner

Page 13: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

–  Basieren auf Konzepten von Googles Big Table –  Verwalten Daten in Tabellen –  Datensatz mit beliebig vielen (auch unterschiedlichen) Spalten –  Dynamisches Schema & nicht schemalos –  Tabellen haben keine Beziehungen –  Sharding: horizontale Skalierung eingebaut

–  Über konsistent Hashing Algorithmus oder über Werte –  Kaum oder keine Aggregationsfunktionen (min, max, count, sum….)

–  Kann durch Integration von Suchmaschinen teilweise kompensiert werden (Apache SOLR, ElasticSearch)

–  Einsatzszenario: Suchmaschinen Index, Message Stores, CMS –  Hoher Durchsatz

–  HBase «column families» in Anlehnung an spaltenorientierte Datenbanken –  Diskzugriff beim Lesen minimieren

Column Stores

Seite 13 PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner

Page 14: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

–  Speicherung der Daten in einer festgelegten Notation z.B. JSON auch BSON –  Abbildung von komplexen Datenstrukturen möglich

–  Datensatz besteht eigentlich aus einer ID & einem Datencontainer –  Keine Abhängigkeiten (Joins) zwischen den Datensätzen, aber über die

Applikationslogik über Referenzen im möglich –  In einigen Produkten ist es möglich in «Collections» gleichartige

Dokumente abzubilden. –  Map / Reduce als Abfrage Mechanismus

–  Map: Bildung von Key Value Paaren –  Reduce: Aggregation

–  Teilweise auch dynamische Abfragen möglich –  API’s z.B. Java, HTTP/REST –  Dynamische Schemata –  Auch in-memory (Persistieren auf Disk in Intervallen)

Document Store

Seite 14 PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner

Page 15: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

–  Speicherung von komplexen vernetzten Domänen und ihren Daten in –  Knoten (Entitäten) –  Kanten (Beziehungstypen) –  Kanten & Knoten können Eigenschaften (Attribute-Wert Paare) haben.

–  Beziehungen werden hier nicht vermieden sondern sind Konzept –  Performance: Physisch werden die Beziehungen nicht wie bei RDBMS

zur Laufzeit über Joins erzeugt sondern «Apriori» persistiert –  Visualisierung im Frontend spielt eine wichtige Rolle –  Algorithmen wie der schnellste Pfad von A-B gehören zum Lieferumfang –  Effiziente Abfragesprachen z.B. Cypher (Neo4j)

Graphen DB’s

Seite 15 PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner

Page 16: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

Seite 16 PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner

Visualisierte Abfrage einer Graphen Datenbank

Page 17: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

Weitere Überlegungen

–  Reifegrad der NoSQL Systeme? –  Integration in den Betrieb –  Backup in verteilten Systemen

–  Aufwand bei Anpassungen oder Migration auf Grund von (neuen) Anforderungen…

–  Steigende Abfragekomplexität –  Welche Datenbank für welchen Zweck? –  Hybride Lösungen der Datenhaltung möglich?

–  Kombinationen aus RDBMS & NoSQL –  Kombination NoSQL

–  NewSQL Datenbanken

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner Seite 17

Page 18: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

Seite 18

Page 19: NoSQL Datenbanksysteme...NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten Treffen49%

Kontaktdaten - Ralf Leipner

https://www.xing.com/profile/Ralf_Leipner

[email protected]

https://ch.linkedin.com/in/ralf-leipner-4535b9

Seite 19

rleipner

+41 (79) 669 38 47

PostFinance AG | 15.04.2016 | V1.00 | öffentlich | NoSQL Datenbanken | Ralf Leipner