amazon-web-services - dynamodb 是否适合成长型或可旋转的产品?
问题描述
亚马逊说
NoSQL 设计需要与 RDBMS 设计不同的思维方式。对于 RDBMS,您可以创建规范化的数据模型,而无需考虑访问模式。然后,您可以在以后出现新问题和查询要求时对其进行扩展。相比之下,对于 DynamoDB,在您知道它需要回答的问题之前,您不应该开始设计您的架构。预先了解业务问题和应用程序用例是绝对必要的。
看来我应该在设计产品后设计表格以提高查询成本。
但是产品可以进行旋转或附加新功能。在早期,没有人知道产品的去向。
dynamodb 是否适合成长型或可旋转的产品?
解决方案
在我看来,Dynamo DB 相对于其他 NoSQL 解决方案的主要优势在于它是一种托管数据库服务。您为读取和写入付费,您无需担心扩展以处理更大的数据、更多的用户。如果您正在制作原型或不具备在云中设置数据库服务器和主机的技术知识,那么它可能是有用且具有成本效益的。但是,它有其局限性,因此如果您确实有技术资源,请考虑使用另一个开源 NoSQL 选项。
我认为亚马逊的声明令人困惑,可能比其他任何东西都更具营销性。在您的数据仅在不必以复杂方式组合的不同元素中访问的情况下使用 NoSQL。如果您没有定义确切的架构,这也很有帮助,因为 NoSQL 不需要硬设置架构,您可以将任何字段存储在表中,并且始终可以添加新字段。当事情发生迅速变化并且您不想像 RDBMS 所要求的那样严格迁移所有内容时,这很有帮助。但是,如果您将不得不运行复杂的逻辑或计算组合来自跨表的数据,您应该使用 RDBMS。您可以以混合方式将 NoSQL 用于某些数据,并将 RDBMS 用于其他数据,但在这种情况下,您可能不想使用 Dynamo DB,因为您 d 希望完全拥有以正确设置它。希望这会有所帮助,我相信其他人还有更多话要说,我欢迎评论以帮助我完善我的答案。
推荐阅读
- python - python中列表中的乳胶表达式用于matplotlib中的标签
- android - 在谷歌地图上绘制并根据绘制区域过滤结果 | 安卓
- javascript - 使用锚标记数据目标和来自 href 的响应数据的引导模型弹出窗口
- java - Java 停车费计算
- java - Java - 受限包的访问方法
- spring-boot - 虚拟主机未使用 application.yml springboot 和配置服务器在 RabbitMQ 服务器上创建
- python - JupyterHub 未连接到其公共端口
- excel - excel dropdown with address as result
- speech-recognition - 我有一个单词或句子,有什么方法/开源包可以找到用户说出那个单词的概率
- python - 什么时候使用 Python 省略号优于“通过”?