20 Jahre Erfahrung FreeCall 0800 tutegos

Cassandra NoSQL-Datenbank

Dieses Seminar führen wir im Moment nicht durch.

Apache Cassandra ist eine ausfallsichere, herrenlose und linear skalierbare NoSQL-Datenbank ohne Single-Points-Of-Failure (SPOF). Sie bietet ACID-Unterstützung über leichtgewichtige Transaktionen, eingebautes Benchmarking und mehrere Performanz-Tuning Möglichkeiten. Das Apache Cassandra Seminar setzt den praxisbezogenen BigData-Kontext, erklärt aktuelle Einschränkungen der relationalen Datenbanken und gibt einen tiefgehenden Einblick in die modernen Technologien zur Bewältigung sehr großer Datenmengen. Die Teilnehmer bekommen einen umfangreichen Überblick über die komplexen architektonischen Komponenten von Apache Cassandra und die darunterliegenden Persistierensmechanismen. Der Fokus liegt dabei bei der Datenmodellierung, den Designmustern und Antimustern und den dazugehörigen praktischen Übungen. Es wird außerdem auf die Applikationsentwicklung mit dem Java-Treiber, sowie Setup, Konfiguration, Monitoring und Performanz-Tuning detailliert eingegangen. Am Ende des Seminars ist jeder Teilnehmer in der Lage sowohl eine einzelne Instanz als auch ein Cluster von Apache Cassandra einzurichten, komplexe Datenmodelle zu erstellen, entsprechenden Geschäftslogik in den Applikationen zu implementieren, und die analytischen Aufgaben mit der Hadoop/MapReduce-Cassandra Integration zu erledigen.

Inhalte des Seminars

Einführung in die polyglotte Persistenz

  • Der BigData Trend
  • Aktuelle Einschränkungen und mögliche Lösungen
  • BigData 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 ein komplexes Geschäftsvorfall
  • Datenversionierung

Applikationsentwicklung mit dem DataStax Java-Treiber

  • Überblick über die existierenden Java-Treibers 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