Document toolboxDocument toolbox

Elasticsearch

Elasticsearch als Big-Data-Suchtechnik 

Die  Elasticsearch Skalierung kann neben vertikaler Skalierung (mehr CPU, RAM, SSD) auch durch eine horizontalen Skalierbarkeit erreicht werden,

Hierbei werden weitere Server dem Cluster hinzugefügt . Vorraussetzung ist eine Aufteilung des Suchindex  in disjunkte Partitionen. Diese werden die auf die verschiedenen Server verteilt

Elasticsearch verwendet zur Partitionierung den Sharding-Ansatz, bei dem der Index in sogenannte Shards aufgeteilt wird. 

Damit in einem verteilten System Daten nicht verloren gehen Komponenten ausfallen bietet Elasticsearch Ausfallsicherheit durch die Replikation
von Shards. Jeder Shard kann in N-facher Ausfertigung vorliegen. Der Primary Shard (kurz: Primary) nimmt Index-Operationen entgegen, die nachfolgend auf den anderen Kopien, den Replica Shards (kurz: Repli-
cas), nachgezogen werden. 
Die Replicas nehmen bei Ausfall des Primary dessen Rolle ein  
Vorteile der Replikation :

  • Failover  bei Ausfall eines Primary 
  • Parallelisierung von Suchanfragen durch Kopien der Daten

Nachteile von Replikation:

  • höherer Ressourcenverbrauch bei Index-Operationen (müssen auf allen Kopien des Shards)
  • Es können sich gegebenenfalls Inkonsistenzen bei Lesezugriffen auf verschiedene Kopien desselben Shards ergeben


Inhalt dieser Seite


Mitwirkende an dieser Seite:

UserEditsCommentsLabels
Das Luka 100


Split Brain 

Für die Funktionstüchtigkeit des Clusters ist es essenziell, dass es genau einen Master gibt. Eine Situation mit zwei oder mehr Master-Knoten heißt Split Brain und ist zu vermeiden, 


Nutzung der Technologie 

Die entwickelte Erweiterung um die Integration der Elasticsearch als Suchkomponente besteht im wesentlichen aus zwei Komponenten:

  • Den Suchdienst, welcher die Anfragen aus der edu-sharing Suchumgebung an die Elasticsearch weiterleitet, und alle Daten aus der Elasticsearch zurückgibt, ohne zusätzlich die relationale Datenbank anzufragen sowie
  • einem Tracker, welcher im regelmäßigen Intervall über die Transaktionsliste geänderter Medien innerhalb des Alfresco-CMS prüft (ähnlich der Standard-Implementierung für Solr) und diese in eine spezielle und vollständige Elasticsearch-Struktur überführt.

Diese Struktur beinhaltet alle notwendigen Metadaten und Nutzer-Rechte, sodass keine zusätzliche Anfrage an die relationale Datenbank notwendig ist. Außerdem werden Informationen aus den Metadaten-Wertebereichen (s. oben) berücksichtigt und mit in den Suchindex aufgenommen.

Die Elasticsearch enthält folgende Daten

  • Grundlegende Objekt-Metadaten
  • Wertebereichs-Übersetzungen für unterstützte/verfügbare Sprachen
  • Thumbnail für Inline-Ausgabe
  • Informationen zu Verwendungen eines Mediums in Sammlungen (inkl. aller Sammlungsinformationen)
  • Statistiken für Aufrufe, Downloads, sowohl gesamt als auch konfigurierbarer Zeitbereich
  • In Arbeit: Bewertungsinformationen der Inhalte, sowohl gesamt als auch konfigurierbarer Zeitbereich