将嵌套的json转换为Cassandra

时间:2017-01-10 20:26:45

标签: json cassandra nosql

尝试将json数据转换为Cassandra时遇到问题。

json数据如下:

{
  "A": {
    "A_ID" : "1111"
    "field1": "value1",
"field2": "value2",
"field3": [
  {
    "id": "id1",
    "name": "name1",
    "segment": [
      {
        "segment_id": "segment_id_1",
        "segment_name": "segment_name_1",
        "segment_value": "segment_value_1"
      },
      {
        "segment_id": "segment_id_2",
        "segment_name": "segment_name_2",
        "segment_value": "segment_value_2"
      },
      ...
    ]
  },
  {
    "id": "id2",
    "name": "name2",
    "segment": [
      {
        "segment_id": "segment_id_3",
        "segment_name": "segment_name_3",
        "segment_value": "segment_value_3"
      },
      {
        "segment_id": "segment_id_4",
        "segment_name": "segment_name_4",
        "segment_value": "segment_value_4"
      },
      ...
    ]
  },
  ...
]
  }
}

非常感谢!

我在这里看到一篇关于复合键的帖子: https://pkghosh.wordpress.com/2013/07/14/storing-nested-objects-in-cassandra-composite_columns/

但我不知道这篇文章的意思是什么,因为作者没有提供完整的解决方案。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您应该将整个json字符串保留在数据库中。

例如 - 你可以为json的“segement”部分创建一个表。

SaveChanges()

这样你可以将json部分分开。您还可以将整个json保存在一个表中,其中包含适合您需要的主键和群集键。 Cassandra使用LZ4压缩,因此可以有效地保存大量数据。浏览Compression文档,使用压缩algoritham表。