NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin...

22
66. IUG Workshop in München NoSQL : Sinn (und Unsinn) für Informix Benutzer Martin Fürderer IBM Informix Entwicklung München

Transcript of NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin...

Page 1: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

NoSQL :

Sinn (und Unsinn) für Informix Benutzer

Martin FürdererIBM Informix Entwicklung München

Page 2: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 3: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 4: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Was bedeutet “NoSQL”?

“No SQL” oder “Not only SQL”

NoSQL-Daten:

“schemalos”: keine fest definierte (Tabellen-) Struktur● key-value pairs● “documents” in “collections”● hierarchisch

JSON-Format: JavaScript Object Notation● lesbar (bzw. entzifferbar)

Page 5: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

{ "Vorname": "Hans", "Nachname": "Mustermann", "Adresse": { "Strasse": "Kryddgårdsvägen", "Hausnummer": "12", "PLZ": 13754, "Ort": "Tungelsta", "Land": "Schweden" }, "Telefon": [ { "Typ": "Festnetz", "Nummer": "+46 013 2785" }, { "Typ": "Mobil", "Nummer": "+46 486 319275" } ] }

Page 6: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Was bedeutet “NoSQL”?

NoSQL-Daten:

“schemalos”: keine fest definierte (Tabellen-) Struktur● key-value pairs● “documents” in “collections”● hierarchisch

JSON-Format: JavaScript Object Notation● lesbar (bzw. entzifferbar)● rasant wachsende Akzeptanz als Datenaustauschformat

BSON-Format: Binärcodierung des JSON-Format● effizientere Verarbeitung● effizientere Speicherung

Page 7: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Was bedeutet “NoSQL”?

NoSQL-Daten:

...

NoSQL-Befehle:

sehr wenig DDL (z.B. für Indexe)

keine JOINs

keine Transaktionen, kein ACID

“map-reduce” Funktionen

Page 8: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 9: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Was bedeutet “NoSQL” für Informix-Benutzer?

direktes Speichern von NoSQL-Daten (ohne Konvertierung)

Speicherung intern im effizienteren BSON-Format

verknüpfen von NoSQL-Daten mit SQL-Daten

MongoDB API , REST API

“cross access”

Page 10: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Was bedeutet “NoSQL” für Informix-Benutzer?

direktes Speichern von NoSQL-Daten (ohne Konvertierung)

Speicherung intern im effizienteren BSON-Format

verknüpfen von NoSQL-Daten mit SQL-Daten

MongoDB API , REST API

“cross access” :RelationaleSQL-Tabelle

NoSQLCollection

MongoDB API

REST API

SQL API

HTTP

Page 11: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 12: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Welche NoSQL-Funktionalität bietet Informix?

Find() , insert() , update() , remove()

Array-Abfragen mit $elemMatch Operator (neu in 12.10.xC5)

Indexing: ensureIndex() , dropIndex()

grosse Dokumente (bis zu 2 GB)

“sharding”

Page 13: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Welche NoSQL-Funktionalität bietet Informix?

Find() , insert() , update() , remove()

Array-Abfragen mit $elemMatch Operator (neu in 12.10.xC5)

Indexing: ensureIndex() , dropIndex()

grosse Dokumente (bis zu 2 GB)

“sharding” :Server A Server B Server C

shard shard shardshardedcollection

Page 14: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 15: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Warum überhaupt NoSQL benutzen?

Anforderung, JSON-Daten zu speichern

JavaScript ist prädestiniert, JSON-Daten zu verarbeiten

MongoDB API

REST(ful) API (REpresentational State Transfer):

HTTP

( Beispiel: http://5.153.45.66:8080/restmfu )

Page 16: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 17: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Benutzen wir am besten nur noch NoSQL?

relationales Datenmodell ist effizienter für die

Speicherung und Verarbeitung für viele Arten von Daten

(z.B. Buchhaltung)

(analytische) Applikationen basieren (immer noch) auf dem

relationalen Ansatz und SQL

kein ACID !

existierende Datenmengen in relationalen Datenbanken

Page 18: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 19: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Welche Besonderheiten bietetInformix für NoSQL?

TimeSeries-, Spatial-Funktionalität

Text Indexing

Beschleunigung mit Informix Warehouse Accelerator

Kompression der Daten auf der Festplatte

Abfrage von SQL-Daten

JOIN von Tabellen und/oder Collections (neu in 12.10.xC5)

NoSQL-Daten mit SQL manipulieren (neu in 12.10.xC5)

SQL-Befehle über NoSQL API (?)

Page 20: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

Agenda

Was bedeutet“NoSQL”?

Was bedeutet “NoSQL”für Informix Benutzer?

Welche NoSQLFunktionalität

bietet Informix?

Warum überhauptNoSQL benutzen?

Benutzen wir am bestennur noch NoSQL?

Welche Besonderheitenbietet Informix für NoSQL?

Fragen?

Page 21: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?
Page 22: NoSQL - iug.de · MongoDB API , REST API “cross access” 66. IUG Workshop in München Martin Fürderer - NoSQL für Informix Benutzer Was bedeutet “NoSQL” für Informix-Benutzer?

66. IUG Workshop in München

Martin Fürderer - NoSQL für Informix Benutzer

? Wo findet man ein mehr technisches Tutorial,am besten auf deutsch ?

Im Informix Newsletter, beginnend mit derAusgabe August 2014.

? Wo findet man detaillierte technische Info zuNoSQL und Informix ?

Im IBM Knowledge Center, Informix 12.10Dokumentation “JSON compatibility”.

? Wo befindet sich das JavaScript-Beispiel?

http://5.153.45.66:8080/restmfu

Fragen ?