Lucene on Steroids: Elasticsearch 1.0.0 ist da

Hartmut Schlosser

Der Such-Server Elasticsearch ist in Version 1.0.0 erschienen. Ein Meilenstein für Big Data, twittert Elasticsearch CTO Dominiek ter Heide, und legt damit die Messlatte hoch: Elasticsearch will mit seinem ersten Major-Release zu einer Standard-Technologie für Big-Data-Anwendungen werden. Die Chancen stehen gut!

Die Wurzeln des Elasticsearch-Projektes liegen bei Shay Banon, der im Februar 2010 die erste Version des Lucene-basierten Suchprojektes vorlegte. Schnell formierte sich ein Unternehmen, dann eine Community um das Projekt, das mittlerweile auf prominente Nutzer verweisen kann: Foursquare, Netflix, Mozilla, Xing, Soundcloud, Wikimedia und Github sind Elasticsearch User.

Elasticsearch ist ein dokumentenorientierter Data Store, in dem beliebig komplexe JSON-Objekte (documents) gespeichert werden können. Geboten wird eine verteilte, Multitenant-fähige Volltext-Suchengine mit einem RESTful Web Interface und Schema-freien JSON-Dokumenten. Geschrieben ist Elasticsearch in Java, die Features der Lucene Library werden via JSON und Java API verfügbar gemacht. Prinzipiell ist Elasticsearch aber sprachneutral, unterstützt werden neben Java auch JavaScript, PHP, Perl, Python und Ruby.

Die Vorteile von Elasticsearch liegen in einer für den Nutzer transparenten Skalierung des Data Store durch Replikationsmechanismen und durch Zerlegung (Sharding) des Index in kleinere Teile. Zusätzlich funktioniert auch die Neuverteilung der Indexanteile beim Hinzufügen oder auch Wegnehmen von Knoten reibungslos. Das Datenmanagement wird einheitlich über ein schlank gestaltetes HTTP-API realisiert.

Die vorliegende Version 1.0.0 von Elasticsearch stellt das Ergebnis einer 9-monatigen Entwicklungsarbeit dar. Laut Ankündigung sind 8.000 Commits von 183 Mitstreitern eingegangen. Elasticsearch 1.0.0 basiert auf Lucene 4.6.1 und räumt mit einigen inkonsistenten APIs auf, was manchmal allerdings auf Kosten der Abwärtskompatibilität geht. Zu Migrationszwecken wird deshalb ein Migration Guide bereit gestellt.

Feature-seitig hat sich viel getan: Snapshot/Restore API, Aggregations, Distributed Percolation, cat API, Federated search, Doc values, Circuit breaker, um nur einige zu nennen.

Mit dem Snapshot/Restore-Module lassen sich Snapshots individueller Indices oder ganze Cluster in einem Remote Repository erstellen. Die neuen Aggregations ersetzen die früheren „Facets“ und erlauben erweiterte Echtzeit-Analysen. Beliebige Kombinationen und Verschachtelungen sind möglich, um Datensätze individuell zu gruppieren. Enthalten ist auch das neue Geohash Grid für Geo-Clustering. Mit dem cat API können Cluster-Informationen über die Konsole bezogen werden, ohne auf JSON-Dokumente zurückgreifen zu müssen. Einen guten Überblick über alle Neuerungen gibt Clinton Gormley auf dem ElasticSearch-Blog

Wer mehr Hintergründe über das Elasticsearch-Projekt erfahren möchte, dem sei das Interview mit Projekt-Gründer Shay Banon auf JAXenter.com empfohlen. Banon grenzt sich dort u.a. von der Solr-Suchplattform ab, die er in der Single-Server Enterprise-Ära verwurzelt sieht, während Elasticsearch auf verteilte Architekturen moderner Technologie Stacks abzielt:

To be honest, I know that a lot of people like to compare Elasticsearch to Solr, I personally think that the systems are quite different in the breadth of problems they try and solve. Solr was born in the single server, Enterprise Search era, and has proved to be a great solution for that. Elasticsearch inception and implementation started with a deep understanding of the fact that systems today require advance distributed capabilities and, yet be easy and digestible to use under today advance technology stacks. REST is a good example. Also, we at Elasticsearch have a broad vision for it, with prime example is our real time analytics capabilities that took a lot from my personal experience of building distributed in memory data grids.

Elasticsearch wird unter der Apache 2.0-Lizenz entwickelt und kann kostenlos unter http://www.elasticsearch.org/ bezogen werden. Eine Einführung in die Echtzeitanalyse mit Elasticsearch gibt Bernhard Pflugfelder auf der diesjährigen BigDataCon in Mainz.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: