NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen...
Transcript of NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen...
![Page 1: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/1.jpg)
NoSQL-Einsatzszenarien in der transaktionalen
Enterprise -IT
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Wir haben hier nur ein in Java implementierte Frontends vor einer hostbasierten Businesslogic, wir profitieren nicht von NoSQL in unserer
Architektur.' - Falsch!Die Session demonstriert Szenarien in denen auch in klassischen
transaktionalen(ACID) Architekturen Bedarf und Platz für Optimierung durch nichtrelationale Storages mit Support für ACID-Transaktionen besteht.
Caching, parallele Ausführung oder die Unterstützung von MapReduce-Algorithmen werden als komplementäre Konzepte von NoSQL-Storages
gezeigt, die auch im relational dominierten transaktionalen Umfeld Optimierungsoptionen bieten.
1.1
![Page 2: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/2.jpg)
Gliederung
• Transaktionale Storages, NoSQL und das CAP-Theorem
• Transaktionale NoSQL-Szenarien
• Fallstudien
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 2
![Page 3: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/3.jpg)
„Klassische“ Enterprise-Vertreter
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 3
![Page 4: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/4.jpg)
Relationale Datenbanken (RDBMS)
• Organisation von Daten in zweidimensionalen Tabellen (Arrays)– zeilenweise Speichern der Daten– eindeutiger Primärschlüssel je Zeile– einheitliche Datentypen in Zellen einer Spalte, jede Spalte hat
eindeutigen Namen (Schema)
• Kontrollieren von parallelen Zugriffen über Transak tionen
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
• Kontrollieren von parallelen Zugriffen über Transak tionen
• Standardisiert: Im Kern sind alle relationalen DBs sehr ähnlich– SQL, ...– einer der Erfolgsgaranten
• Fremdschlüsselbeziehungen, referentielle Integrität, Joins, Indexierung, Trigger, Views, ...
4
![Page 5: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/5.jpg)
Was sind mögliche Probleme von klassischen Enterprise-Storages?
Big Data (Bewegungsdaten)
Performance
Skalierung
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 5
Mobile Frontend-Anbindung
Skalierung
![Page 6: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/6.jpg)
Scale-in vs. Scale-out
!?!?
Zisch ...
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 6
Vertikal skalieren Horizontal skalieren
![Page 7: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/7.jpg)
These
Relationale Datenbanken skalieren in OO -Entwicklungsszenarien nicht mehr ausreichend.
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 7
ausreichend.
Warum?
Was tun ?
![Page 8: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/8.jpg)
NoSQL = kein SQL mehr?
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 8
![Page 9: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/9.jpg)
Nicht nur SQL!
NoSQLNot only SQLNot only SQL
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 9
NoSQLNot only SQLNot only SQL
![Page 10: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/10.jpg)
NoSQL Datenbanken
• Dokumentenorientierte Datenbanken• Graphendatenbanken• Key-Value-Stores
– Diskbasiert– RAM-Cache– Sortierte Key-Value-Stores
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
• Eventually Consistent Stores• MultivalueDatenbanken• Objektdatenbanken• Spaltenorientierte Datenbank
10
![Page 11: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/11.jpg)
NoSQL – industrieerprobte Skalierbarkeit
Dynamo
BigTable
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 11
![Page 12: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/12.jpg)
Nachteile
• Vielfalt, kein gemeinsamer „Standard“ wie SQL– Fehlendes Know-How– Schwaches/spezifisches Tooling
• Im Gegensatz zu SQL– Eingeschränkte Querying-Möglichkeiten (Ad-hoc fixing?)– Spezifische Reporting-Möglichkeiten (Ad-hoc reporting?)
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
– Spezifische Reporting-Möglichkeiten (Ad-hoc reporting?)
• Datenmigration kann schwieriger sein– Unterschiedliche Technologien– Unterschiedliche Konzepte– Export-Funktionen unterschiedlich stark
12
![Page 13: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/13.jpg)
Probleme mit NoSQL
• unübersichtlich, große Auswahl
• sehr anwendungsfall-spezifisch
• viel Bewegung im Markt
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
• Schemalosigkeit
• (In-) Konsistenz von Daten
13
![Page 14: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/14.jpg)
CAP Theorem von Eric Brewer (2000)
C
Consistency(Konsistenz)
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 14
A P
Availability(Verfügbarkeit)
Partition Tolerance(Partitionstoleranz)
Nur zwei der Eigenschaften können gleichzeitig erfü llt sein, nicht alle drei!
![Page 15: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/15.jpg)
Verfügbarkeit
Client
1. write
Client
2.read
Client
3. read
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 15
Storage Storage Storage
1.1synchronize
![Page 16: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/16.jpg)
Konsistenz
Client
1.write
Client
3. read
Client
2. write
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 16
Storage Storage Storage
1.1 synchronize 2.1 synchronize
![Page 17: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/17.jpg)
Partitionstoleranz
Client
1.write
Client
3. read
Client
2. write
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 17
Storage Storage Storage
1.1 synchronize 2.1 synchronize
![Page 18: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/18.jpg)
Konsistenz
C
A P
Alle Knoten sehen zur gleichen Zeit die gleichen Daten.
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 18
A P
Strikte Konsistenz, wenn sie sofort
sichergestellt ist (ACID).
Oder gewisses Zeitfenster der
Inkonsistenz (BASE).
![Page 19: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/19.jpg)
Eventually Consistence
• Daten sind irgendwann konsistent geschrieben• Bis dahin liefern Lesezugriffe nur eventuell konsistente Daten• Verwendung in NoSQL Datenbanken • Absichtlicher Verstoss gegen ACID
(Atomarität, Konsistenz, Isoliertheit und Dauerhaftigkeit)
Neue Nachricht wird um 13:12 geschrieben
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 19
Message,12:07Message,13:12
Message,12:07Message,13:12
Message,12:07
Neue Nachricht wird um 13:12 geschrieben
Lesezugriff Client 1 Client 2 Client 3
Knoten 1-3
![Page 20: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/20.jpg)
Eventually Consistent – Konsequenzen ?
• Strong consistency: ACID (Atomicity, Consistency, Isolation, Durability)
• Weak consistency: BASE (Basically Available, Soft-state, Eventual consistency) – Availability first
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
• = BASE vs. ACID ?
20
![Page 21: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/21.jpg)
Gliederung
• Transaktionale Storages, NoSQL und das CAP-Theorem
• Transaktionale NoSQL-Szenarien
• Fallstudien
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 21
![Page 22: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/22.jpg)
These
Datenm
enge
NOSQLBASE- Storages
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 22
Datenm
enge
Durchsatz/Verfügbarkeit
NOSQLCA-StoragesScale in
klassischeCA-Storages
![Page 23: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/23.jpg)
These
Relationale Datenbanken skalieren in OO -Entwicklungsszenarien nicht mehr ausreichend.
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 23
ausreichend.
Warum?
![Page 24: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/24.jpg)
Objektrelationale Unverträglichkeit (ImpedanceMismatch)
ObjektorientierteSicht
RelationaleSicht
JDBCEJB (<= 2.1)
ObjektrelationalesMapping (ORM)
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 24
JDO
EJB (<= 2.1)
HibernateJPA
![Page 25: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/25.jpg)
Aufspalten des Aggregats auf Zeilen von Tabellen
orders
addresses
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 25
order lines
![Page 26: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/26.jpg)
These
Relationale Datenbanken skalieren in OO -Entwicklungsszenarien nicht mehr ausreichend.
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 26
ausreichend.
Warum?Impedanzmismatch => Joins, viele lesende Transaktionen
![Page 27: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/27.jpg)
Große Clientanzahl/Verteilte Transaktionen
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 27
EIS EIS
![Page 28: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/28.jpg)
Große Clientanzahl/Verteilte Transaktionen
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 28
EIS EIS
![Page 29: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/29.jpg)
These
Relationale Datenbanken skalieren in OO -Entwicklungsszenarien nicht mehr ausreichend.
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 29
ausreichend.
Warum?Impedanzmismatch => Joins, viele lesende TransaktionenGroße Anzahl von ClientsLange (verteilte) Transaktionen
![Page 30: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/30.jpg)
Applicationserver (not dead)
Applicationserver
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 30
Applicationserver
EIS EIS
![Page 31: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/31.jpg)
NoSQL Datenbanken
• Dokumentenorientierte Datenbanken• Graphendatenbanken• Key-Value-Stores
– Diskbasiert– RAM-Cache– Sortierte Key-Value-Stores
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
• Eventually Consistent Stores• MultivalueDatenbanken• Objektdatenbanken• Spaltenorientierte Datenbank
31
![Page 32: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/32.jpg)
Key-Value Systeme - Vertreter
• Redis
• Amazon Dynamo und S3
• Voldemort
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
• Riak
• Berkeley DB
• MemcacheDB
32
![Page 33: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/33.jpg)
Die beliebtesten Key-Value-Stores
38%5%
3%
3% 2%2% 1% 1%
5% Redis Memcached Riak Ehcache DynamoDB Berkeley DB
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
26%
8%
6%Berkeley DB SimpleDB Hazelcast Coherence Oracle NoSQL Infinispan Sonstige
33
Quelle: http://db-engines.com, Stand: Januar 2014
![Page 34: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/34.jpg)
Java EE 7 Services
Java EE
JTA/JTS/JCA
CDI/Beanvalidation
Java Mail ConcurrencyUtils
JAX-RS
JPA
JMS Websocket
JBatch
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 34
JNDI
JAXP JDBC
JAFJAX-WSSAAJ CommonAnnotations
JAXB
JAAS/JACC/JSR196
EnterpriseApplication
![Page 35: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/35.jpg)
Java EE Middleware
• strenge Spezifikation einer Softwarearchitektur • transaktionsbasierte Ausführung von Java-Komponenten• auf transkaktionsbasiertem Konzept beruhende Teilstandards
– JTA/JCA/JPA/JMS/JDBC
• Horizontale Skalierbarkeit der Anfragen innerhalb d es Lösungskonzepts für High Availability
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
Lösungskonzepts für High Availability– garantierte Antwortzeiten machbar– Ausfall von Knoten kompensierbar– (insbesondere gedacht für Web-Anwendungen)
• Skalierung der Datenmenge problematisch
35
![Page 36: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/36.jpg)
Elastic Data Grid für Java EE
• Niedrige Latenzzeit – RAM 100fach schneller als Disk
• Horizontal skalierbar• Elastisch
– Knoten können kontrolliert ein/ausgeschaltet werden
• optionaler ACID Support
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
– Read Commited/Repeatable Read
• Standardisiertes API –JSR 107(347)
36
Servlet
Node 1
JSF
Node 3
EJB
Node 2
AppserverAppserverJSR 107
Node 1
JSR 107
Node 3
JSR 107
Node 2
Data GridData Grid
RDBMS
![Page 37: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/37.jpg)
Gliederung
• Transaktionale Storages, NoSQL und das CAP-Theorem
• Transaktionale NoSQL-Szenarien
• Fallstudien
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 37
![Page 38: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/38.jpg)
JCACHE und Java EE Clustering
JEE
Application
Data Access
UI
0./4. Query
JEE
Application
Data Access
UI
0. Update
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 38
CacheCache
1. get5. get
CacheCache
1.x Store A1 2. Read A
• Secondary Store
![Page 39: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/39.jpg)
Architektur by Peer to Peer
Vollst. Replikation
Distributed Hash Table
Ehcache x -
Hazelcast - x
Infinispan x x
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 39
• Netzwerkprotokolle– JGroups: Infinispan, Ehcache– UDP Multicast: bestandteil von Jgroups, standalone in Hazelcast– RMI: Ehcache– JMS: Ehcahe, Infinispan Near cache Invalidation
![Page 40: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/40.jpg)
Architektur by Client Server
Ehcache Hazelcast Infinispan
HardwareKonfiguration in Client-Server Mode
x - -
Elasticdeployment in
- x x
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
deployment in Client-Server Mode
40
![Page 41: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/41.jpg)
Zusätzliche Features …
Ehcache Hazelcast Infinispan
Off-Heap Memory x x -
Persistent Caches x - -
Full-Text Search x - x
WAN Replication x x ???
GUI Tools x x -
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 41
GUI Tools x x -
JMX Management x x x
Messaging andProcessing
- x -
![Page 42: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/42.jpg)
OR/M Integration
Java Virtual Machine
Anwendung
Transient
Transient
PersistenceManager
1.Level Cache
ConnectionInstanzInstanz
Instanz
QueryFacility
Transaction
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 42
TransientTransient
TransientDB
2.Level Cache
Entity Cache
InstanzInstanz
InstanzInstanz
QueryFacility
QueryCache
TimestampCache
![Page 43: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/43.jpg)
Query Cache
Query Cache
Applikation
Key:select * from Person where NAME= ‚MAIER‘
from Person p where p.name = :name
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 43
TimestampID VORNAME NAME
1 Thorsten Maier
2 Ben Bartho
25 Tobias Maier
Value: 1, 25 - 18:12.2014 15:14:45:01
![Page 44: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/44.jpg)
Query Cache
Query Cache
Applikation
Key:select * from Person where NAME= ‚MAIER‘
from Person p where p.name = :name
Update Person
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 44
TimestampID VORNAME NAME
1 Thorsten Maier
2 Ben Bartho
25 Tobias Maier
Value: 1, 25 - 18:12.2014 15:14:45:01
18:12:2014 15:45:54:13 - Person
Update Person
Check for updates
ID VORNAME NAME
1 Thorsten Maier
2 Ben Bartho
25 Tobias KieningerUpdate
![Page 45: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/45.jpg)
Functional Caching
JEE
Application
Data Access
UI
0./5. call
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 45
Function Modul
2. callCacheCache
1. get6. get
![Page 46: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/46.jpg)
Functional Caching
JEE
Application
Data Access
UI
0./5. call
Function Modul
4.1 invalidate
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 46
Function Modul
2. callCacheCache
1. get6. get
SecondaryStorage
Function Modul
4. update
2.X query
![Page 47: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/47.jpg)
Functional Caching
0.1 /5.1 call
JEE
Application
Data Access
UI
0./5. call
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 47
Modul B
CacheCache
1. get6. get
SecondaryStorage
2.X query/update
Modul A
2.call
![Page 48: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/48.jpg)
Distributed Cache I
JEE
Application
Data Access
UI
0./4. Query
JEE JEE
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 48
CacheCache
2. get5. put
CacheCache
• Secondary Store
3./6. load/Store
CacheCache
![Page 49: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/49.jpg)
Distributed Cache II
JVMApplication
Data Access
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
JVM
CacheCache
49
Load/Store
JVM
CacheCache
• Secondary Store
![Page 50: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/50.jpg)
Distributed Cache – Data Grid
JVM
ApplicationApplication
Data Access
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 50
• Secondary Store
JVM
CacheCache
JVM
CacheCache
Data Access
JVM
CacheCache
JVM
CacheCache
![Page 51: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/51.jpg)
Hashing Algorithmus
• z.B. basierend auf „consistent hashing“/Amazon Dynamo Paper
• Key Space in mehreren Segmenten(Anzahl Segmente ist konfigurierbar)
• Jedes Hash Segment ist gemapped auf eine Menge von Knoten(owners)– Reihenfolge ist wichtig.
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
– Reihenfolge ist wichtig.– Primary owner hat spezielle Aufgaben bei vielen Operationen(z.B: Locking) – Andere Knoten heißen backup owners
• Ausgleich der Anzahl Segmente auf den Knoten
• Minimierung der Anzahl der Segmente, die sich bewegen müssen falls:– Neuer Knoten zum Cluster hinzukommt– Bestehender Knoten Cluster verlässt
51
![Page 52: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/52.jpg)
Distributed Cache Execution Konzept
JVMApplication
Data Access
queryupdate
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 52
Load/Store
JVM
CacheCache
• Secondary Store
JVM
CacheCache
![Page 53: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/53.jpg)
Distributed Cache Execution Konzept
• Execution Code (Callable)….– auf einem a spezifischen explizit gewählten cluster knoten
• Anwendungsspezifische Algorithmik
– auf dem cluster knoten dem der Key zugeordnet ist (with lockid)• datenlokale Verarbeitung
– auf einem vom cache gewählten cluster knoten (without lockid)• resourcenoptimale Verarbeitung
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH
• resourcenoptimale Verarbeitung
– auf allen Knoten bzw. einem Subset• Massenverarbeitung
53
![Page 54: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/54.jpg)
Execution on Key Owner example(Hazelcast)
Callable<String> task = new Command(input);
HazelcastInstance hz = Hazelcast.newHazelcastInstance();
IExecutorService executorService = hz.getExecutorService("default");
Future<String> future = executorService.submitToKeyOwner(task, key);
String commandResult = future.get();
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 54
![Page 55: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/55.jpg)
Distributed Cache Execution als LB Strategy
Distributed Cache
Node1
lock 1 | lock 1 | lock 2 | lock 2 |
autodetection DB
Weblayer
command
submitToKeyOwner(lock 1)
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 55
Node 2
lock 3 | lock 3 | lock 4 | lock 4 | lock 5 | lock 5 |
autodetection DB
Die Ausführung erfolgt auf den Knoten welcher den Key hält
![Page 56: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/56.jpg)
Distributed Execution Webscaling – key = SessionID
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 56
• Secondary Store
JVM
CacheCache
JVM
CacheCache
JVM
CacheCache
JVM
CacheCache
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
![Page 57: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/57.jpg)
Distributed Execution Layered Update – key = SessionID
JEEJEE
ApplicationApplication
Data AccessData Access
JEEJEE
ApplicationApplication
Data AccessData Access
JEEJEE
ApplicationApplication
Data AccessData Access
JEEJEE
ApplicationApplication
Data AccessData Access
JEEJEE
ApplicationApplication
Data AccessData Access
JEEJEE
ApplicationApplication
Data AccessData Access
JEE
Application V2
Data Access
JEE
Application V2
Data Access
JEE
Application V2
Data Access
JEE
Application V2
Data Access
JEE
Application V2
Data Access
JEE
Application V2
Data Access
NoSQL in transaktionalen Enterprisesystemen© 2015 Orientation in Objects GmbH 57
• Secondary Store
JVM
CacheCache
JVM
CacheCache
JVM
CacheCache
JVM
CacheCache
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
JEE
Application
Data Access
![Page 58: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/58.jpg)
? ??Fragen ?
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
??Fragen ?
58
![Page 59: NoSQL-Einsatzszenarien in der transaktionalen …...NoSQL-Einsatzszenarien in der transaktionalen Enterprise-IT Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version:](https://reader031.fdokument.com/reader031/viewer/2022040918/5e92fb00e2cd850ed17443f2/html5/thumbnails/59.jpg)
Vielen Dank für ihre
Orientation in Objects GmbH
Weinheimer Str. 6868309 Mannheim
Vielen Dank für ihre Aufmerksamkeit !