2012-05-03 70 views
1

我只是在探索整个NoSQL概念。我一直在玩亚马逊DynamoDB,我非常喜欢这个概念。然而那说我不太确定数据应该如何分开。通过这个,我的意思是我应该为相关数据特性创建一个新的表,就像在关系数据库中一样,还是使用单个表来存储所有应用程序数据?Amazon DynamoDB物品大小?

作为一个例子,在关系数据库中,我可能有一个名为users的表和一个名为users_details的表。例如,我会在两个表之间创建一个1:1的关系。有了NoSQL的概念,我理论上可以创建两个表,但是让我更有效地将所有数据都放在一个表中。

如果是这种情况,那么你什么时候停止?是否想将给定用户的所有应用程序数据存储在单个表中?

回答

0

首先问自己:为什么我首先将用户从RDBMS中的用户细节中分离出来?
在更一般的说明中,当谈到NoSQL时,你真的不应该关注表之间的关系。
您不应该考虑来自不同表格的“加入”信息,而应该以可以最佳方式检索的方式准备数据。
在user/user_details方案中,将所有信息放在用户表中,并通过指定要获取的属性来查询您想要的内容。