12 stycznia 2021

PostgreSQL: oferta szkoleń autorskich

Nasze szkolenia z zakresu serwerów baz danych PostgreSQL obejmują zagadnienia wdrażania, eksploatacji, programowania, administracji, diagnostyki, strojenia wydajności i migracji.

Oferowane szkolenia mają zawsze charakter konsultacji autorskich, dedykowanych do specyficznych wymagań klienta (wiedza wstępna, zakres, czas trwania, lokalizacja, liczność grupy, język, termin). Szkolenia prowadzone są w trybie on-line, w siedzibie Klienta lub w dowolnie wybranej lokalizacji na świecie. Poniżej przedstawiono przykładowe zakresy merytoryczne, mogące stanowić podstawę dalszych uzgodnień.

PostgreSQL 13: Podstawy administracji

Poznasz historię PostgreSQL i jego podstawową funkcjonalność. Zrozumiesz wewnętrzną architekturę serwera, znaczenie jego pierwszo- i drugoplanowych procesów, pamięci współdzielonej oraz struktur dyskowych. Zapoznasz się z zawartością katalogu danych, przyjrzysz się plikom danych, mechanizmom TOAST i plikom WAL. Wykorzystasz różne metody uruchamiania i zatrzymywania serwera PostgreSQL. Do komunikacji z serwerem będziesz używać zaawansowanych funkcji narzędzi PSQL i PgAdmin. Dostosujesz konfigurację serwera do wymagań wdrożeniowych, posługując się plikami konfiguracyjnymi postgresql.conf, postgresql.auto.conf, pg_hba.conf i pg_ident.conf. Aktywujesz komunikację SSL pomiędzy klientem a serwerem. Nauczysz się implementować podstawowe struktury logiczne i fizyczne PostgreSQL: bazy danych, schematy i przestrzenie tabel. Poznasz metody tworzenia kont użytkowników, grup użytkowników,  zarządzania uprawnieniami, audytowania użytkowników za pomocą PgAudit oraz monitorowania uprawnień. Zrozumiesz rolę, metody konfigurowania i strojenia wydajności operacji systemowych Vacuum, Analyze i Reindex. Zdobędziesz wiedzę na temat blokad transakcyjnych oraz nauczysz się je monitorować i diagnozować.  Zapoznasz się z wybranymi tabelami systemowymi, widokami systemowymi i funkcjami systemowymi (System Catalogs i Information Schema). Nauczysz się instalować i aktualizować oprogramowanie serwera PostgreSQL, poznasz mechanizmy integracji baz danych za pomocą FDW oraz wybrane mechanizmy obsługi zadań wsadowych (PgAgent, PgCron). Orientacyjna długość szkolenia: 3 dni.

PostgreSQL 13: Ochrona przed skutkami awarii

Poznasz standardowe metody ochrony zawartości baz danych PostgreSQL przed skutkami awarii. Nauczysz się aktywować mechanizm sum kontrolnych bloków w plikach danych i wykorzystywać go do wykrywania uszkodzeń w bazach danych. Wykorzystasz różne metody wykonywania i wykorzystywania logicznych kopii bezpieczeństwa (pg_dump, pg_dumpall). Nauczysz się wykonywać i weryfikować fizyczne kopie bezpieczeństwa narzędziem pg_basebackup. Odtworzysz stan bazy danych po awarii, posługując się fizyczną kopią bezpieczeństwa oraz archiwalnymi plikami WAL. Poznasz metody archiwizacji plików WAL oraz koncepcję linii czasu. Zrozumiesz procesy kompletnego i niepełnego (PITR) odtwarzania bazy danych po awarii. Zapoznasz się z dodatkowym narzędziem Barman, ułatwiającym zarządzanie kopiami bezpieczeństwa w środowiskach wieloserwerowych. Poznasz i zastosujesz standardowe metody replikacji baz danych, umożliwiające zapewnienie ciągłości biznesowej: fizyczną replikację strumieniową oraz replikację logiczną. Nauczysz się zarządzać serwerami zapasowymi, aktywować je po awarii oraz rekonstruować za pomocą pg_rewind. Zapoznasz się z dodatkowym narzędziem Repmgr, ułatwiającym konfigurowanie replikacji standardowej oraz manualne lub automatyczne zarządzanie środowiskiem replikacji. Orientacyjna długość szkolenia: 2 dni.

PostgreSQL 13: Zarządzanie wydajnością

Zrozumiesz rolę, zasady działania i parametry konfiguracyjne Query Plannera. Nauczysz się pobierać i analizować plany wykonania zapytań SQL, w tym operacje pełnego odczytu tabeli, użycia indeksów, sortowania rekordów, agregacji, operacje mnogościowe, itp. Zdobędziesz wiedzę o wykorzystywanych algorytmach łączenia tabel: Nested Loops, Merge Join, Hash Join. Zrozumiesz jak gromadzone są i wykorzystywane statystyki dla Query Plannera. Będziesz analizować zgromadzone statystyki dla tabel, kolumn i indeksów, obejmujące MCV, histogramy oraz statystyki rozszerzone. Zrozumiesz, w jaki sposób PostgreSQL szacuje koszt planu wykonania zapytania, jak możesz na niego wpływać i dlaczego w niektórych przypadkach jest on szacowany nietrafnie. Poznasz różne struktury indeksów, wykorzystywanych do szybkiej lokalizacji poszukiwanych rekordów: B-drzewo, haszowy, BRIN, GIN, GiST, w tym indeksy złożone, funkcyjne, częściowe. Zastosujesz różnorodne struktury tabel: tabele partycjonowane, tabele nielogowane, tabele tymczasowe, widoki materializowane. Aby maksymalizować wydajność, skonfigurujesz pamięć buforową serwera PostgreSQL, w tym m.in. Buffer Cache, Work Memory i Mantenance Work Memory. Skonfigurujesz i wykorzystasz mechanizm zrównoleglania wykonania zapytań SQL (Parallel Query) oraz będziesz analizować ich plany wykonania. Nauczysz się wykorzystywać dostępne mechanizmy monitorowania wydajności i diagnostyki problemów wydajnościowych: logi serwera, Auto-Explain, pg_stat_statements, widoki Statistics Collectora. Za pomocą narzędzi typu PgBench i Apache jMeter zaplanujesz i przeprowadzisz testy wydajnościowe i przeciążeniowe serwera PostgreSQL. Zapoznasz się też z przeglądem pozostałych metod zarządzania wydajnością, m.in. wpływaniem na Query Planner, asynchroniczną realizacją operacji Commit, operacjami Prepare/Execute, konfiguracją Fillfactor dla tabel, trwałymi kolumnami wyliczeniowymi, fizycznym sortowaniem rekordów w plikach danych. Orientacyjna długość szkolenia: 3 dni.

PostgreSQL 13: Środowiska o podwyższonej niezawodności

Na przykładzie Citus i PgPool-II poznasz rozwiązania PostgreSQL, umożliwiające konstrukcję wysokoniezawodnych środowisk klastrowych. Zrozumiesz założenia Database Shardingu i jego realizację w środowisku Citus. Zapoznasz się z architekturą środowiska Citus, metodami rozpraszania i replikacji danych. Zainstalujesz i zbudujesz klaster Citus, będziesz monitorować jego pracę i analizować rozproszone plany wykonania zapytań SQL. Zaobserwujesz, jak Citus pozwala podnieść niezawodność i wydajność środowiska PostgreSQL. Zdobędziesz wiedzę o funkcjonalnościach i architekturze środowiska klastrowego PgPool-II. Nauczysz się instalować PgPool-II, a następnie konfigurować jego pule połączeń, mechanizmy replikacji danych, load balancing, bufor In Memory Query Cache i proces Watchdog. Orientacyjna długość szkolenia: 2 dni.

PostgreSQL 13: Programowanie w języku PL/pgSQL

Poznasz składnię i zastosowania języka programowania PL/pgSQL. Nauczysz się pracy ze zmiennymi prostymi, zmiennymi złożonymi i kolekcjami, stosowania konstrukcji sterujących przepływem wykonania programu (instrukcje warunkowe IF/CASE, pętle WHILE/FOR/FOREACH), obsługi wyjątków, debugowania i implementacji testów jednostkowych, realizacji operacji SQL (zapytania jednorekordowe, kursory i dynamiczny SQL), wykorzystywania narzędziowych funkcji wbudowanych. Będziesz tworzyć bloki anonimowe, funkcje (w tym strumieniowe), procedury (korzystając z różnych form parametryzacji) i wyzwalacze (triggery) reagujące na zmiany danych i na zdarzenia systemowe. Orientacyjna długość szkolenia: 2 dni.

PostgreSQL 13: Migracja z Oracle Database

Zapoznasz się z kluczowymi różnicami w architekturze, mechanizmach działania, językach programowania i dialektach SQL pomiędzy PostgreSQL i Oracle Database. Poznasz funkcje narzędzia Ora2Pg, umożliwiającego zautomatyzowaną migrację baz danych z Oracle Database do PostgreSQL. Zainstalujesz, skonfigurujesz i praktycznie wykorzystasz Ora2Pg do przeprowadzenia migracji. Orientacyjna długość szkolenia: 1 dzień.