В статье про архитектуру mollom (http://www.insight-it.ru/masshtabiruemost/arkhitektura-mollom/#more) увидел следующее утверждение:
Cassandra имеет функцию удаления устаревшей информации после определенного периода времени. В Европе существуют строгие законы о приватности личных данных, согласно которым они должны храниться не более определенного срока (штаб-квартира Mollom находится в Бельгии). В этом плане эта функция очень удобна. Эта функция опять же избавляет от необходимости реализовывать данный функционал вручную.
Вопрос следующий: как это настроить в ней? =)
Ни в документации, ни в примерах подобного поведения не описано. Нашел лишь упоминание про автоматическое удаление при превышении некоторого объема данных:
adamman71.blogspot.com/2010/11/timestamps-in-cassandra.html
Error #4: Cassandra secretly registers some kind of history about each columns entries
No. The only historical information stored by Cassandra during a write is the value of the timestamp of the corresponding column value. Any previous column value (i.e., Cassandra value-timestamp pair) is simply overwritten if its timestamp is older. The content is lost forever. No safety net. No second chance. No resurrection.
This is not to be confused with 'tombstoning', which happens when users explicitly delete previously created 'records'. Instead of performing the wipe out immediately, Cassandra flags the 'record' as 'to be deleted later'. It remains in a limbo state for some time, before being removed forever. However, the record content is lost as soon as it is flagged for delete. No safety net. No second chance. No resurrection.
You could say that Cassandra stores data on a big heap, but you only have access to the crust. And, every write with a higher Cassandra timestamp value results in an extra layer on the heap. Cassandra automatically deletes whatever is below the crust, synchronously or asynchronously.