2 votes

TTL vs default_time_to_live : lequel est le meilleur et pourquoi ?

Le besoin est simple : nous devons créer un tableau qui ne contiendra que 24 heures de données. Nous avons deux possibilités

  1. Défilement du TTL à chaque insertion
  2. Rendre la propriété de la table default_time_to_live pour 24 heures.

J'ai une idée générale des deux solutions, mais en interne, laquelle sera utile pour traiter les pierres tombales ? ou les deux génèreront la même quantité de pierres tombales ? Lequel sera le meilleur et pourquoi ? Tout lien de référence sera apprécié.

7voto

mikea Points 5170

Si une table a default_time_to_live alors les lignes qui dépassent cette limite de temps sont supprimées immédiatement sans que des pierres tombales soient écrites. Cela n'affectera pas les lignes / colonnes qui ont un TTL explicite défini sur eux. Celles-ci seront écrites dans une pierre tombale.

Si vous optez pour la méthode TTL, vous devriez envisager de définir le paramètre gc_grace_seconds sur la table à quelque chose de moins que la valeur par défaut (10 jours). En particulier si vous envisagez un TTL de 24 heures.

Références :

Comment les données sont supprimées <-- Bon fond

CREATE TABLE properties <-- Référence des propriétés du tableau

À propos des suppressions et des pierres tombales dans Cassandra <-- Tout ce que vous avez toujours voulu savoir sur les suppressions et les pierres tombales

0voto

Andrea Nagy Points 725

Si vous utilisez Cassandra 3.0, vous pouvez également définir une vue matérialisée, voir les détails : https://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateMV.html

L'utilisation de TTL n'est pas très efficace car vous générerez beaucoup de pierres tombales, ce qui, selon la quantité de données, pourrait affecter vos performances de lecture.

Je pense également que votre question concernant le TTL a trouvé sa réponse ici :

comportement du TTL de cassandra pour les tables

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X