Adresaci szkolenia:

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ń.

Cel szkolenia:

Uczestnicy szkolenia zdobędą ogólną wiedzę dotyczącą baz typu NoSQL, ich funkcjonalnościach, zastosowaniach i ograniczeniach. Dowiedzą się czym się różni modelowanie danych dla baz relacyjnych od modelowania danych dla niektórych baz NoSQL. Dzięki temu będą mogli wybrać właściwą bazę danych dla swoich projektów. Szkolenie, poza ogólnym wprowadzeniem do baz nierelacyjnych, skupia się na bazie danych Cassandra - stworzonej pierwotnie przez Facebooka.

W szczególności uczestnicy:

  • poznają model danych typu BigTable oraz jego realizację w bazie Cassandra,
  • dowiedzą się jak dane są przechowywane i jak fizycznie realizowany jest dostęp do nich,
  • poznają mechanizmy zapewniające wysoką dostępność i wydajność oraz kompromisy jakie się z tym wiążą,
  • poznają również interfejsy programistyczne do łączenia się bazą Cassandra z języka Python lub Java, a także wbudowany interfejs Cassandry cqlsh.

Mocne strony szkolenia:

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.

Wymagania:

Od uczestników szkolenia wymagana jest umiejętność programowania w języku Python, opcjonalnie Java - do wyboru.

Parametry szkolenia:

3*8 godzin (3*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).

W trakcie warsztatów, oprócz prostych ćwiczeń, uczestnicy projektują bazę danych i implementują dostęp do niej.

Wielkość grupy: maks. 8-10 osób.

Program szkolenia

  1. Wprowadzenie do baz NoSQL

    1. Przyczyna powstania baz chmurowych
    2. CAP: Spójność, Dostępność, Odporność na partycjonowanie
    3. Co różni bazy NoSQL od baz relacyjnych
    4. Podstawowe cechy baz NoSQL
    5. Klasyfikacja i przegląd baz NoSQL (Cassandra, HBase, MongoDB, ArangoDB, neo4j, Redis, ScyllaDB, etc.)
    6. Kiedy i gdzie warto wykorzystać bazę Cassandra
    7. Instalacja i uruchomienie Cassandry
    8. Wbudowany interfejs - cqlsh
  2. Struktura i model danych

    1. Bazy danych, tabele, wiersze, kolumny
    2. Proste typy danych
    3. Grupowanie wierszy: klucz partycjonujący i klucz grupujący
    4. Kolekcje (mapy, listy, zbiory, krotki)
    5. Kolumny licznikowe
    6. Typy danych użytkownika (UDT)
    7. Indeksy pomocnicze i kiedy je stosować
    8. Przykłady tworzenia i konfiguracji przestrzeni kluczy
    9. Przykłady modelowania danych
  3. Praca z danymi i interfejsy programistyczne

    1. 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)
    2. 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
    3. Mechanizm Map-Reduce
  4. Wewnętrzna struktura danych i mechanizmy

    1. Mechanizm Read-Repair
    2. Mechanizm Hinted-Handoff
    3. Commit-Log
    4. SSTables
    5. Flushing, compaction
  5. Praca z klastrem

    1. Dodawanie i usuwanie węzłów
    2. Naprawa klastra
    3. Partycjonowanie danych
    4. Wybór współczynnika replikacji
    5. Strategie replikacji i obsługa wielu serwerowni
  6. Konfiguracja i optymalizacja

    1. Konfiguracja Cassandry
    2. Rozdzielenie commitlog'a od danych
    3. Monitorowanie
    4. Uwierzytelnienie i autoryzacja
    5. Backup danych
    6. Konfiguracja cache i pamięci
  7. Dodatkowe źródła wiedzy

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email