Bazy danych NoSQL - Cassandra
LICZBA DNI: 2 (16h)
KOD KURSU: CASSANDRA
Weź udział w szkoleniu
Termin
Lokalizacja
Trener
Cena / os
17
maja
Warszawa,
Zdalne,
Termin
17
maja
Lokalizacja
Warszawa,
Zdalne,
Trener
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Szkolenie jest adresowane do programistów aplikacji internetowych, którzy chcą tworzyć systemy oparte o skalowalne, wysoko dostępne bazy danych
W szczególności dla osób przetwarzających duże ilości danych, dla których dostępność opracowywanych rozwiązań jest kluczowa
Szkolenie jest także kierowane do osób zajmujących się obecnie tworzeniem relacyjnych baz danych, które chcą uzupełnić swoją wiedzę o technologie alternatywne, które stopniowo wypierają bazy relacyjne z poszczególnych obszarów zastosowań
Nauka wyboru właściwej bazy danych dla swoich projektów
Skupienie na bazie danych Cassandra - stworzonej pierwotnie przez Facebooka, poza ogólnym wprowadzeniem do baz nierelacyjnych
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 interfejsu Cassandry cqlsh
WYMAGANIA
Od uczestników szkolenia wymagana jest umiejętność programowania w języku Python, opcjonalnie Java - do wyboru
ZALETY
Program obejmuje zarówno ogólne wprowadzenie w tematykę nierelacyjnych baz danych jak i całościowe przedstawienie bazy danych Cassandra wraz z najważniejszymi jej klientami dla języka Python lub Java
Szkolenie jest unikalne, gdyż tematyka poruszana w jego trakcie nie jest wyczerpująco ujęta w dostępnej literaturze, a wiedza na ten temat jest mocno rozproszona
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 od modelowania danych dla niektórych baz NoSQL
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, etc.)
- Kiedy i gdzie warto wykorzystać bazę Cassandra
- Instalacja i uruchomienie Cassandry
- Wbudowany interfejs - cqlsh
Struktura i model danych
- Bazy danych, tabele, wiersze, kolumny
- Proste typy danych
- Grupowanie wierszy: klucz partycjonujący 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
- Składnia języka CQL
- Odczyt danych, korzystanie z kluczy
- Dodawanie/nadpisywanie danych
- Ustawianie poziomu spójności
- Praca z kolekcjami i licznikami
- Hurtowy zapis wielu danych
- Niepodzielny zapis warunkowy (lekkie transakcje)
- Sterownik do Cassandry dla języka Python lub Java
- Podłączanie się do klastra, sesje
- Wykonywanie zapytań i odbieranie wyników
- Wywołania asynchroniczne
- Mapowanie obiektowo-relacyjne
- 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
Dodatkowe źródła wiedzy
