Bazy danych NoSQL - Cassandra
Czas trwania szkolenia:2 dni (16h)
Kod kursu:CASSANDRA
Poziom zaawansowania:
O szkoleniu Bazy danych NoSQL - Cassandra
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Dla programistów aplikacji internetowych, którzy chcą tworzyć systemy oparte o skalowalne, wysoko dostępne bazy danych
- Dla osób przetwarzających duże ilości danych, dla których dostępność opracowywanych rozwiązań jest kluczowa
- DLa osób zajmujących się tworzeniem relacyjnych baz danych, które chcą uzupełnić swoją wiedzę o technologie alternatywne
Wymagania
- Od uczestników szkolenia wymagana jest umiejętność programowania w języku Python lub Java
Zalety
- Program obejmuje zarówno ogólne wprowadzenie w tematykę nierelacyjnych baz danych, jak i całościowe przedstawienie bazy Cassandra
- Szkolenie jest unikalne, gdyż tematyka poruszana w jego trakcie nie jest wyczerpująco ujęta w powszechnie dostępnej literaturze
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Zdobycie ogólnej wiedzy dotyczącej baz typu NoSQL, ich funkcjonalności, zastosowań i ograniczeń
- Poznanie różnicy w modelowaniu danych dla baz relacyjnych oraz NoSQL
- Poznanie modelu danych typu BigTable oraz jego realizacji w bazie Cassandra
- Poznanie sposobu przechowywania danych i fizycznej realizacji dostępu do nich
- Poznanie mechanizmów zapewniających wysoką dostępność i wydajność oraz kompromisów, jakie się z tym wiążą
- Poznanie interfejsów programistycznych do łączenia się bazą Cassandra z języka Python (lub Java), a także wbudowanego terminala cqlsh
Program
Wprowadzenie do baz NoSQL
- Przyczyna powstania baz chmurowych
- CAP - spójność, dostępność, odporność na partycjonowanie
- Co różni bazy NoSQL od baz relacyjnych
- Podstawowe cechy baz NoSQL
- Klasyfikacja i przegląd baz NoSQL (Cassandra, HBase, MongoDB, ArangoDB, neo4j, Redis, ScyllaDB)
- Kiedy i gdzie warto wykorzystać bazę Cassandra
- Instalacja i uruchomienie Cassandry
- Wbudowany terminal cqlsh
Struktura i model danych
- Bazy danych, tabele, wiersze, kolumny
- Proste typy danych
- Grupowanie wierszy: klucz partycji i klucz grupujący
- Kolekcje (mapy, listy, zbiory, krotki)
- Kolumny licznikowe
- Typy danych użytkownika (UDT)
- Indeksy pomocnicze i kiedy je stosować
- Przykłady tworzenia i konfiguracji przestrzeni kluczy
- Przykłady modelowania danych
Praca z danymi i interfejsy programistyczne
- CQL
- Sterownik do Cassandry dla języka Python lub Java
- Mechanizm Map-Reduce
Wewnętrzna struktura danych i mechanizmy
- Mechanizm Read-Repair
- Mechanizm Hinted-Handoff
- Commit-Log
- SSTables
- Flushing, compaction
Praca z klastrem
- Dodawanie i usuwanie węzłów
- Naprawa klastra
- Partycjonowanie danych
- Wybór współczynnika replikacji
- Strategie replikacji i obsługa wielu serwerowni
Konfiguracja i optymalizacja
- Konfiguracja Cassandry
- Rozdzielenie commitlog od danych
- Monitorowanie
- Uwierzytelnienie i autoryzacja
- Backup danych
- Konfiguracja cache i pamięci