java - Cassandra 中的单数据列与多列

标签 java cassandra

我正在使用现有的 cassandra 数据库开展一个项目。 架构如下所示:

<头>
分区键(大整数) 集群 key1(时间戳) 数据(文本)
1 2021-03-10 11:54:00.000 {a:"somedata", b:2, ...}

我的问题是:在 json 字符串中存储数据有什么好处吗? 它会节省一些空间吗?

到目前为止,我只发现了缺点:

  • 您不能(轻松)在运行时添加/删除列,因为应用程序可能会覆盖 json 字符串列。
  • 解析 json 字符串是当前性能的瓶颈。

最佳答案

不,在 Cassandra 中将 JSON 存储为字符串并没有真正的优势,除非 JSON 中的底层数据确实是无模式的。它也不会节省空间,但实际上会使用更多空间,因为每个项目都必须有一个键+值,而不仅仅是存储值。

如果可以,我建议将键映射到 CQL 列,以便您可以本地存储值并更灵活地访问数据。干杯!

关于java - Cassandra 中的单数据列与多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66563371/

相关文章:

java - lucene 4.10.2中生成多个CFS文件

java - 第二个 for 循环如何像在第一个 for 循环内一样工作?

amazon-web-services - 此操作不支持一致性级别 LOCAL_ONE。支持的一致性级别是 : LOCAL_QUORUM

database - 在相对大的数据上将 grace_period 更改为 0 后,Cassandra 压缩过程会有多重?

java - 如何使用 Java 驱动程序 (2.0.2,3.1) 和 cassandra 3.7 在 java 中使用 DCAwareRoundRobinPolicy

java - 使用 Jackson 将 json 扁平化为 map

java - 使用来自缓存的输入流在 Android 上解析 XML

java - Cassandra LongType 列名转字符串问题

java - Spring Integration Inbound-Channel-Adapter 逐行读取大文件

spring-boot - 如何查看在 Spring boot 中使用 Cassandra 时生成的 CQL