Cassandra Schulung
Grundlagen, Einführung, Praxis & Betrieb

Cassandra ist eine skalierende NoSQL Datenbank die Konzepte von Key-Value Stores mit Column Families mischt.
Insbesondere für cloudbasierte Architekturen mit hohen Skalierungsanforderungen bietet Apache Cassandra eine attraktive Persistenzlösung.

Schulungsziel

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

Folgenden 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

Unsere Schulungen bieten wir auch als Inhouse Schulung an. Damit haben Sie die Möglichkeit die Schwerpunkte der Schulung zu beeinflussen und die Gruppenzusammensetzung für Ihren Schulungsbedarf zu optimieren.
Nehmen Sie Kontakt mit uns auf und stimmen den für Sie passenden Zeitraum ab.

Für spezielle Fragestellungen oder gezielte Unterstützung bieten wir sowohl Workshops als auch Beratung an - senden Sie uns einfach eine Anfrage und schildern Sie Ihren Bedarf.

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.