如何在Cassandra中存储使用活动数据

问题描述 投票:0回答:1

我需要将这个数据结构存储在我的数据库中:

Activity:
  user_id: UUID ( Partition Key )
  created_at: timestamp ( Clustering Key )
  activity_id: UUID ( Clustering Key )
  activity_data: map<string, string>

我获取数据的查询将是这样的

SELECT * FROM activities WHERE user_id=SOME-UUID LIMIT 500;

根据我的理解,当cassandra在其文件中搜索一行时,即使使用LIMIT,它也会将整个数据加载到内存中。

  1. 这是真的吗?
  2. 如果是这样我将如何保存数据,否则,考虑到我只想做一个查询(从我所知的复合分区键需要我进行多个查询)
  3. 如果我还需要在“activity_data”字段中过滤值,我将如何存储数据?是地图字段上的索引够吗?

谢谢。

database cassandra data-modeling cql
1个回答
0
投票

是的它合并来自磁盘的数据并回复客户端。如果启用,还会更新缓存。请澄清另外两个问题。

© www.soinside.com 2019 - 2024. All rights reserved.