【问题标题】:makeing datamodel in cassandra db在 cassandra db 中制作数据模型
【发布时间】:2012-04-14 18:12:31
【问题描述】:

我是 Cassandra 数据库的新手。需要帮助来创建数据模型。我在 PostgraySQL 中有 db,现在我想切换到 Cassandra(安装完成)。

数据库名称 = 自动化

表 = 设备列表字段 = 设备 ID(自动增量,int), 设备名称(varchar),设备添加(布尔值)

表 = 设备键字段 = 设备键 (varchar)、设备 id(设备列表表的外键)

谢谢

【问题讨论】:

  • Cassandra 必须根据您的查询[读取和写入]模式进行建模,而不是考虑架构。因为您无法执行连接或使用外键或许多其他 SQL 功能。因此,最好列出您的查询模式以获得有效答案。
  • @Tamil : 如果你有一些 Cassandra 的基本代码。请给.. cassandra 对我来说是新的... :)

标签: database nosql cassandra datamodel


【解决方案1】:

有一个名为 Automation 的键空间

然后创建 2 个列族

Appliance List Fields

Appliance Keys Fields 

相应地创建列

设备列表字段将有列

appliance id

appliance name

appliance add

附: Cassandra 没有内置的自动增量。您将需要使用计数器。

【讨论】:

  • 列族有子列或子列族...而列只有键和值对吗?
  • 这不是使用 cassandra 进行此用例的正确数据模型
【解决方案2】:

正如 Karthkit 所说,您可以将两个表分成两个列族。列按原样添加到列族中,每个列。由于 Cassandra 中没有外键,因此您必须决定如何处理外键。但是,另一种解决方案是将两者合并到一个列族中。由于外键,您必须处理 1 : M 。如果关系是一对多的,您可以将设备列表字段设置为列族,并将设备键字段提升到其中。其中将有多个设备关键字段。如果是一对多,请将设备键字段创建为列族并将设备列表字段降级到其中。在这种情况下,它将冗余存储在每个 Appliance Keys 字段中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2018-06-26
    • 2017-08-10
    相关资源
    最近更新 更多