我是Cassandra的新手。我没有得到如何更新Cassandra中与特定用户有关的特定列。
例如,我要更新用户列族中用户的位置。
最佳答案
cassandra中的插入/更新之间没有区别(如Pranab所说)。
现在,为您介绍一个用户示例...我假设您每个用户都有一行,并且有诸如名称,电子邮件,位置之类的列。
如果您做了两次插入
[伪代码]
insert('user-123', {'name': 'bob', 'email': 'bob@example.com'})
insert('user-123', {'location': 'nowheresville'}
[/伪代码]
您将得到一个如下所示的用户行:
row-key: 'user-123'
row-value: {'name': 'bob', 'email': 'bob@example.com',
'location': 'nowheresville'}
那应该可以回答您的问题,但是要注意cassandra中的行/列。由于该行上没有锁,因此您应该小心将数据分开。如果两个人同时保存了“user-123”,我认为行可能是您想要的一半,而另一数据插入者想要的一半。
因此,将所有用户数据保存在单个单元格(序列化)中通常是一个更好的主意。
此数据的替代结构可以是:
row-key: 'nowheresville'
row-value: {'bob-123': serialized-bob-data}
serialized-bob-data: {'name': 'bob', 'email': 'bob@example.com'}
关于cassandra - 如何在Cassandra中更新列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4275414/