Elasticsearch Grundkurs

Was ist Elasticsearch?

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Elasticsearch zählt zwar zu dem Segment der sogenannten NoSQL-Datenbanken, ist allerdings eher auf das Durchsuchen von Daten anstatt auf die Datenspeicherung aus Transaktionen spezialisiert. Was genau also steckt hinter Elasticsearch? In diesem Film finden Sie die Antwort darauf.

Transkript

In der Welt von NoSQL gibt es mittlerweile sehr viele Datenbanken. Elasticsearch ist eine von diesen. Doch welchen Grund sollte man haben, eine Datenbank wie Elasticsearch zu verwenden statt andere? Genau das soll nun Gegenstand der nächsten Minuten sein. Angefangen also mit einer Wunschliste, wenn ich persönlich nun eine Datenbank für meine Applikation auswählen würde, welche Anforderungen würde ich üblicherweise äußern. Je nach Absicht möchte ich vor allem auch nach Texten suchen können, denn nichts ist intuitiver für meinen Nutzer als nach Texten zu suchen. Habe ich beispielsweise eine Filmdatenbank, so weiß mein Nutzer üblicherweise nicht den gesamten Titel, sondern nur einen Teil des Titels. Also benötige ich zunächst einmal Volltextindizes. Da es aber nicht nur einen Film gibt, sondern mittlerweile relativ viele, muss meine Datenbank auch mit größeren Datenmengen umgehen können. Selbstverständlich bedingen große Datenmengen aber auch, dass die Datenbank, die diese Datenmengen beinhaltet, entsprechend skalierbar ist. Das heißt, je mehr Daten ich habe und je mehr Server ich dem ganzen Problem entgegen bringe, umso weniger sollten sich die Abfragezeiten verlangsamen. Aber auch Ausfallsicherheit muss in diesem Szenario natürlich gewährleistet sein. Schließlich wird es genau dann, wenn es so viele Server gibt, öfter zu Hardware-Problemen kommen. Und selbstverständlich sollte dies nicht die Suchleistung meiner Datenbanken beeinflussen oder gar dafür sorgen, dass ich Daten verliere. Und zu guter Letzt müssen die Daten, die sich in meiner Datenbank befinden, auch entsprechend gut durchsuchbar sein, das heißt, ich benötige eine sehr umfangreiche API, um genau die Dinge aus meinen Datenspeichern herauszusuchen, die ich auch tatsächlich brauche. In genau diesem Moment kommt nun Elasticsearch ins Spiel, denn Elasticsearch basiert mittlerweile auf jahrelangen Erfahrungen, die im OpenSource-Bereich gesammelt wurden, schon allein, weil Elasticsearch auf den sehr erprobten Indizierungsmechanismen von Apache Lucene basiert. Der Wunsch nach Skalierbarkeit und Geschwindigkeit wird von Prinzipien wie Sharding abgebildet. Mechanismen, die auch in Datenbanken wie MongoDB, für sehr gute Abfragezeiten durch Verteilung von Daten sorgt. Außerdem unterstützt Elasticsearch Replication. Das bedeutet, dass Daten auf mehrere Server gespiegelt werden, um auch hier sowohl Performance zu gewinnen als auch Ausfallsicherheit. Da Elasticsearch an sich keine grafische Oberfläche hat, wurden alle Aktionen und Konfigurationen rund um eine einzige HTTP-API designt, womit am Ende des Tages alle Mechanismen über einen Kanal abgebildet werden können. Und zu guter Letzt basiert Elasticsearch auf den äußerst erprobten Technologien, die heute auf der JVM im Einsatz sind. Und das Beste daran ist, Elasticsearch ist Opensource und damit kostenlos, sowohl verfügbar als einzelne Server-Software, als auch integrierbar in die eigene JAVA-Anwendung. Begleitet wird Elasticsearch dabei von anderen Tools, die zum Anwendungsstack rund um Elasticsearch dazugehören und auch von derselben Organisation entwickelt werden. Allen voran ist das Kibana, als grafische Oberfläche über Elasticsearch. Mit Kibana lassen sich, wie in diesem Beispiel hier zu sehen, Dashboards bauen über Daten, die sich in Elasticsearch befinden. Außerdem können interaktiv Suchen gebaut werden anhand der Daten, die in einem Elasticsearch-Index gespeichert werden. So kann unkompliziert für einen Nutzer, der die API von Elasticsearch nicht versteht, beispielsweise ein Filter konfiguriert werden, als auch ein Zeitraum eingestellt werden. Weiterhin gibt es das Tool Logstash. Da Elasticsearch oft dafür eingesetzt wird, um Logdaten von verschiedenen Servern zentral zu aggregieren, fungiert Logstash hier als ein Tool, das diese Logdaten auf den verschiedensten Applikationsservern sammelt und an Elasticsearch weiterleitet. Neben diesen manuell konfigurierten Mechanismen mit Logstash gibt es allerdings auch seit neuestem Beats. Beats sammelt Daten vollautomatisch auf Applikationsservern basierend auf Netzwerkkommunikationen oder auch Zugriff im Dateisystem. Für ähnliche Zwecke wie Elasticsearch in der Logdatenverarbeitung gibt es auch andere Tools wie Splunk, das kommerziell zur Verfügung steht, als auch Graylog - ein weiteres OpenSource-Projekt. Zusammenfassend lässt sich also sagen, dass die typische Verwendung für Elasticsearch die Verarbeitung von Logdaten ist. Allerdings glänzt Elasticsearch auch als Suchmaschine, die dank Volltextfunktionen auch anderen Suchmaschinen am Markt das Wasser reichen kann. Neben diesen beiden Funktionen kann Elasticsearch auch für RealTime-Aggregationen genutzt werden, denn die umfangreichen Cashing- Mechansimen erlauben es, sich einen schnellen Überblick über große Datenmengen zu verschaffen.

Elasticsearch Grundkurs

Lernen Sie, Elasticsearch und seine Einsatzgebiete zu verstehen und mit der API zu interagieren.

2 Std. 19 min (23 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:23.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!