小编Mat*_*amp的帖子

允许过滤与不过滤;Cassandra 数据模型问题

我有一个玩具 Cassandra 集群在家里的一些 RaspberryPi 上运行。我目前正在将 CryptoCoin 数据记录到它,希望能更多地了解 Cassandra 以及沿途的其他一些事情。

我今天在这里的问题是找出我是否在这张表上正确构建了我的架构。

该表没有很多字段,主键是名称字段和时间戳字段。我想从所有硬币中查询最近 N 小时的数据(每分钟记录一次数据)。如果我使用简单的 WHERE 子句,我会收到“ALLOW FILTERING”警告。我理解为什么会发生这种情况,但我正在努力理解正确的前进道路以确保可扩展的解决方案。现在该表只有大约 320k 条记录,我可以毫无问题地使用 ALLOW FILTERING,但我意识到情况可能并非总是如此。

我设置了一个测试来查看运行两种不同的查询方法需要多长时间。ALLOW FILTERING 方法目前是最快的,但它可能会保持这种状态吗?这就是我知识匮乏的地方。

我有一个想法,添加另一个字段,即星期几,也可能是月份字段。我的想法是这可能允许在查询中进行更多过滤,因此我不必像下面所做的那样遍历所有代币,但我不知道这是否是个好主意。如果我这样做,我是否将它们设为主键?认为这是我对 Cassandra 最困惑的地方,但并非完全如此;也许只是不够自信。

CQL 表说明:

CREATE TABLE cryptocoindb.worldcoinindex (
    name text,
    timestamp int,
    label text,
    price_btc double,
    price_cny double,
    price_eur double,
    price_gbp double,
    price_rur double,
    price_usd double,
    volume_24h double,
    PRIMARY KEY (name, timestamp)
) WITH CLUSTERING ORDER BY (timestamp ASC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction …
Run Code Online (Sandbox Code Playgroud)

schema nosql cassandra

6
推荐指数
1
解决办法
5306
查看次数

标签 统计

cassandra ×1

nosql ×1

schema ×1