Druid est une technologie de stockage de données distribuée open source pour l'analyse de données en temps réel. Elle présente les caractéristiques de hautes performances, de faible latence et d'évolutivité. Afin d'améliorer encore les performances et la fiabilité de Druid, l'équipe de développement de Druid a développé une technologie de mise en cache. Cet article présente principalement les connaissances pertinentes sur la mise en cache Druid.
1. Présentation du cache Druid
Le cache Druid est divisé en deux types : l'un est le cache de résultats sur le courtier et l'autre est le cache de données sur le nœud historique. Le rôle de la mise en cache est principalement de réduire le temps nécessaire à Druid pour interroger les données et de réduire la charge des requêtes.
Le cache de résultats sur Broker est le cache des résultats des requêtes. Une fois les résultats mis en cache, les requêtes suivantes peuvent être obtenues directement à partir du cache. Le cache des résultats est stocké sur le disque local du courtier et le cycle de vie des résultats de la requête est configurable et dure 5 minutes par défaut. La mise en cache des requêtes est généralement utilisée dans les scénarios nécessitant une vitesse de réponse élevée aux requêtes.
Le cache de données sur le nœud historique est un cache de blocs de données. Le nœud historique est responsable du stockage des blocs de données. Lorsque le nœud historique reçoit une demande de requête, si le bloc de données interrogé est déjà dans le cache local, le nœud historique lit le bloc de données directement à partir du cache et renvoie le résultat. Si le bloc de données n'est pas dans le cache, le nœud historique doit obtenir le bloc de données auprès d'autres nœuds du cluster ou de la source de données et le mettre en cache. La mise en cache des données est l'une des fonctionnalités les plus importantes de Druid et peut considérablement améliorer les performances des requêtes et la vitesse de réponse dans de nombreux scénarios.
2. Comment utiliser le cache Druid
Vous devez faire attention aux points suivants lors de l'utilisation du cache dans Druid :
Druid n'active pas la mise en cache par défaut et vous devez le spécifier explicitement. le cache lors de l'interrogation. Lors d'une requête, vous pouvez activer la mise en cache des résultats ou la mise en cache des blocs de données en définissant les paramètres correspondants. Les paramètres de requête sont les suivants :
(1) useResultCache : défini sur true pour activer la mise en cache des résultats, la valeur par défaut est false ;
(2) useCache : défini sur true pour activer la mise en cache des blocs de données, la valeur par défaut est false ;
Le cache de Druid est configurable. Les utilisateurs peuvent définir la taille du cache, le cycle de vie et d'autres paramètres en fonction de leurs besoins réels. Les paramètres de configuration du cache sont les suivants :
(1) QueryCacheSize : la taille maximale du cache de résultats, la valeur par défaut est 500 Mo
(2) segmentQueryCacheSize : la taille maximale du cache de blocs de données, la valeur par défaut est 0 ;
(3) resultCacheMaxSizeBytes : single La taille maximale du cache des résultats de la requête, la valeur par défaut est de 10485760 octets (10 Mo)
(4) resultCacheExpire : le cycle de vie du cache des résultats de la requête, la valeur par défaut est de 5 minutes.
3. Optimisation du cache
L'optimisation du cache Druid comprend principalement les points suivants :
Lorsque le cache atteint la capacité maximale ou remplit certaines conditions, une partie du cache doit être vidée. Par défaut, le cache Druid efface certains caches expirés pour libérer plus d'espace. De plus, les utilisateurs peuvent définir leurs propres stratégies de compensation et mettre en œuvre les interfaces correspondantes.
Le réglage de la taille du cache affecte directement la capacité de stockage et l'efficacité du cache. Si la taille du cache est trop petite, le cache ne pourra pas stocker suffisamment de blocs de données ou de résultats de requêtes, affectant ainsi les performances des requêtes Druid. Si la taille du cache est trop grande, trop de ressources mémoire seront occupées, ce qui entraînera une augmentation de la taille du cache. en performances de requête réduites. Par conséquent, il doit être ajusté en fonction du scénario réel pour obtenir des performances optimales.
Un cycle de vie du cache trop long empêchera les ressources mémoire occupées par le cache d'être libérées pendant une longue période, ce qui affectera également les performances des requêtes Druid ; En bref, cela entraînera une diminution du taux de réussite du cache, ce qui affectera également les performances des requêtes Druid. Par conséquent, le cycle de vie du cache doit être ajusté en fonction des scénarios réels pour obtenir des performances optimales.
Résumé :
La mise en cache Druid est un moyen important d'optimiser les performances des requêtes Druid. La mise en cache des résultats et la mise en cache des blocs de données présentent chacune des avantages et des inconvénients différents, et les utilisateurs doivent choisir la méthode de mise en cache appropriée en fonction de scénarios spécifiques. Lorsque vous utilisez le cache Druid, vous devez prêter attention à l'activation et à la configuration du cache, puis l'ajuster et l'optimiser en fonction des scénarios réels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!