Storing a list of values in Cassandra

后端 未结 3 1169
感情败类
感情败类 2021-01-13 08:46

Version Dependent

Some of the answers to this question deal with older versions of Cassandra. The correct answer for this kind of problem depends on the version of

3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-13 09:04

    This answer dates to before the release of Cassandra version 1.2, which provided substantially different functionality for handling lists. The answer might be inappropriate if you are using Cassandra 1.2+.


    As mentioned on the mailing list, my preference which has worked very well for me, is to store a single column "skills" with the value being a serialized JSON string.

    Really comes down to the usage patterns you have for "skills".

    • If "skills" are just for CRUD on a per user basis, this is fine.
    • If you want to be able to search for all users that have a skill of "cobol", then I would still recommend this approach and have another row that is skill:cobol that has a column of UUID and a value of timestamp or something similar ...
    • I'm sure with Pig/Hadoop integration to your cassandra nodes, you could also still quite happily query all of the users that have x,y and z to generate new data to support additional use cases.

提交回复
热议问题