Firma BigDotSoftware specjalizuje się we wdrożeniach i integracjach systemów wykorzystujących szeroko pojęte technologie BigData. Wychodząc naprzeciw oczekiwaniom naszych klientów przeprowadzamy także profesjonalne szkolenia z zakresu rozwiązań takich jak Hadoop, Hbase, Elasticsearch , Kafka, RabbitMQ, Redis oraz podobnych. Dzięki przeprowadzonym szkoleniom i warsztatom nasi klienci posiadający własne działy IT są w stanie samodzielnie utrzymywać i rozwijać systemy BigData.
Nasi trenerzy to doświadczeni programiści z ponad 19-letnim doświadczeniem, aktywnie pracujący z systemami BigData w lokalnych jak i w międzynarodowych projektach na zlecenia Politechniki Gdańskiej czy prestiżowych firm jak ThomsonReuters, Energa, Nordea. Posiadają oni doświadczenie w projektowaniu, realizacji, wdrożeniach czy utrzymywaniu systemów BigData
Szkolenie może zostać przeprowadzone zarówno w języku Polskim jak i Angielskim oraz może być dostosowane do indywidualnych potrzeb i wymagań klienta.
Umiejętności zdobywane podczas kursu:
- Umiejętność konfiguracji klastra Elasticsearch o parametrach odpowiednich dla potrzeb projektowanego systemu
- Umiejętność praktycznego użycia Elasticsearch i integracji z istniejącym oprogramowaniem (unikanie tzw. golden hammer),
- Umiejętność projektowania optymalnego modelu danych
- Efektywne mechanizmy ingest i query
- Umiejętność przetwarzania i transformowania danych
- Umiejętność pracy z NoSQL
- Umiejętność pracy w rozproszonych systemach
- Umiejętność integracji SQL i NoSQL oraz optymalizacja wydajności
- Testowanie wydajności rozproszonego systemu i odnajdywania wąskich gardeł,
- Umiejętność wyboru gotowych na rynku narzędzi i frameworków celem optymalizacji pracy developera – użycie technologii które do tej pory nie były brane pod uwagę a z sukcesem mogą zostać wdrożone
Czas trwania
1 do 4 dni, w zależności od aktualnego doświadczenia uczestników z Elasticsearch. Na przerobienie całego konspektu szkolenia zaleca się 4 dni, ale wybrane tematy mogą być również przeprowadzone w ciągu 1 dnia
Cena
4000zł netto/dzień dla grupy do 8 osób (skontaktuj się z nami aby otrzymać dedykowaną ofertę)
Ogólny/przykładowy konspekt/elementy szkolenia
- Wprowadzenie
- Dlaczego świat ekscytuje się BigData i co to jest? – wprowadzenie w świat technologii BigData
- Własny DC czy Chmura – przegląd plusów i minusów w kontekście Amazon Web Services (AWS)
- Przegląd dostępnych technologii OpenSource BigData (t.j.: Hadoop, Hbase, Hive, Pig, Kafka, RabbitMQ, Elasticsearch itp.) – jakich produktów należy używać i kiedy, jakie są różnice między nimi, jakie są wady i zalety poszczególnych z nich
- Open Source vs Closed Source – dlaczego warto wybierać technologie OpenSource
- NoSQL vs SQL – wprowadzenie do świata NoSQL, wady i zalety, transakcyjność, systemy rozproszone
- Elasticsearch – podstawy
- Indeksy Lucene – co to jest i dlaczego mówimy o Lucene w kontekście Elasticsearch
- Architektura produktu Elasticsearch
- Środowisko pracy – Window vs Unix, różne wersje Javy
- Node, shard, replica, mappings, routing, alokacja, templates, dynamic mapping – podstawowe elementy Elasticsearch , których zrozumienie jest kluczowe
- Jak Elasticsearch przechowuje dane – objects vs nested objects, refresh, cache, source, store, multi fields, wersjonowanie, definiowanie kluczy, wewnętrzne struktury danych + mechanizmy cache’owania, inverted index, cache
- Elasticsearch – standalone instance
- Uruchomienie standalone instance
- Index, update, upsert – tworzenie i aktualizacja pojedynczych dokumentów oraz poprzez bulk
- Search – przegląd Query DSL
- Query, filter, aggregation(facets) – podstawy zapytań NoSQL czyli jak efektywnie pytać o dane
- Rating, shard i formuły liczenia scoringu – TF*IDF, BM25 czy może własny?
- Elasticsearch – budowanie klastra
- Skalowalność – Vertical scaling vs Horizontal scaling
- Mechanizm Zen Discovery
- Konfiguracja nodów w klastrze (ingest/data/master/ml), dobór ilości masterów w klastrze,
- Fault tolerance – odporność na awarie
- Optymalizacja klastra – parametry konfiguracyjne, custom allocation, tags, rack_id, zone itp.
- Split-brain effect, load balancing, transport client – czyli podstawowe elementy architektury o których należy pamiętać
- Study Case – ile klastrów chcemy mieć i jak zasilać je danymi
- Logstash + Beats
- Uruchomienie i konfiguracja produktu
- Transformacja danych
- Ingest do Elasticsearch
- Kibana
- Architektura UI w kontekście Elasticsearch – jak najlepiej zamodelować UI
- Kibana (discovery, metryki, index patterns, devtools, dashboardy, canvas, APM server, machine learning, X-Pack)
- Elasticsearch – mechanizmy zaawansowane
- Query vs Ingestion – zaawansowane mechanizmy populacji danych poprzez systemy kolejkowe t.j Kafka, RabbitMQ
- NoSQL Query – budowanie zaawansowanych zapytań, dlaczego każde kolejne jest szybsze?
- Ingestion – jak efektywnie indeksować TB danych w Elasticsearch
- Zaawansowane konfiguracja klastra Elasticsearch – przegląd i wyjaśnienie parametrów konfiguracyjnych
- Indexer, data storage czy reporting – jak dostosować klaster do naszych potrzeb,
- Tokenizer, Analyser, Filter, Char filter – jak budować i testować zaawansowane analizatory i tokenizery dokumentów
- Machine Learning – detekcja anomalii
- Percolate – reverse search, system alertów,
- Suggesters, spell corrections, highlighting
- Search – profile, explain, custom scoring, effective pagination
- Monitorowanie klastra – zapoznanie z Kibaną oraz alternatywnymi podejściami,
- Testowanie klastra pod kątem wydajności – optymalizacja wydajności i profilowanie
- Pluginy – jakie są dostępne i jak tworzyć własne(plusy i minusy)
- X-Pack – opis możliwości
- Security
- Budowanie UI
- Architektura UI w kontekście Elasticsearch – jak najlepiej zamodelować UI
- Użycie gotowych UI – wady i zalety
- Kibana – przegląd możliwości
- Bezpieczne wyciąganie danych z klastra – czyli jak nie dopuścić do stanu „red”
- Codzienność z Elasticsearch
- Integracja Elasticsearch z istniejącymi systemami,
- Typowe problemy utrzymania klastra, synchronizacji, skalowalności – dyskusja, podzielenie się doświadczeniami z wymagających projektów BigData,
- Backupy
- Kierunki rozwoju Elasticsearch i kompatybilność wsteczna – a własciwie jej brak, czyli jak sobie z tym radzić (dla przykładu: TransportClient vs RESTclient, plugins vs no-plugins itp.)
- Rozszerzony program warsztatów
Zachęcamy do kontaktu celem otrzymania szczegółowej oferty.