Cassandra Schulungen für Entwicklung und Betrieb

Grundlagen, Einführung, Praxis & Betrieb

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.

Trainer: 

Thomas Kruse

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

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

Nichts für Sie dabei?

Bitte sprechen Sie uns an, wenn Sie Interesse an einem Thema
haben, das wir nicht explizit aufgeführt haben. Wir arbeiten
sowohl mit unabhängigen Experten und namhaften Partnern
zusammen und erstellen gerne ein individuelles Angebot für Sie.

up
contact