Java Cassandra中的单数据列与多列
我正在做一个现有卡桑德拉数据库的项目。 架构如下所示: 分区键(大整数) 集群键1(时间戳) 数据(文本) 1. 2021-03-10 11:54:00.000 {a:“某些数据”,b:2,…}Java Cassandra中的单数据列与多列,java,cassandra,Java,Cassandra,我正在做一个现有卡桑德拉数据库的项目。 架构如下所示: 分区键(大整数) 集群键1(时间戳) 数据(文本) 1. 2021-03-10 11:54:00.000 {a:“某些数据”,b:2,…} 不,除非JSON中的底层数据实际上是无模式的,否则将JSON存储为Cassandra中的字符串并没有真正的优势。它也不会节省空间,但实际上会使用更多的空间,因为每个项目都必须有一个key+值,而不仅仅是存储值 如果可以,我建议您将键映射到CQL列,这样您就可以以本机方式存储值,并且访问数据更加灵活。干杯
不,除非JSON中的底层数据实际上是无模式的,否则将JSON存储为Cassandra中的字符串并没有真正的优势。它也不会节省空间,但实际上会使用更多的空间,因为每个项目都必须有一个key+值,而不仅仅是存储值
如果可以,我建议您将键映射到CQL列,这样您就可以以本机方式存储值,并且访问数据更加灵活。干杯 埃里克的回答完全正确 我要补充的唯一一点是,将JSON blob存储在一个列中会导致更新问题(甚至更严重)。如果更新单个JSON属性,则整个列将被重写。此外,原始的JSON blob仍然存在……只是在压缩运行之前“过时”。在单个列中存储JSON blob唯一有意义的时间是属性不变的情况下 我同意,将键映射到CQL列是一个更好的选择