NoSQL w Azure

Odbiorcy: Developer, Developer Azure, DevOps, Senior Developer

Poziom:

Średniozaawansowany

Kategoria:

Azure

NoSQL

Forma: 10% wiedzy, 90% praktycznego warsztatu

Opis szkolenia

To unikalne szkolenie skupia się na modelowaniu danych w różnych kontekstach oraz skalowaniu tych danych, zamiast tradycyjnego podejścia do nauki samego NoSQL.

Szkolenie oferuje pogłębione zrozumienie kiedy i jak stosować bazy NoSQL w porównaniu do baz relacyjnych, przy szczególnym uwzględnieniu rozwiązań dostępnych w Azure.

Uczestnicy dowiedzą się, jak projektować rozwiązania dla dużego ruchu i obsługi dużych zbiorów danych, poznają pułapki związane z używaniem baz danych w chmurze oraz zrozumieją różnice i możliwości oferowane przez Azure dla baz NoSQL i SQL.

Najważniejsze Zagadnienia:

  • Postacie Normalne w Bazach Danych: Zrozumienie, kiedy normalizacja ma sens, a kiedy jest ograniczająca.
  • Kiedy Stosować NoSQL, a Kiedy Nie: Kryteria wyboru między bazami NoSQL a relacyjnymi.
  • Dodawanie Baz NoSQL do Systemu: Praktyczne aspekty integrowania baz NoSQL.
  • Projektowanie dla Dużego Ruchu i Dużych Danych: Strategie projektowania rozwiązań skalowalnych.
  • Pułapki Baz Danych w Chmurze: Omówienie typowych wyzwań i pułapek baz danych w środowisku chmurowym.
  • Rozwiązania Azure dla Baz NoSQL i SQL: Przegląd i porównanie rozwiązań Azure dla różnych typów baz danych.

Program szkolenia

Start, przywitanie, etc (15 min)

Modelowanie w bazach NoSQL (240 min)

Ten moduł skupia się na modelowaniu danych w bazach NoSQL, które stały się powszechnym wyborem w projektowaniu nowoczesnych architektur systemów IT.

Podczas gdy bazy NoSQL oferują elastyczność i skalowalność, często pojawiają się wyzwania związane z brakiem wiedzy o efektywnym modelowaniu danych w takich systemach.

Uczestnicy modułu nauczą się dobierać odpowiednią bazę NoSQL do konkretnych wymagań aplikacji oraz poznają techniki modelowania danych, aby maksymalizować wydajność i funkcjonalność wybranej bazy danych.

Główne Zagadnienia:

  • Wybór Odpowiedniej Bazy NoSQL: Kryteria wyboru odpowiedniej bazy NoSQL w zależności od specyfiki problemu.
  • Modelowanie w Bazach Klucz-Wartość: Nauka modelowania danych w bazach typu klucz-wartość, ich zastosowań i ograniczeń.
  • Bazy Szeroko-Kolumnowe: Zrozumienie i zastosowanie baz szeroko-kolumnowych w praktyce.
  • Bazy Dokumentowe: Techniki modelowania danych w bazach dokumentowych i ich najlepsze praktyki.
  • Bazy Grafowe: Zastosowanie i modelowanie w bazach grafowych dla złożonych relacji i analiz.
  • Indeksy Wyszukiwania Pełnotekstowego: Wykorzystanie indeksów pełnotekstowych do efektywnego wyszukiwania i analizy danych.

Jak uniknąć wąskich gardeł - dobór kluczy partycji dla danych (180 min)

Ten moduł koncentruje się na krytycznym aspekcie projektowania baz danych – wyborze klucza partycji, który często decyduje o wydajności systemu. Szczególnie w kontekście baz NoSQL, niewłaściwy wybór klucza partycji może stać się problemem wpływającym na wydajność, procedury backupu, disaster recovery i koszty.

Uczestnicy nauczą się, jak wybierać klucze partycji, zrozumieją ryzyko związane z niewłaściwym ich doborem i poznają strategie radzenia sobie z realnymi problemami biznesowymi. Ta wiedza będzie przydatna również przy modelowaniu baz SQL.

Główne Zagadnienia:

  • Rola Klucza Partycji: Zrozumienie znaczenia klucza partycji w kontekście wydajności baz danych.
  • Ograniczenia Nakładane na Klucz: Omówienie ograniczeń, które należy uwzględnić przy wyborze klucza partycji.
  • Jak Wybierać Klucz: Praktyczne wskazówki dotyczące wyboru odpowiedniego klucza partycji.
  • Klucz Syntetyczny: Nauka tworzenia i wykorzystania kluczy syntetycznych w bazach danych.
  • Klucz w Środowiskach Multi-Tenant: Rozważania dotyczące wyboru kluczy w środowiskach z wieloma najemcami.

Azure Search (240 min)

Ten moduł wprowadza do świata Azure Search, zaawansowanej usługi zarządzanej do wyszukiwania pełnotekstowego, która wykorzystuje indeksy baz NoSQL do efektywnego przeszukiwania tekstu.

Uczestnicy dowiedzą się, jak działają indeksy TD-IDF, o podstawach Lucene, oraz nauczą się implementować różnorodne techniki wyszukiwania, w tym fuzzy search i funkcje GIS.

Moduł ten zapewni również wiedzę na temat zaawansowanych tematów takich jak analizatory, tokenizatory i scoring profiles, aby maksymalizować efektywność wyszukiwania w aplikacjach.

Główne Zagadnienia:

  • Czym jest i Jak Działa Indeks TD-IDF: Wprowadzenie do indeksów TD-IDF i ich roli w wyszukiwaniu pełnotekstowym.
  • Lucene: Podstawy używania Lucene w kontekście Azure Search.
  • Podstawowa Składnia: Zrozumienie i wykorzystanie podstawowej składni wyszukiwania.
  • Fuzzy Search: Implementacja wyszukiwania tolerującego drobne błędy i niedopasowania.
  • Boosting: Techniki wykorzystania boosting do manipulowania wagą wyników wyszukiwania.
  • Regex i Wildcard: Wykorzystanie wyrażeń regularnych i dzikich kart w wyszukiwaniu.
  • Filtrowanie: Zastosowanie filtrów do zawężania wyników wyszukiwania.
  • Wyszukiwanie w Promieniu - Funkcje GIS: Wykorzystanie funkcji geoprzestrzennych w wyszukiwaniu.
  • Facet Search: Implementacja wyszukiwania fasetowego.
  • Highlighting: Techniki wyróżniania szukanej frazy w wynikach wyszukiwania.
  • MoreLikeThis: Wykorzystanie funkcji "More Like This" do znajdowania podobnych wyników.
  • Budowanie Podpowiedzi: Techniki tworzenia efektywnych podpowiedzi wyszukiwania.
  • Synonimy: Implementacja synonimów w wyszukiwaniu.
  • Zaawansowane Tematy:Analizatory: Zrozumienie i wykorzystanie analizatorów w wyszukiwaniu.
  • Tokenizatory i Token Filters: Nauka o tokenizatorach i filtrach tokenów.
  • ngram: Wykorzystanie ngramów do poprawy dokładności wyszukiwania.
  • Scoring Profiles: Tworzenie i stosowanie scoring profiles do dostosowywania wyników wyszukiwania.

Cosmos DB (120 min)

Ten moduł koncentruje się na Cosmos DB, usłudze Microsoft Azure, która ewoluowała z bazy dokumentowej z geograficznie rozproszonymi węzłami i równoległym zapisem do wszechstronnego rozwiązania obejmującego bazy grafowe, dokumentowe oraz szeroko-kolumnowe.

Moduł ten ma na celu rozplątanie "węzła gordyjskiego" związanego z złożonością Cosmos DB, pomagając uczestnikom zrozumieć jej architekturę, zarządzać kosztami, wybierać odpowiednie poziomy spójności oraz efektywnie wykorzystywać różnorodne API.

Główne Zagadnienia:

  • Architektura i Działanie: Zrozumienie ogólnej architektury i mechanizmów działania Cosmos DB.
  • Zapanować nad Kosztami - Request Units (RU): Nauka zarządzania i optymalizacji Request Units dla kontroli kosztów.
  • Poziomy Spójności: Wyjaśnienie różnych poziomów spójności danych i ich zastosowań.
  • API Dokumentowe: Praktyczne wykorzystanie API dokumentowego w Cosmos DB.
  • Indeksacja: Nauka zarządzania i optymalizacji indeksacji dla efektywnego wykorzystania bazy danych.
  • Procedury Składowane: Tworzenie i wykorzystanie procedur składowanych w Cosmos DB.
  • API Grafowe: Zrozumienie i wykorzystanie API grafowego w kontekście baz grafowych.

Storage Account (120 min)

Ten moduł skupia się na Storage Account w Azure, jednej z podstawowych usług chmury, która często jest mylnie postrzegana tylko jako miejsce na przechowywanie plików.

Uczestnicy modułu dowiedzą się o bogatych możliwościach tej usługi, obejmujących Azure Blob Storage, Azure Queue Storage i Azure Table Storage.

Moduł obejmuje tematy takie jak architektura, wydajność, replikacja danych, zarządzanie dostępem, a także zarządzanie cyklem życia obiektów, problemy współbieżności i optymalizacja kosztów związanych z różnymi rodzajami przechowywania danych.

Główne Zagadnienia:

Azure Blob Storage:

  • Architektura i wydajność Blob Storage.
  • Replikacja danych i Soft Delete.
  • Dostęp i uprawnienia, w tym Access Keys i SAS tokens.
  • Zarządzanie cyklem życia obiektów.
  • Problemy współbieżności, w tym optimistic i pessimistic locking.
  • Koszty związane z wykorzystaniem Blob Storage.

Azure Queue Storage:

  • Architektura i ograniczenia Queue Storage.
  • Zastosowanie Queue Storage i dobre praktyki.
  • Optymalizacja kosztowa w użyciu Queue Storage.

Azure Table Storage:

  • Architektura i ograniczenia Table Storage.
  • Modelowanie danych w bazach szeroko-kolumnowych.
  • Transakcje, atomowość i Entity Transaction Group (ETG).
  • Praktyczne zastosowania Table Storage.
  • Optymalizacja kosztowa w użyciu Table Storage.

SQL w Azure - omówienie usług (60 min)

Ten moduł zapewnia kompleksowe omówienie różnych usług baz danych SQL dostępnych w Azure, podkreślając ich unikalne cechy i pomagając uczestnikom w podejmowaniu świadomych decyzji dotyczących ich wyboru.

W dobie, gdy NoSQL ewoluował do "Not Only SQL", bazy relacyjne nadal odgrywają kluczową rolę w systemach informatycznych.

Uczestnicy modułu zdobędą wiedzę na temat różnic między SQL VM, SQL Managed Instance, SQL Database Elastic Pool oraz Azure Database for PostgreSQL, a także nauczą się, jak odpowiednio dobierać te usługi do swoich potrzeb.

Główne Zagadnienia:

  • SQL VM: Omówienie usługi SQL Server na maszynach wirtualnych w Azure, jej zastosowań i scenariuszy użycia.
  • SQL Managed Instance: Zrozumienie charakterystyki i zalet SQL Managed Instance, w tym jej zarządzanej natury.
  • SQL Database Elastic Pool: Wyjaśnienie koncepcji Elastic Pool w Azure SQL Database i jej optymalnego wykorzystania.
  • Azure Database for PostgreSQL: Omówienie usługi Azure Database for PostgreSQL, jej cech i najlepszych przypadków użycia.

Redis (120 min)

Ten moduł skupia się na Redis, popularnym narzędziu, które często jest używane jako prosty system cache, ale oferuje znacznie więcej możliwości.

Uczestnicy modułu zdobędą wiedzę na temat zaawansowanych funkcji Redisa, włączając w to różnorodne typy danych oraz mechanizmy komunikacji.

Moduł ten dostarczy praktycznych umiejętności dotyczących wykorzystania Redisa nie tylko jako cache, ale jako wszechstronnego narzędzia zarządzania danymi w aplikacjach.

Główne Zagadnienia:

  • Listy: Zrozumienie i wykorzystanie list w Redis do przechowywania sekwencji elementów.
  • Hashe: Użycie hashów do przechowywania map klucz-wartość.
  • Sety: Nauka zarządzania zbiorami unikalnych elementów.
  • SortedSets: Wykorzystanie sorted sets dla zbiorów uporządkowanych.
  • Stringi: Zrozumienie i wykorzystanie stringów jako podstawowego typu danych w Redis.
  • Publish and Subscribe: Implementacja wzorców pub/sub dla komunikacji między procesami.
  • HyperLogLogs: Wykorzystanie HyperLogLogs do efektywnego liczenia unikalnych elementów.
  • Transakcje: Nauka zarządzania transakcjami w Redis, zapewniających atomowość operacji.

Zakończenie, ankieta, etc (15 min)

Rozwiń

Opinie

Profesjonalnie prowadzone szkolenie, pokazujące nie tylko jak zrobić ale i dlaczego/jak nie robić.

Ogólnie szkolenie bardzo fajne, idąc myślałem, że będzie to jedno z tych nudnych, w których robię już setny raz to samo, ale jednak się myliłem.

Kompetencja, zaangażowanie, dobry dobór i przygotowanie ćwiczeń praktycznych.

Znakomity poziom wiedzy z danego obszaru, oparty na praktyce. Przykłady z życia pokazują, że trener stosował w projektach to o czym naucza.

Nie spotkałem wcześniej bardziej entuzjastycznego trenera i kogokolwiek w naszej branży. Tak trzymać :)

Ciekawe, tego się spodziewałem. Mało suchej teorii, dużo praktycznych ćwiczeń to znakomity pomysł.

  • Odbiorcy:
    Developer, Developer Azure, DevOps, Senior Developer
  • Poziom:
    Średniozaawansowany
  • Kategoria:

    Azure

    NoSQL

  • Forma:
    10% wiedzy, 90% praktycznego warsztatu
  • Czas trwania:
    2,5 dni
  • Miejsce szkolenia: