2013-07-16 4 views
0

Nous avons un flux de travail très lourd sur un cluster Cassandra 1.2.5. Comme l'espace disque est limité, nous devons parfois supprimer les anciennes données. Cette suppression commence lorsque la quantité d'espace disque libre chute à un certain niveau. Nous avons appris le rôle des pierres tombales, c'est-à-dire qu'elles sont supprimées lorsque le délai d'expiration de gc_grace expire et qu'un compactage mineur est en cours. Nous avons donc mis en place un "délai de patience" et quand il expire, nous pouvons à nouveau vérifier l'espace libre sur le disque. Mais nous avons besoin d'un schéma de suppression plus prévisible car nous ne pouvons pas compter sur "un compactage mineur peut-être fonctionnera un jour". Cela ne semble pas trop spécifique, donc nous ne savons pas quand nous devrions vérifier à nouveau l'espace libre sur le disque. Peut-être que vous pouvez offrir quelques idées.Prévisibilité de suppression de lignes Cassandra

Répondre

0

Cela peut être un bon cas d'utilisation pour le compactage à niveau - si votre taux d'insertion reste constant, le temps nécessaire pour supprimer les pierres tombales expirées sera à peu près constant. Alternativement, avec le compactage par taille (la valeur par défaut), vous pouvez exécuter un compactage complet avec nodetool compact. Cela supprimera toutes les pierres tombales antérieures à gc_grace. Toutefois, cela réécrit toutes vos données dans un grand fichier SSTable, ce qui prend du temps proportionnellement à la taille totale des données. Vous devrez également utiliser moins de la moitié de votre espace disque pour pouvoir effectuer les compactions suivantes.

Questions connexes