Druid ist eine Open-Source-Technologie zur verteilten Datenspeicherung für die Echtzeit-Datenanalyse. Sie zeichnet sich durch hohe Leistung, geringe Latenz und Skalierbarkeit aus. Um die Leistung und Zuverlässigkeit von Druid weiter zu verbessern, hat das Druid-Entwicklungsteam die Caching-Technologie entwickelt. In diesem Artikel werden hauptsächlich die relevanten Kenntnisse des Druid-Cachings vorgestellt.
1. Übersicht über den Druiden-Cache
Der Druiden-Cache ist in zwei Typen unterteilt: der eine ist der Ergebnis-Cache auf dem Broker und der andere ist der Daten-Cache auf dem historischen Knoten. Die Rolle des Cachings besteht hauptsächlich darin, die Zeit zu verkürzen, die Druid zum Abfragen von Daten benötigt, und die Abfragelast zu verringern.
Ergebniscache auf Broker ist der Cache der Abfrageergebnisse. Sobald die Ergebnisse zwischengespeichert sind, können nachfolgende Abfragen direkt aus dem Cache abgerufen werden. Der Ergebniscache wird auf der lokalen Festplatte des Brokers gespeichert. Der Lebenszyklus der Abfrageergebnisse ist konfigurierbar und beträgt standardmäßig 5 Minuten. Das Abfrage-Caching wird im Allgemeinen in Szenarien verwendet, die eine hohe Abfrageantwortgeschwindigkeit erfordern.
Der Datencache auf dem historischen Knoten ist ein Cache mit Datenblöcken. Der Historical-Knoten ist für die Speicherung von Datenblöcken verantwortlich. Wenn der Historical-Knoten eine Abfrageanforderung empfängt und sich der abgefragte Datenblock bereits im lokalen Cache befindet, liest der Historical-Knoten den Datenblock direkt aus dem Cache und gibt das Ergebnis zurück. Wenn sich der Datenblock nicht im Cache befindet, muss der historische Knoten den Datenblock von anderen Knoten im Cluster oder in der Datenquelle abrufen und zwischenspeichern. Daten-Caching ist eine der wichtigsten Funktionen von Druid und kann in vielen Szenarien die Abfrageleistung und Antwortgeschwindigkeit erheblich verbessern.
2. So verwenden Sie den Druid-Cache
Sie müssen die folgenden Punkte beachten, wenn Sie den Cache in Druid verwenden:
Druid aktiviert das Caching nicht standardmäßig und Sie müssen dies explizit angeben den Cache beim Abfragen. Bei der Abfrage können Sie das Ergebnis-Caching oder das Datenblock-Caching aktivieren, indem Sie entsprechende Parameter festlegen. Die Abfrageparameter lauten wie folgt:
(1) useResultCache: auf true gesetzt, um das Zwischenspeichern von Ergebnissen zu aktivieren, der Standardwert ist false;
(2) useCache: auf true gesetzt, um das Zwischenspeichern von Datenblöcken zu aktivieren, der Standardwert ist false.
Druids Cache ist konfigurierbar und Benutzer können die Cache-Größe, den Lebenszyklus und andere Parameter entsprechend ihren tatsächlichen Anforderungen einstellen. Die Parameter der Cache-Konfiguration lauten wie folgt:
(1) QueryCacheSize: Die maximale Größe des Ergebniscaches, der Standardwert beträgt 500 MB.
(2) segmentQueryCacheSize: Die maximale Größe des Datenblockcaches, der Standardwert beträgt 0;
(3) resultCacheMaxSizeBytes: single Die maximale Größe des Abfrageergebniscaches, der Standardwert beträgt 10485760 Bytes (10 MB);
(4) resultCacheExpire: Der Lebenszyklus des Abfrageergebniscaches, der Standardwert beträgt 5 Minuten.
3. Cache-Optimierung
Die Optimierung des Druid-Cache umfasst hauptsächlich die folgenden Punkte:
Wenn der Cache die maximale Kapazität erreicht oder bestimmte Bedingungen erfüllt, muss ein Teil des Caches geleert werden. Standardmäßig löscht der Druid-Cache einige abgelaufene Caches, um mehr Speicherplatz freizugeben. Darüber hinaus können Anwender eigene Clearing-Strategien definieren und entsprechende Schnittstellen implementieren.
Die Einstellung der Cache-Größe wirkt sich direkt auf die Speicherkapazität und Effizienz des Caches aus. Wenn die Cache-Größe zu klein eingestellt ist, kann der Cache nicht genügend Datenblöcke oder Abfrageergebnisse speichern, was die Leistung von Druid-Abfragen beeinträchtigt. Wenn die Cache-Größe zu groß eingestellt ist, werden zu viele Speicherressourcen belegt zu einer verringerten Abfrageleistung. Daher muss es entsprechend dem tatsächlichen Szenario angepasst werden, um eine optimale Leistung zu erzielen.
Wenn Sie den Cache-Lebenszyklus zu lange einstellen, werden die vom Cache belegten Speicherressourcen für lange Zeit nicht freigegeben, was sich auch auf die Leistung von Druid-Abfragen auswirkt Kurz gesagt, führt dies zu einer Verringerung der Cache-Trefferrate, was sich auch auf die Leistung von Druid-Abfragen auswirkt. Daher muss der Cache-Lebenszyklus an die tatsächlichen Szenarien angepasst werden, um eine optimale Leistung zu erzielen.
Zusammenfassung:
Druid-Caching ist eine wichtige Möglichkeit, die Leistung von Druid-Abfragen zu optimieren. Ergebnis-Caching und Datenblock-Caching haben jeweils unterschiedliche Vor- und Nachteile, und Benutzer müssen die geeignete Caching-Methode basierend auf bestimmten Szenarien auswählen. Bei der Verwendung des Druid-Cache müssen Sie auf die Cache-Aktivierung und -Konfiguration achten und diese entsprechend den tatsächlichen Szenarien anpassen und optimieren.
Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über die Druid-Caching-Technologie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!