Cassandra 删除最佳实践
Cassandra deletion best practice
我们有实时数据进入我们的系统。我们有需要服务的在线查询。为了服务于这些在线查询,我们需要对数据进行一些预处理,以便我们可以更快地提供服务。
现在我的问题是如何预处理在线实时数据。应该有一种方法可以让我弄清楚数据是否已经被处理过。为了找到这种差异,我有以下方法:
- 我可以有一个标志,表明数据已处理或未处理,我可以根据它进一步决定是否处理
- 我可以有一个列族,我可以在其中插入数据 使用 TTL,以及消息总线中的主题,如 kafka,它为我提供了 cassandra 中的行标识符,以便我可以在 cassandra
中处理这一行
- 我每天可以有一个列族,在像kafka这样的消息总线中有一个主题,它给我相应列族的行标识符
- 我可以每天有一个 keyspace 和一个像 kafka 这样的消息总线中的主题,它给我相应列族的行标识符
我读过一些内容,如果删除的次数增加,那么逻辑删除的数量就会增加,从而导致查询时间变慢。现在我对必须在上述四种方法中选择的方法感到困惑,或者有更好的方法来解决这个问题吗?
根据 datastax 博客,第三个选项可能更合适。
Cassandra Anti-patterns
我们有实时数据进入我们的系统。我们有需要服务的在线查询。为了服务于这些在线查询,我们需要对数据进行一些预处理,以便我们可以更快地提供服务。 现在我的问题是如何预处理在线实时数据。应该有一种方法可以让我弄清楚数据是否已经被处理过。为了找到这种差异,我有以下方法:
- 我可以有一个标志,表明数据已处理或未处理,我可以根据它进一步决定是否处理
- 我可以有一个列族,我可以在其中插入数据 使用 TTL,以及消息总线中的主题,如 kafka,它为我提供了 cassandra 中的行标识符,以便我可以在 cassandra 中处理这一行
- 我每天可以有一个列族,在像kafka这样的消息总线中有一个主题,它给我相应列族的行标识符
- 我可以每天有一个 keyspace 和一个像 kafka 这样的消息总线中的主题,它给我相应列族的行标识符
我读过一些内容,如果删除的次数增加,那么逻辑删除的数量就会增加,从而导致查询时间变慢。现在我对必须在上述四种方法中选择的方法感到困惑,或者有更好的方法来解决这个问题吗?
根据 datastax 博客,第三个选项可能更合适。 Cassandra Anti-patterns