卡桑德拉超级柱子混合?

时间:2012-08-21 15:41:52

标签: nosql cassandra

我有一个看起来像这样的设置:

user: {
    data : {
        name
        email
    }
    address : {
        city
        state
    }
}

因此,数据和地址是用户列系列中的超级列......

我真正想要的是列和超级列的混合,例如:

user: {
    name
    email
    address : {
        city
        state
    }

这对cassandra来说是否可能?

1 个答案:

答案 0 :(得分:1)

首先,您不能在一个CF中混合标准列和超级列。每个CF必须指定为标准或超级。其次,您应该避免使用超级列,因为它们已被有效地弃用。相反,您可以使用标准CF实现此特定数据模型,并使用复合列存储地址字段,如下所示:

user: {
    name : "John",
    email : "john@somedomain.com",
    address:city : "Some City",
    address:state : "Some State"
}

这将允许您存储不同的地址方案,但能够将它们作为一组列进行查询。我认为这是你的目标。