Bazy danych NoSQL - Cassandra

LICZBA DNI: 3 (24h)

KOD KURSU: CASSANDRA

Powiadom
o kolejnych terminach

# cassandra

Autor szkolenia:
Tomasz Fortuna

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 sposou 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

  • 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
  • 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
  • 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
  • Mechanizm Read-Repair
  • Mechanizm Hinted-Handoff
  • Commit-Log
  • SSTables
  • Flushing, compaction
  • Dodawanie i usuwanie węzłów
  • Naprawa klastra
  • Partycjonowanie danych
  • Wybór współczynnika replikacji
  • Strategie replikacji i obsługa wielu serwerowni
  • Konfiguracja Cassandry
  • Rozdzielenie commitlog'a od danych
  • Monitorowanie
  • Uwierzytelnienie i autoryzacja
  • Backup danych
  • Konfiguracja cache i pamięci

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.