创建Cassandra架构

时间:2012-08-06 17:55:22

标签: cassandra

我为我的项目编写了简短的架构。 我是Cassandra的初学者。 架构看起来像这样。

User = { uid: “”,
         media{ 
           media1:{
                     Rating:”” ,
                     Views:””,
                     Like:””
            },
        media2:{
        },
        media3:{
        },
        ……
         }
 }



Media={ mediaId:{
    user:{ 
        user1: {

                         rating:”” ,
                             views :””,
                             like:”” ,
                             comment:””
         },

        user2:{
                },
        user3:{
                },
        …..
        },

        category:””,
            views:””,
            rating:””,
            likes:””,
            attributes:{
             audio:{
                             albumimgurl:””
                                 track:””,
                                 artist:””,
                                 duration:””,
                                 url:””
            },
            image:{

                    smallurl:””,
                    largeurl:””,
                    title:””
           },
           video:{
                  coverimage:””,
                  url:””,
                  duration:””,
                  title:””
           },

           article:{
             title:””,
                             content:””
           },
       wallpaper:{
                     title:””,
                     smallurl:””,
                     midurl:””,
                     largeurl:””
        },
       },
  }

首先,我不知道我的架构适合Cassandra。 请告诉我,架构适合Cassandra。 谢谢。

1 个答案:

答案 0 :(得分:1)

从JSON模型开始很好,因为它易于阅读 - 不是在你的情况下,而是一般;)

这是一个不错的格式化程序:http://jsonlint.com/

JSON文档中的一个级别对应于列族,两个级别表示已经超级列族,并且不推荐使用这些级别。更多关卡是不可能的。当您需要更多级别时,请使用复合键。

从JSON文档中删除一个级别:

attributes:{
             audio:{
                             albumimgurl:””
                                 track:””,
                                 artist:””,
                                 duration:””,
                                 url:””

将其更改为:

attributes:{
             audio:albumimgurl:””
             audio:track:””,
             audio:artist:””,
             audio:duration:””,
             audio:url:””

其中audio:albumimgurl是列名 - 在Cassandra Compound Column中。

您可以使用任意数量的化合物,因此:attributes:audio:albumimgurl也很好