2016-04-21 7 views
0

Kann elasticsearch die gleichzeitige Suche/Aggregation gut verarbeiten? (Zum Beispiel geben 1000 Personen dieselbe/unterschiedliche Abfrage zur gleichen Zeit aus)Wie ist die Concurrency Abfrageleistung von elasticsearch?

Bitte beachten Sie, dass ich nicht über Parallelität Update, nur Suche/agg.

Datenbanken wie oracle/mysql sprechen alle über Nebenläufigkeit in dort docs. Elasticsearch hat nicht darüber gesprochen. Bedeutet das, dass Parallelität für die Datenstruktur und die Architektur von elasticsearch kein Problem ist?

Ich weiß, Cache-Filter ist eine gute Sache, um Gleichzeitigkeit Abfrage einfacher zu machen. Noch etwas?

+0

Es ist eine verteilte Datenbank und horizontal skaliert. Sie können immer weitere Knoten hinzufügen, um steigende gleichzeitige Suchvorgänge zu bewältigen. –

+0

Sie können sich nicht allein auf die Skalierung verlassen. https://www.elastic.co/guide/en/elasticsearch/guide/current/finite-scale.html –

+0

@AssHat_ Richtig, aber damit der Staat ein Flaschenhals ist, würden Sie Hunderte oder sogar brauchen Tausende von Knoten oder ein schreckliches Design mit dynamischen Feldern ... –

Antwort

1

Abfragen können zur Wiederverwendung mit minimalem Overhead zwischengespeichert werden.

https://www.elastic.co/guide/en/elasticsearch/guide/current/filter-caching.html#filter-caching

Dies ermöglicht eine schnellere Bearbeitung zukünftiger Abfragen über die gleichen Daten.

Die Clusterkonfiguration und Datenzuweisung haben ebenfalls Auswirkungen auf die Leistung. Anforderungen sollten in einem Round-Robin-Modus gestellt werden. Wenn ein einzelner Knoten gleichzeitig 1000 Anforderungen empfängt, wird seine Leistung verschlechtert, während die Arbeit auf mehrere Knoten aufgeteilt wird.

Zuordnungen und Analysatoren können ebenfalls erheblichen Einfluss auf die Leistung haben.

Queries that require retrieval and parsing of the _source field are expensive.

Using Query-time synonym translation will be expensive.

Die Realität ist die Leistung auf die jeweilige Anwendung basiert.