Bazy danych NoSQL - MongoDB

LICZBA DNI: 4 (32h)

KOD KURSU: MONGODB

Powiadom
o kolejnych terminach

# mongodb

Autor szkolenia:
Rafał Kaszczuk

O szkoleniu

DLA KOGO?

Szkolenie jest kierowane do programistów, architektów oraz administratorów, którzy chcą tworzyć lub utrzymywać systemy oparte o bazy danych MongoDB

Adresatami szkolenia są w szczególności osoby 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ń

WYMAGANIA

Podstawowa znajomość baz danych

Podstawowa znajomość formatu JSON

Podstawowa znajomość JavaScript (w zakresie tworzenia pętli, instrukcji warunkowych)

ZALETY

Program szkolenia obejmuje niemal wszystkie funkcjonalności dostępne w ramach MongoDB

Oprócz wiedzy teoretycznej poparte jest omówieniem niestandardowych problemów oraz ograniczeń które mogą występować w trakcie wdrożenia produkcyjnego tej bazy danych

Szkolenie skupia się zarówno na tworzeniu prostych architektur MongoDB, złożonych z jednej instancji jak i realizacji złożonych klastrów

Szkolenie odbywa się na najnowszej, produkcyjnej wersji MongoDB, ale na życzenie uczestników może być zrealizowane ze szczególnym uwzględnieniem możliwości starszych wersji oraz kompatybilności wstecznej

Cele szkolenia

Zdobycie specjalistycznej wiedzy z zakresu MongoDB - od projektowania modelu danych, poprzez język zapytań aż po tworzenie klastrów z zastosowaniem technik replikacji oraz shardingu

Skupienie na praktycznym wykorzystaniu najważniejszych funkcjonalności oraz mechanik MongoDB.

Program

  • 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
  • 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
  • Mechanizm projekcji danych
  • $regex
  • Operacje na tablicach oraz setach
  • FindAndModify oraz operator $inc
  • Operator pozycji oraz ArrayFilter
  • 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
  • Tworzenie oraz modyfikacja prostych walidatorów
  • Poziomy walidacji
  • Akcje walidacji
  • Walidacja z wykorzystaniem JsonSchema
  • 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
  • Czym jest MapReduce?
  • Struktura zapytania MapReduce
  • Funkcja mapująca
  • Funkcja redukująca
  • Funkcja finalizująca
  • Dodatkowe opcje
  • 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
  • Przechowywanie danych binarnych w MongoDB
  • Metadane i kawałki
  • Użycie mongofiles
  • Przesłanki do używania GridFS
  • Definiowanie indeksów
  • Indeksy proste i złożone
  • Użycie indeksów na zagnieżdżonych dokumentach
  • Indeksy multikey (tablicowe)
  • Indeksy częściowe
  • 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
  • Wzorzec publish-subscribe
  • Subskrypcja zmian w MongoDB
  • Format zwracanego dokumentu
  • 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ą
  • Rola shardingu w rozszerzaniu możliwości MongoDB
  • Config server
  • Query router
  • Wybór klucza shardowania
  • Partycjonowanie danych
  • Komendy administracyjne w klastrze
  • Konfiguracja klastra
  • Strategie tworzenia backupów (mongodump, mongorestore)
  • Diagnostyka działania Mongo (mongostat, mongotop, listing aktywnych operacji)
  • Monitorowanie procesu replikacji
  • JavaDriver
    • Konfiguracja sterownika
    • API sterownika, obsługa BSON
    • MongoDB + Spring Data
  • CSharpDriver
    • Konfiguracja sterownika
    • API sterownika, obsługa BSON
    • Operacje asnchroniczne

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.