我正在使用现有的 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/