Ich arbeite an einem Projekt, das Millionen von Daten pro Tag speichern wird. Also möchte ich es in komprimierter Struktur (nur durchsuchbares Feld und Entfernen unerwünschter Felder) zur elastischen Suche nach sofortiger Textsuche speichern. Aber ich möchte, dass die unkomprimierten Daten für spätere Prozesse und Analysen gespeichert werden. Es sollte mehr Schreibgeschwindigkeit haben und billiger sein, um Milliarden von Daten zu speichern.Wie speichern Sie Big Data am besten und erstellen Sie eine Sofortsuche mit ES?
Antwort
Mit Elasticsearch können Sie per Index festlegen, wo Sie sie speichern möchten (über shard allocation) und welche Komprimierung Sie verwenden möchten (über index codec).
So mit unbegrenzten Ressourcen und Zeit, könnten Sie einen Prozess, wo Sie Dokumente in tägliche Indizes indexieren, zum Beispiel in einem 5-Knoten-Cluster, wo Sie die letzten 7 Tage auf 3 der Server (nennen wir diese die schnellen Server)) und alles, was älter ist, wird auf den 2 langsameren Servern gespeichert, so dass Anfragen in den letzten 7 Tagen schneller ausgeführt werden, während Jobs, die nicht zeitabhängig sind, auf den älteren Indizes laufen können, die auf den langsameren Servern gespeichert sind.
Die schnellen Server könnten mehr Rechenleistung und schnellere SSD-Festplatten haben, während die langsameren Server über normale Festplatten verfügen. Bei der Komprimierung arbeitet die Elasticsearch-Komprimierung mit den _source-Daten. Daher sollte die Komprimierung die Aggregationsgeschwindigkeit nicht beeinflussen. Wichtig ist auch, dass die Indexkomprimierung nur für neue/aktualisierte Dokumente gilt und nicht rückwirkend ausgeführt wird Dokumente, die Sie in der Vergangenheit indiziert haben.
- 1. Erstellen Sie eine historische Sequenz in Talend Big Data-Jobs
- 2. Wie speichern Sie Arrays am besten mit Hibernate?
- 3. Wie speichern Sie gruppierte Schlüsselwertpaare in einer Datei am besten?
- 4. Wie speichern Sie viele Textdaten am besten? Mysql/Json-Datei?
- 5. Abfragebetriebene Modellierung und Big Data
- 6. Wie speichern Sie Tooltip-Titel am besten in MVC?
- 7. Wie speichern Sie Nachrichten im Chat am besten nach Zeitstempel?
- 8. Wie speichern Sie XML-Daten am besten auf SQL Server?
- 9. Wie Sie in Big Data und Web Analytics beginnen
- 10. Wie speichern Sie die Leistungsdaten in CrateDB am besten?
- 11. Wie speichern Sie App-Einstellungen am besten? (MVC)
- 12. Wie organisieren Sie Feature-Dateien am besten?
- 13. Big Data - Lambda-Architektur und Speichern von Rohdaten
- 14. Wie organisieren Sie am besten mehrere Teilansichten?
- 15. Wie können Sie WPF- und Web-Apps am besten ansprechen?
- 16. Abfrageoptimierung mit mehreren Tabellen und Big Data
- 17. Wie speichern Sie die Benutzereinstellungen für eine .NET-Anwendung am besten?
- 18. Wie Debuggen Sie am besten eine Google Analytics-Ereignisse?
- 19. Wie gehen Sie am besten mit Tests mit Daten um?
- 20. Wie sichert man am besten eine Datenbankverbindungszeichenfolge?
- 21. Wie erfassen und protokollieren Sie die scp-Ausgabe am besten?
- 22. Wie testen Sie am besten eine Mutex-Implementierung?
- 23. Wie verwalten Sie Redis-Verbindungen am besten mit ServiceStack?
- 24. Wie können Sie sich am besten mit ColdFusion abmelden?
- 25. Wie speichern Sie die GPS-Koordinaten am besten, um sie später zu verwenden? (keine APIs verwendend)
- 26. Wie Sie Save | am besten implementieren Speichern und schließen | Abbrechen Formularaktionen in ASP.NET MVC 3 RC
- 27. Wie speichern Sie den Benutzernamen und das Passwort am besten auf dem iPhone?
- 28. Wie lässt sich am besten eine Webseitenminiatur erstellen?
- 29. Big Data-Integrationstest Best Practice
- 30. Sofortsuche mit Ajax und Symfony2
Aber Sie sagen immer noch nicht über die primäre Speicherung von Inhalten. Ich verwende elastische Suche nur zum Suchen des Textes. daher werde ich den einzigen durchsuchbaren Inhalt hinzufügen, der Hauptinhalt muss irgendwo gespeichert werden und es sollte nicht viel kosten. Aber es sollte für weitere Prozesse und Analysen abrufbar sein. – Tamizharasan