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.

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 do MongoDB
    • Wprowadzenie do baz danych NoSQL
    • Przyczyny powstania baz nierelacyjnych
    • Cechy MongoDB
    • Zalety oraz wady MongoDB
    • Technologie i rozwiązania powiązane z MongoDB
    • Korzystanie z Mongo Shell oraz Robo 3T
  2. Podstawowe zapytania oraz struktura danych
    • Typy przechowywanych danych
    • Insert
    • Save
    • Remove
    • Update
    • Find / FindOne
    • Rola i właściwości kursora wyniku zapytania
    • Sortowanie, skip, limit
    • Selektory zapytań
    • Tworzenie warunków logicznych
  3. Zaawansowane zapytania
    • Mechanizm projekcji danych
    • $regex
    • Operacje na tablicach oraz setach
    • FindAndModify oraz operator $inc
    • Operator pozycji oraz ArrayFilter
  4. Storage Engines
    • Omówienie wewnętrznych silników przechowywania plików dostępnych z MongoDb
    • Cechy, zalety oraz wady silnika MMAPv1
    • Cechy, zalety oraz wady silnika WiredTiger
    • Mechanizm zapisu WiredTiger (snapshot, checkpoint)
    • Porównanie zużycia pamięci RAM przez poszczególne silniki
  5. Walidacja dokumentów
    • Tworzenie oraz modyfikacja prostych walidatorów
    • Poziomy walidacji
    • Akcje walidacji
    • Walidacja z wykorzystaniem JsonSchema
  6. Modelowanie danych
    • Dobre praktyki projektowania modeli w MongoDB
    • Wady i zalety modeli zagnieżdżonych
    • Rodzaje oraz sposób implementacji “relacji”
    • Często popełniane błędy
  7. MapReduce
    • Czym jest MapReduce?
    • Struktura zapytania MapReduce
    • Funkcja mapująca
    • Funkcja redukująca
    • Funkcja finalizująca
    • Dodatkowe opcje
  8. Aggregation Framework
    • Aggregation Pipeline
    • Struktura zapytania agregującego
    • Operatory agregacji
    • Wybrane akumulatory grupowania
    • Rozbijanie tablic za pomocą $unwind
    • Multioperacje z wykorzystaniem $facet
    • Łączenie danych z różnych kolekcji za pomocą $lookup
    • Ograniczenia mechanizmu agregacji
  9. GridFS
    • Przechowywanie danych binarnych w MongoDB
    • Metadane i kawałki
    • Użycie mongofiles
    • Przesłanki do używania GridFS
  10. Indeksy w MongoDB
    • Definiowanie indeksów
    • Indeksy proste i złożone
    • Użycie indeksów na zagnieżdżonych dokumentach
    • Indeksy multikey (tablicowe)
    • Indeksy częściowe
  11. Full Text Search
    • Czym jest Full Text Search?
    • Tworzenie indeksów Full Text Search
    • Obsługa analizy słowotwórczej
    • Waga pól oraz sortowanie po dopasowaniu
    • Operator $**
    • Ograniczenia
  12. Change streams
    • Wzorzec publish-subscribe
    • Subskrypcja zmian w MongoDB
    • Format zwracanego dokumentu
  13. Replikacja
    • Rola replikacji w rozszerzaniu możliwości MongoDB
    • Elementy składowe Replica Set
    • Mechanizm failover oraz sterowanie elekcją węzła Primary
    • Rola arbitra
    • Budowa oraz zasada działania oploga
    • Komendy administracyjne w secie replikacyjnym
    • Konfiguracja Replica Set
    • Ukryty oraz opóźniony węzeł
    • Stany węzłów
    • Problemy z desynchronizacją
  14. Sharding
    • Rola shardingu w rozszerzaniu możliwości MongoDB
    • Config server
    • Query router
    • Wybór klucza shardowania
    • Partycjonowanie danych
    • Komendy administracyjne w klastrze
    • Konfiguracja klastra
  15. Narzędzia administracyjne i diagnostyczne
    • Strategie tworzenia backupów (mongodump, mongorestore)
    • Diagnostyka działania Mongo (mongostat, mongotop, listing aktywnych operacji)
    • Monitorowanie procesu replikacji
  16. (opcjonalne) Biblioteki klienckie
    • JavaDriver
      • Konfiguracja sterownika
      • API sterownika, obsługa BSON
      • MongoDB + Spring Data
    • CSharpDriver
      • Konfiguracja sterownika
      • API sterownika, obsługa BSON
      • Operacje asnchroniczne

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