我正在使用内部用户Cassandra的Apigee Usergrid。在存储数据时,我有以下困境。
我是否存储这样的数据:
[{
"portlet": "personal_information",
"fields": [{
"id": "first_name",
"text": {
"en_us": "First Name",
"de_de": "First Name"
}
}, {
"id": "salutation",
"text": {
"en_us": "Salutation",
"de_de": "Salutation"
}
}, {
"id": "marital_status",
"text": {
"en_us": "Marital Status",
"de_de": "Marital Status"
}
}, {
"id": "native_preferred_lang",
"text": {
"en_us": "Preferred Lang",
"de_de": "Preferred Lang"
}
}]
}]
或者
[{
"id": "first_name",
"portlet": "personal_information",
"text": {
"en_us": "First Name",
"de_de": "First Name"
}
}, {
"id": "salutation",
"portlet": "personal_information",
"text": {
"en_us": "Salutation",
"de_de": "Salutation"
}
}, {
"id": "marital_status",
"portlet": "personal_information",
"text": {
"en_us": "Marital Status",
"de_de": "Marital Status"
}
}, {
"id": "native_preferred_lang",
"portlet": "personal_information",
"text": {
"en_us": "Preferred Lang",
"de_de": "Preferred Lang"
}
}]
这可能与所有no-sql数据库有关。什么数据格式更有效?
答案 0 :(得分:1)
在Usergrid 2.x中,我们使用ElasticSearch进行索引,因此在这两种结构之间应该没有功能差异。
在Usergrid 1.x中,我们对实体进行反规范化并在Cassandra之上使用索引方案,因此它们可能同样具有高性能。
也就是说,您应该测试并确保这一点,就像使用任何软件/解决方案一样。