基于单表的NoSQL数据库设计
您对“在DynamoDB应用程序中应该维护尽可能少的表”这句话的满意度如何。大多数设计良好的应用程序只需要一个表。 我已经列出了我的NoSQL设计用例,但将自己限制在一个表的设计中会使设计变得复杂,并且要求每个使用NoSQL表的开发人员理解逻辑复杂性,遵守分区和性能增益的原则。只需编写几个我的应用程序,即可执行以下操作:基于单表的NoSQL数据库设计,nosql,amazon-dynamodb,partitioning,Nosql,Amazon Dynamodb,Partitioning,您对“在DynamoDB应用程序中应该维护尽可能少的表”这句话的满意度如何。大多数设计良好的应用程序只需要一个表。 我已经列出了我的NoSQL设计用例,但将自己限制在一个表的设计中会使设计变得复杂,并且要求每个使用NoSQL表的开发人员理解逻辑复杂性,遵守分区和性能增益的原则。只需编写几个我的应用程序,即可执行以下操作: 向移动设备注册用户帐户 允许多个用户在安装了应用程序的任何移动设备上检查其帐户 记录每个用户每天可能从10到1000的用户活动 有一个批处理作业,它定期检查任何用户帐户是否得到
我怎样才能把这些都放在一张桌子上?所以这都是里克·霍利汉的错。他是AWS的首席工程师,专注于DynamoDB 因此,大多数良好的设计应用程序只需要一个表,但缺少的是关于如何构造有效表的设计指南 对于示例中的单表设计,您希望每个设备有一个分区,每个用户有一个分区,您可以为每个设备或每个用户编写相关信息。你可以在你的一张桌子上混合搭配这些东西。您可以使用全局二级索引来检索相关数据,但索引设计将取决于您的访问模式 从本质上讲,为单表设计建模数据的方式与RDBMS完全不同,因此您需要将所知道的一切抛到脑后,重新学习 我建议你阅读这些博客文章