2012-11-01 50 views
0

我使用超级列创建两人之间的聊天。Cassandra重命名超级列

每个聊天都有自己的行,其中包含所有的消息。

当用户想要删除该聊天时,我只需将列重命名为old_chat_deleted,我将创建新的聊天消息存储位置,但现在的问题是如何重命名我的旧列家族?

如果这是不可能的,剩下的唯一选择是删除整个cf并用新名称创建一个新的cf,但是如果聊天有100k+消息可能会非常慢,因为我需要将所有数据恢复为我的服务器,然后将其插回...

回答

1

重命名列CF不支持开箱即用。

您不需要为每个聊天都创建一个新的CF。 您可以为所有聊天创建包含消息的CF,并包括识别聊天会话的indexed column。或者您可以使用composite keys作为聊天记录。

为每次聊天创建一个CF是一种不好的做法,并且会严重影响cassandra的性能。