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.