Adresaci szkolenia:

Szkolenie jest adresowane do programistów, architektów oraz administratorów aplikacji, którzy chcą tworzyć lub utrzymywać systemy oparte o skalowalne bazy danych NoSQL, a w szczególności osób, dla których wydajność opracowywanych rozwiązań oraz wolumen przetwarzanych danych ma wysoki priorytet. 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. 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 MongoDB.

Mocne strony szkolenia:

Program obejmuje zarówno ogólne wprowadzenie w tematykę baz danych NoSQL jak i całościowe przedstawienie bazy danych MongoDB. 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. Program jest ciągle uaktualniany ze względu na szybki rozwój rozwiązań, których dotyczy szkolenie.

Wymagania:

Od uczestników wymagana jest podstawowa znajomość baz danych, podstawowa umiejętność programowania w języku JavaScript i/lub Java.

Parametry szkolenia:

4*8 godzin (4*7 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, wykonują czynności administracyjne oraz implementują dostęp do niej. Wielkość grupy: maks. 8-10 osób

W przypadku szkolenia dedykowanego istnieje możliwość wydłużenia szkolenia do 5 dni w celu szczegółowej analizy konkretnego projektu realizowanego w danej firmie.

Program szkolenia

  1. Wstęp
    1. Wprowadzenie do baz danych NoSQL
    2. Przyczyna powstania baz chmurowych
    3. Spójność, Dostępność, Odporność na partycjonowanie
    4. Twierdzenie CAP
    5. Co różni bazy NoSQL od baz relacyjnych
    6. Podstawowe parametry baz NoSQL
    7. Klasyfikacja i przegląd baz NoSQL (Cassandra, Hbase, Mongo, Riak, CouchDB, Tokyo Cabinet, Voldemort, etc.)
    8. Problem transakcyjności i replikacji w bazach danych NoSQL, w tym w MongoDB
    9. Unikalne cechy MongoDB
  2. Podstawy, modelowanie
    1. Składowe MongoDB
    2. Korzystanie z Mongo shell
    3. Dostęp do MongoDB za pomocą bibliotek zewnętrznych
    4. Podstawowe operacje na danych, operacje CRUD
    5. Modelowanie relacji 1-1, 1-n, drzewiastych
  3. Agregacja
    1. Znaczenie efektywnego procesu agregacji danych w BigData
    2. MapReduce
    3. Aggregation Framework - agregacja w MongoDB
    4. Funkcje agregujące: aggregate, count, distinct, group, mapReduce
  4. Struktury danych MongoDB
    1. JSON, BSON
    2. Dokumenty, kolekcje, indeksy
    3. Journal, Oplog
    4. Memory mapped files
    5. GridFS
    6. Wire Protocol
  5. Indeksy oraz optymalizacja zapytań
    1. Typy i właściwości indeksów
      1. Proste – default, single field
      2. Złożone – compound, multikey, pełnotekstowe, geoprzestrzenne
      3. Właściwości – unikalne, rzadkie, wygasające
    2. Podstawowe operacje na indeksach
      1. Tworzenie i usuwanie indeksów
      2. Przebudowywanie indeksów
      3. Zarządzanie indeksami, metryki dotyczące indeksów
    3. Plan wykonawczy zapytania
      1. Analiza planu wykonawczego zapytania, explain()
      2. Wymuszanie planu wykonawczego zapytania, hint()
    4. Statystyki bazy danych a indeksy
    5. Dobre praktyki dotyczące indeksowania
    6. Inne metody optymalizacji zapytań i wydajności
  6. Replikacja
    1. Proces replikacji
    2. Węzły replikacji: primary, secondary, hidden, arbiter
    3. Syncing, Heartbeats, Elections, Rollbacks
    4. Projektowanie architektury oraz konfiguracja repliki
    5. Administracja i monitorowanie, Oplog
    6. Dobre praktyki dotyczące procesu replikacji
  7. Sharding
    1. Proces shardowania
    2. Węzły shardowania: Shards, Query Routers, Config servers
    3. Dystrybucja danych: Splitting, Balancing, Klucze shardujące: zakresowe, mieszające
    4. Dobre praktyki dotyczące procesu shardowania
  8. Współbieżność
    1. Zapytania do pojedynczej instancji, repliki, shardu
    2. Blokowanie zasobów
    3. Aspekty transakcyjności – atomowość i izolacja operacji zapisu na poziomie pojedynczego dokumentu, symulacja protokołu 2PC w MongoDB
  9. Deployment i administracja
    1. Tworzenie kopii zapasowych
      1. Serwera, repliki, shardowanego klastra
      2. Przyrostowe, kompletne
      3. W opraciu o mechanizmy MongoDB: mongodump, mongorestore
      4. W opraciu o mechanizmy systemu operacyjnego
    2. Monitorowanie działania, wydajności, profilowanie
      1. Monitorowanie wykorzystania pamięci
      2. Monitowanie wydajności
      3. Monitorowanie procesu replikacji
      4. Estymacja rozmiarów, size’ing
  10. Aspekty bezpieczeństwa
  11. Diagnostyka problemów i sytuacje awaryjne
  12. Przegląd narzędzi, bibliotek klienckich, sterowników
    1. JavaDriver w szczegółach jako przykład biblioteki klienckiej dla JAVA
      1. Pobieranie i instalacja, wersje sterownika/javy/bazy danych
      2. API
      3. Własna aplikacja
    2. (opcja) CSharpDriver w szczegółach jako przykład biblioteki klienckiej dla .NET
      1. Pobieranie i instalacja, wersje sterownika/.net/bazy danych
      2. API
      3. Własna aplikacja
    3. Inne
  13. Wdrożenia MongoDB w Polsce i na świecie

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


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