DynamoDB 用于不断发展的应用程序

Posted

技术标签:

【中文标题】DynamoDB 用于不断发展的应用程序【英文标题】:DynamoDB for an evolving application 【发布时间】:2019-12-05 13:18:28 【问题描述】:

我们正在考虑使用 DynamoDB 作为我们新的多租户 Saas 应用程序的后端。该应用程序仍处于初期阶段,并将在未来几年内不断发展。我们还不知道所有的实体。我们所知道的实体也将进化。考虑到这几点,使用 DynamoDB 是不是一个好主意?

我最担心的是我们无法为现有表添加 LSI。因此,如果我的实体要添加一个需要在过滤器中使用的新属性,我们必须创建一个与另一个表一样花费的 GSI。

请分享您在这方面的想法/经验。

【问题讨论】:

研究使用重载的 GSI。简而言之:您可以针对不同的实体类型以不同的方式重复使用相同的 GSI。 docs.aws.amazon.com/amazondynamodb/latest/developerguide/…trek10.com/blog/dynamodb-single-table-relational-modeling 【参考方案1】:

使用 Dyanmo 的主要考虑因素...您了解需要如何访问数据吗?

如果您的大部分访问都是通过键进行的,并且有一些定义明确的查询。 Dynamo 可能很合适。

这是 AWS 峰会上 Dynamo 演示中的一张有用幻灯片

【讨论】:

以上是关于DynamoDB 用于不断发展的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

用于过滤用例的AppSync DynamoDB解析器

如何将数据从 Glue 移动到 Dynamodb

如何通过经过身份验证的 cognito 用户(用户池)快速访问 DynamoDB

DynamoDB Appsync 查询多个属性

用于 Apache Hadoop 的 emr-dynamodb-connector

用于 DynamoDB 查询的 Python 代码适用于 v3.6,但不适用于 python 2.7