Gibt es gute Anleitungen für die Hardwareebene zur Unterstützung von ElasticSearch? Sind Empfehlungen für Lucene oder Solr ein guter Anfang? Wir planen die Einführung einer Bereitstellung, beginnend mit
- 27 Millionen Dokumente, 8 TB Daten
- Fügen Sie 300.000 Dokumente pro Tag hinzu
Dann skaliere das ungefähr 10x auf
- 270 Millionen Dokumente, 80 TB Daten
- 3 Millionen Dokumente / Tag hinzufügen
Dies ist ein seltsamer Anwendungsfall, bei dem Abfragen in Tausenden / Tag erfolgen, die Antwortzeiten jedoch niedrig genug bleiben müssen, um eine gute Erfahrung mit einer Ajaxy-Webanwendung zu erzielen.
hardware
scaling
elasticsearch
James Socol
quelle
quelle
Antworten:
Es gibt viele Faktoren, die ins Spiel kommen können, daher glaube ich nicht, dass es viele allgemeine Richtlinien gibt.
Sie sollten eine Auswertung in kleinerem Maßstab durchführen, möglicherweise mit 1/5 des ursprünglichen Datensatzes, um zu sehen, wie sich die Dinge verhalten, wenn Sie Ihre erwartete Indizierungs- und Suchlast auf das Setup werfen. So stellen Sie sicher, dass Sie verstehen, wie viel Speicherplatz Ihre Daten tatsächlich in der Suchmaschine belegen. Hängt bei der Elasticsearch davon ab, ob Sie den Quell-JSON speichern und wie Felder analysiert werden und ob sie gespeichert werden.
EC2 kann ein vernünftiger Weg sein, um die Elastiksuche ohne großen H / W-Aufwand zu bewerten.
Bei clusterbasierter Software wie elasticsearch gibt es Kompromisse zwischen der Verkleinerung des Clusters und der Vergrößerung des Clusters. Ein großer Cluster ist nett, denn wenn Sie einen Server verlieren, müssen weniger Daten neu zugewiesen werden. Ein kleinerer Cluster verbraucht weniger Energie und ist einfacher zu warten.
Wir betreiben einen Cluster mit 35 Millionen Dokumenten mit einer Gesamtindexgröße von ca. 300 GB x 2, da alle Indizes repliziert werden. Um dies und eine sehr große Anzahl von Suchvorgängen zu unterstützen, haben wir 4 Knoten mit jeweils 24 Kernen, 48 GB RAM und 1 TB Speicher mit 10 KB Festplatten in raid10. Wir haben kürzlich die Festplattengröße erhöht, um sicherzustellen, dass wir mehr Kopffreiheit haben.
Für Ihren Fall würde ich mehr RAM und mehr Festplatte empfehlen. Mit diesem Suchvolumen können Sie wahrscheinlich Geld für CPUs sparen.
Ein geringes Suchvolumen beeinträchtigt tatsächlich die Leistung, da Caches (sowohl innerhalb der verwendeten S / W- als auch der Betriebssystemfestplatte) nicht gut erwärmt werden.
Hoffe das hilft, Paul
quelle