Из того, что мало информации вы дали здесь это звучит для меня, что вы используете Кассандру в очереди, которая хорошо известна антишаблоном. Вы можете прочитать больше о том, что здесь:
http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets
Однако, чтобы ответить на ваш основной вопрос есть небольшая разница в производительности между использованием TTL и удалений. TTL в C * обрабатываются как надгробные камни, которые являются такими же, как и удаление. Основное различие заключается в том, что надгробная плита не записывается в запись, у которой TTL истек, пока эта запись не будет прочитана снова. Когда удаление называется надгробием, немедленно создается. Могилы в целом вызывают значительные проблемы с производительностью в C *, и хотя существуют некоторые способы смягчения проблем, которые они создают с большим количеством из них, обычно указывают на плохую модель данных или плохой вариант использования для C *. Если вы действительно смотрите на использование C * в качестве очереди, почему бы не взглянуть на использование чего-то более подходящего для этой цели, такого как Redis?
Ну, мое мнение основано только на наблюдении за нашей системой, но мне кажется, что TTL должен быть лучше для работы. Мы много используем TTL, и проблем с производительностью нет. Однако иногда мы выполняем задания ручной очистки, и это вызывает большую нагрузку на нашу систему. – Michal