gpt4 book ai didi

nosql - Cassandra:制作数据模型/模式

转载 作者:行者123 更新时间:2023-12-02 00:28:16 26 4
gpt4 key购买 nike

(不确定它叫什么...模型..架构.. super 模型?)

我在“m”(唯一标识)个家中有“n”(唯一标识)个传感器。这些中的每一个都会触发 0 到“k”次/天(以 1-5 block 为单位)。此数据当前存储在 MySQL 中,每个“家”都有一个表,结构如下:

time stamp
sensor id
firing count

我无法围绕此数据的“nosql”模型思考问题,该模型使我能够按家庭、时间或传感器查找开火次数。

.. 或许这不是推送到 nosql 的正确数据类型?我们当前的服务器在负载下陷入困境(数亿行 x 数百个家庭)。我对寻找允许 cassandra 可扩展性的数据存储非常感兴趣。

最佳答案

这取决于。考虑“查询优先”方法:

  1. 确定查询
  2. 数据建模

因此,虽然您可能有一个 Column Family 作为您的物理模型,但您还会有一个或多个列族在查询时提供数据。并且,您可以进一步利用 Cassandra 的功能,例如:

列名可以包含数据。您不必存储值,每个名称都可以是时间戳,例如

它非常适合为每个键存储数千列,并且这些列将保持排序并且可以正向或反向顺序访问;因此,继续上面的示例,可以轻松获取传感器的所有时间戳列表

复合数据类型 允许您将多位数据组合成键、名称或值。例如合并房屋 ID 和传感器 ID

Counter Columns 提供简单的值增量,即使对于初始值也是如此,因此始终只是一个写操作。

索引可以在静态列名上定义,这实际上提供了一个以键作为结果的反向列族,只是要注意存储桶的大小(例如,可能不希望值为毫秒)

关于nosql - Cassandra:制作数据模型/模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7968311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com