25 Jahre Erfahrung FreeCall 0800 tutegos

Cassandra NoSQL-Datenbank

Dieses Seminar führen wir im Moment nicht durch.

Apache Cassandra ist eine ausfallsichere, dezentrale und linear skalierbare NoSQL-Datenbank, die ohne Single Points of Failure (SPOF) auskommt. Sie bietet ACID-Unterstützung durch leichtgewichtige Transaktionen, eingebautes Benchmarking und zahlreiche Performance-Tuning-Optionen. Das Apache Cassandra Seminar vermittelt praxisnah den Big Data-Kontext, erklärt die Einschränkungen relationaler Datenbanken und bietet einen tiefen Einblick in moderne Technologien zur Bewältigung großer Datenmengen. Die Teilnehmer erhalten einen umfassenden Überblick über die komplexen architektonischen Komponenten von Apache Cassandra und die zugrunde liegenden Persistierungsmechanismen. Der Fokus liegt auf der Datenmodellierung, Designmustern und Anti-Patterns sowie praktischen Übungen. Zudem wird die Applikationsentwicklung mit dem Java-Treiber behandelt, ebenso wie Setup, Konfiguration, Monitoring und Performance-Tuning. Am Ende des Seminars sind die Teilnehmer in der Lage, sowohl eine einzelne Instanz als auch ein Cluster von Apache Cassandra einzurichten, komplexe Datenmodelle zu erstellen, Geschäftslogik in Applikationen zu implementieren und analytische Aufgaben mit der Hadoop/MapReduce-Cassandra-Integration zu erledigen.

Inhalte des Seminars

Einführung in die polyglotte Persistenz

  • Der Big-Data Trend
  • Aktuelle Einschränkungen und mögliche Lösungen
  • Big-Data Technologien
  • Treibende Kräfte hinter der NoSQL-Entwicklung
  • CAP Theorem
  • ACID und BASE
  • Klassen der NoSQL-Datenbanken

Grundlagen von Apache Cassandra

  • Geschichte der Entstehung
  • Position in der NoSQL-Welt
  • Gesamtüberblick Architektur
  • Gesamtüberblick Datenmodellierung
  • Hauptunterschieden zwischen Apache Cassandra und RDBMS
  • Einführung in CLI und praktische Übung
  • Einsatzbereiche

Architektur

  • Das Gossip-Protokoll
  • Coordinators und Partitoners
  • Konsistentes Hashing
  • Replikation und Strategien
  • Failure Detection, Hinted Handoff, Read Repair
  • Bloom Filters, Merkle Trees, Anti-Entropie
  • SEDA, Dienste, Fuzzy-Logik-Eingenschaften
  • Storage Service, SSTables, memtables, commit logs
  • Compaction, Compressions, Caches

Cassandra Query Language

  • Merkmale und Abgrenzung zu SQL
  • CQL Schichten
  • Datendefinitionen (DDL) mit CQL
  • Datenmanipulationen (DML) mit CQL
  • Paging, Batches, COPY-Befehl
  • Praktische Übungen

Tunable Consistency

  • Definition
  • Replication Factor
  • Quorum
  • Konsistenzstufen für schreibende Zugriffe
  • Konsistenzstufen für lesende Zugriffe
  • Client Workflows
  • Paxos und erweitertes Paxos Protokoll
  • Lightweight Transactions

Datenmodellierung

  • Vorgehensweise und Abgrenzung zur RDBMS-Detenmodellierung
  • Definition von Row Keys, Compound und Composite Schlüssel
  • Clustering Felder und sekundäre Indizien
  • Reihenfolge, Filterung, LIMIT, Zeitserinen-Daten
  • Time-To-Live (TTL) Felder
  • Designmustern und Anti-Mustern
  • Beispiele und Übungen zur Datenmodellierung
  • Beispiel der RDBMS-Cassandra Migration für einen komplexen Geschäftsvorfall
  • Datenversionierung

Applikationsentwicklung mit dem DataStax Java-Treiber

  • Überblick über die existierenden Java-Treiber für Apache Cassandra
  • Hauptmerkmale von Java-Treiber, Einschränkungen
  • Konfiguration, Einbinden in Maven
  • Cluster, Session-Klassen, Beispiel: Erzeugen von Schema und Daten
  • ResultSet, BoundStatments Klassen, Beispiel: Abfragen
  • Asynchrone I/O
  • Load Balancing
  • Übungen zur Applikationsentwicklung

Clusters

  • Cluster-Topologien
  • Racks und Snitches
  • Token-Generierung
  • Virtual nodes
  • Migration mit dem nodetool
  • Beispiele und Übungen zur Migration
  • Cluster Setup für einzelnen Data-Center
  • Konsistenzstufen im Cluster inkl. Beispiele, Tracing von Abfragen
  • Übungen zur Konsistenzstufen im Cluster

Hadoop-Integration

  • Hadoop/MapReduce-Architektur
  • Varianten der Hadoop/Cassandra-Integration
  • Konfiguration, Einbunden in Maven
  • MapReduce Beispielapplikation
  • Aktuelle Einschränkungen und mögliche Lösungen
  • Übung zur Hadoop/Cassandra-Integration
  • Ausfallsicherheit: Retry- und Reconnection-Policies

Administration, Monitoring und Performance-Tuning

  • Administration und Monitoring mit dem nodetool
  • Migration mit dem cassandra-shuffle
  • Token-Generierung mit dem token-generator
  • Lasttests mit dem cassandra-stress
  • JMX-Monitoring
  • Performance-Tuning: Caches, Bloom Filters, JVM, Compaction, Compression
  • Fuzzy-Logik Parameter in der cassandra.yaml-Datei

Termine / Kontakt

Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.

Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.

Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).

Die Fakten

  • Empfohlene Schulungsdauer: 4 Tage, insgesamt 32 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Datenbankadministratoren, Software-Entwickler, Tester, IT-Manager
  • Vorkenntnisse: Erste Erfahrungen mit einer SQL-Datenbank und Kenntnisse der Programmiersprache Java.
  • Seminar-Software: Standardmäßig basiert der Kurs auf der letzten Version von Apache Cassandra, zurzeit Apache Cassandra 4.0.

Verweise

Alle Kategorien

Was Teilnehmer sagen