Ich finde im Web keine tiefgreifende Erklärung für einen Vergleich zwischen ElasticSearch und den Graphendatenbanken.
Beide sind für das Durchlaufen von Daten optimiert.
ElasticSearch scheint für die Analyse optimiert zu sein.
Neo4j basiert jedoch auch auf Lucene, um Indizes und einige Volltextfunktionen zu verwalten.
Warum sollte ich ElasticSearch verwenden, wenn ich bereits eine Grafikdatenbank verwende?
In meinem Fall verwende ich Neo4j , um ein soziales Netzwerk aufzubauen.
Welchen wirklichen Nutzen kann ElasticSearch bringen?
UPDATE ----------
Ich habe gerade diesen Absatz gefunden:
Es gibt unzählige Fälle, in denen die elastische Suche nützlich ist. Einige Anwendungsfälle erfordern dies deutlicher als andere. Nachfolgend sind einige Aufgaben aufgeführt, für die sich die Elasticsearch besonders gut eignet.
- Durchsuchen Sie eine große Anzahl von Produktbeschreibungen nach der besten Übereinstimmung für einen bestimmten Ausdruck (z. B. „Kochmesser“) und geben Sie die besten Ergebnisse zurück
- Im vorherigen Beispiel die verschiedenen Abteilungen aufteilen, in denen das „Kochmesser“ erscheint (siehe Facettierung weiter unten in diesem Buch)
- Text nach Wörtern durchsuchen, die nach "Jahreszeit" klingen
- Automatisches Ausfüllen eines Suchfelds basierend auf teilweise eingegebenen Wörtern basierend auf zuvor ausgegebenen Suchen unter Berücksichtigung von Rechtschreibfehlern
- Speichern einer großen Menge von JSON-Daten (Semi-Structured Data) auf verteilte Weise mit einer festgelegten Redundanzstufe in einem Cluster von Computern
Es sollte jedoch beachtet werden, dass elasticsearch zwar hervorragend zur Lösung der oben genannten Probleme geeignet ist, für andere jedoch nicht die beste Wahl ist. Es ist besonders schwierig, Probleme zu lösen, für die relationale Datenbanken optimiert sind. Probleme wie die unten aufgeführten.
- Berechnung, wie viele Artikel noch im Inventar sind
- Ermitteln der Summe aller Positionen auf allen Rechnungen, die in einem bestimmten Monat versandt wurden
- Ausführen von zwei Vorgängen mit Rollback-Unterstützung
- Erstellen von Datensätzen, die garantiert über mehrere Begriffe hinweg eindeutig sind, z. B. eine Telefonnummer und eine Durchwahl
- Elasticsearch ist im Allgemeinen fantastisch, wenn es darum geht, ungefähre Antworten aus Daten zu erhalten, beispielsweise die Bewertung der Ergebnisse nach Qualität. Während elasticsearch exakte Matching- und statistische Berechnungen durchführen kann, ist die primäre Suchaufgabe eine inhärente Näherungsaufgabe.
- Das Finden von ungefähren Antworten ist eine Eigenschaft, die die elastische Suche von traditionelleren Datenbanken trennt. Allerdings zeichnen sich traditionelle relationale Datenbanken durch Präzision und Datenintegrität aus, für die Elasticsearch und Lucene nur wenige Bestimmungen haben.
Kann ich behaupten, dass ElasticSearch im Vergleich zu einer bereits verwendeten Graphendatenbank nutzlos wäre, wenn ich keine ungefähren Antworten benötige?