Cassandra ist eine skalierende NoSQL Datenbank die Konzepte von Key-Value Stores mit Column Families verbindet.
Insbesondere für cloudbasierte Architekturen mit hohen Skalierungsanforderungen bietet Apache Cassandra eine attraktive Persistenzlösung.
Termine:
Kontaktieren Sie uns!Trainer:
Thomas KruseSchulungsziel
Cassandra Grundlagen lernen Sie in dieser Schulung anhand von Theorie und praktischen Übungen kennen, um anschließend in der Lage zu sein, Apache Cassandra als Datenbank einzusetzen.
Neben einer grundlegenden Einführung in noSQL und das CAP Theorem lernen Sie auch Cassandra mit anderen NoSQL Datenbanken zu vergleichen. Skalierungsmöglichkeiten von Apache Cassandra werden ebenso behandelt, wie Optionen zur optimalen Modellierung der Daten und verschiedene Patterns bzw. Antipatterns bei NoSQL und Cassandra.
Nach diesem Seminar sind Sie in der Lage Apache Cassandra einzurichten, eigene Datenmodelle zu erstellen und mit Java für die Persistenz in Ihren Anwendungen zu nutzen.
Zielgruppe
Software-Entwickler, die Apache Cassandra als Datenbanksystem nutzen möchten und Administratoren die Cassandra Instanzen verwalten möchten
Vorkenntnisse: |
Java Grundlagen, SQL Grundlagen |
Dauer: |
4 Tage |
Themen
Folgende Themen werden in dieser Schulung behandelt:
-
Einführung noSQL und Apache Cassandra
-
Historie Datenbanken
-
Hintergrund - Cloudscale Big Data
-
CAP Theorem
-
ACID und BASE
-
Überblick verschiedener NoSQL Datenbanken
-
Positionierung Cassandra und Historie Apache Cassandra
-
-
Grundlagen von Apache Cassandra
-
Überblick Architektur
-
Überblick Datenmodellierung
-
Gemeinsamkeiten und Unterschiede zwischen Apache Cassandra und RDBMS
-
Einsatzbereiche von Cassandra
-
Installation Apache Cassandra und Nutzung des CLI
-
-
CQL: Cassandra Query Language
-
Vergleich von CQL und SQL
-
Einsatz von CQL zur Definition und Manipulation von Daten
-
Paging, Batches
-
-
Cassandra Datenmodellierung
-
Vorgehensweise und Vergleich mit relationaler Modellierung
-
Logisches und physisches Modell
-
Schlüsseldefinition, zusammengesetzte Schlüssel, Index Auswahl
-
Timeseries Data, Reihenfolge, Filterung, Time-To-Live (TTL)
-
Versionierung von Daten
-
-
Cassandra Aufbau und Architektur
-
Gossip Protokoll für Kommunikation
-
Paxos für Koordination
-
Coordinators und Partitoners
-
Konsistentes Hashing
-
Replikation und Strategien für Verfügbarkeit und Performance
-
Failure Detection, Hinted Handoff, Read Repair
-
Datenstrukturen: Bloom Filter, Merkle Bäume
-
Storage Service, SSTables, memtables, commit logs
-
SEDA (Staged Event driven Architecture), Thread pools
-
Compaction, Compressions, Caches
-
-
Datenkonsistenz
-
Einführung und Motivation Konsistenz
-
Replication Factor, Quorum, Paxos
-
Konsistenzstufen für lesende und schreibende Zugriffe
-
Leichtgewichtige Transaktionen bei Cassandra
-
-
Cassandra Java Anbindung
-
Optionen zur Integration in Java
-
Konfiguration in der Anwendung
-
Spring Data Cassandra
-
Erzeugung von Daten, Abfrage von Daten mit Java (CRUD)
-
Load Balancing, Asynchrones I/O
-
-
Nutzung weiterer Programmiersprachen und Clients
-
Cassandra Python Anbindung
-
JavaScript Zugriff auf Cassandra
-
PHP, Ruby
-
-
Clustering / Cassandra Rings
-
Cluster-Topologien
-
Einrichtung und Migration von Clustern
-
Konsistenzlevel im Kontext von Clustern
-
-
Cassandra Administration
-
Administration und Monitoring von Cassandra
-
Sizing und Stress Tests
-
Performance Tuning von Cassandra und der JVM
-