假设我将事件列表存储在 Cassandra 行中,使用复合列实现:
{
event:123 => 'something happened'
event:234 => 'something else happened'
}
这对我来说几乎没问题,据我所知,这是一种常见的模式。与具有event
jsonized 列表的单列相比,它可以更好地扩展,因为很容易将新项目添加到列表中,而无需先读取然后再写回。
但是,现在我需要实现这两个要求:
- 如果最后添加的事件相同,我不想添加新事件,
- 我只想保留 N 个最后的事件。
是否有任何标准方法可以实现最佳性能?(任何存储架构更改都可以)。