Elasticsearch ist eine verteilte, hoch verfügbare, Datenbank, die auf den Volltexteinsatz spezialisiert ist. Die Einsatzfelder von Elasticsearch sind weit gefasst, von der klassischen Suche durch natürliche Sprache über Datenanalyse bis hin zur Logaggregation und Auswertung. Die Einsatzfelder können auch kombiniert werden. Elasticsearch ist somit eine Art "Schweizer Taschenmesser" unter den Datenbanken.
Elasticsearch arbeitet dabei sehr schnell und kommt problemlos mit großen Mengen an Daten zurecht. Auch die Abfrage funktioniert annähernd in Echtzeit. Angesprochen wird Elasticsearch über eine HTTP-API und ist damit sehr gut in alle Infrastrukturen und Programmiersprachen integrierbar. Die Datenbank ist in Java auf Basis von Apache Lucene geschrieben und damit in so gut wie jeder Infrastruktur zuhause.
Gerade wegen der breiten Einsatzfelder ist ein gutes Verständnis der Grundlagen notwendig, um Elasticsearch gut einzusetzen. Dieser Kurs vermittelt ein gutes Verständnis der Möglichkeiten und Herangehensweisen und wo sie Sinn machen - und wo nicht.
Es lohnt sich zudem, wenn Teilnehmer bereits Fragen zu Elasticsearch haben, bspw zum Thema Suche, oder bereits ein konkretes Problem mitbringen, mit dem man sich im Workshop beschäftigen kann.
Voraussetzungen
Sie müssen nicht programmieren können, es wird via Terminal mit Elasticsearch kommuniziert. Folgende Kenntnisse und Erfahrungen sind hilfreich:
- Umgang mit Terminal / Shell, command line tools
- Erfahrung mit HTTP APIs und JSON Format
- Erfahrung mit *curl* bietet sich an, oder vergleichbare Tools wie ‘wget’, alternativ UI Tools wie insomnia oder Postman. Alles worüber man via HTTP Requests schicken kann ist gut.
Kenntnisse, die von Vorteil sind (aber nicht notwendig):
- Erfahrung mit anderen dokumentbasierten Datenbanksystemen, zB. CouchDb oder MongoDB
Inhalt
Einführung Elasticsearch
- Aufbau von Elasticsearch
- Cluster, Nodes, Indexe
- Cluster Topologien
- Shards und Replicas
- Routing
- Grundlagen Lucene
Volltextsuche
- Analyse und Mapping, wie werden Daten indiziert?
- Explizites und Dynamisches Mapping
- Vorstellung der wichtigsten Datentypen
- Relevanz und Scoring, wie werden Suchresultate ermittelt?
-
- Einführung in die Query-Sprache
- Verschiedene Query-Typen, wie werden Dokumenten durchsucht
- Aggregationen für Metriken und Analyse
- Paginierung
- Tools, Cerebro, Kibana
Produktion
- Elasticsearch Konfiguration
- Systemkonfiguration und Hardware
- Planung bzw. Aufbau eines Clusters
- Rollen von Nodes
- Cluster Topologien
- Modellierung Shards bzw. Indexe / Nodes
- Modellierung von Dokumentstrukturen
- Re-indexierung von Daten
- Nutzung von Index und Query-Templates
Erweiterte Themen
- Security
- Monitoring, Einsatz in ELK
- Backups bzw. Snapshots
- laufender Betrieb, Upgrades
- Vorstellung Elasticsearch Curator
- Optimierung & Performance
- Ingest Pipelines
- Analyse und Mapping, wie werden Daten indiziert?
- Explizites und Dynamisches Mapping
- Vorstellung der wichtigsten Datentypen
- Relevanz und Scoring, wie werden Suchresultate ermittelt?
- Einführung in die Query-Sprache
- Verschiedene Query-Typen, wie werden Dokumenten durchsucht
- Aggregationen für Metriken und Analyse
- Paginierung
- Tools, Cerebro, Kibana
Produktion
- Elasticsearch Konfiguration
- Systemkonfiguration und Hardware
- Planung bzw. Aufbau eines Clusters
- Rollen von Nodes
- Cluster Topologien
- Modellierung Shards bzw. Indexe / Nodes
- Modellierung von Dokumentstrukturen
- Re-indexierung von Daten
- Nutzung von Index und Query-Templates
Erweiterte Themen
- Security
- Monitoring, Einsatz in ELK
- Backups bzw. Snapshots
- laufender Betrieb, Upgrades
- Vorstellung Elasticsearch Curator
- Optimierung & Performance
- Ingest Pipelines
- Security
- Monitoring, Einsatz in ELK
- Backups bzw. Snapshots
- laufender Betrieb, Upgrades
- Vorstellung Elasticsearch Curator
- Optimierung & Performance
- Ingest Pipelines
Kurszeiten
Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.
An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.
Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.