我为我的项目编写了简短的架构。 我是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。 谢谢。
答案 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
也很好