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.