用于多态数据的DynamoDB

问题描述 投票:0回答:1

我正在寻求为具有特殊边缘情况的多态数据集设计一个 dynamodb 架构。

我的数据集是用户不同类型的事件

{
    userID: uuid,
    eventType: enum/string,
    createdAt: timestamp,
    data: { ... }
}

我的访问模式将是

  • 获取用户的所有事件
  • 获取用户特定类型的所有事件
  • 获取用户 2 个createdAt 日期之间的所有事件
  • 始终按createdAt排序

我正在努力处理的特殊情况是,我们有一个特定的事件类型“ORDER”,对于订单,我还希望能够对

data
中的 10-20 个键进行排序。这些键特定于“ORDER”事件,与任何其他事件无关。

订单访问模式:

  • 获取按字段1排序的用户的所有订单
  • 获取按字段2排序的用户的所有订单
  • 获取按field3排序的用户的所有订单 ...

dynamo 是一个好的解决方案吗?我可以在 1 个表中执行此操作还是应该考虑将其分成 2 个表?寻求架构设计/GSI、LSI 等方面的帮助

amazon-dynamodb
1个回答
0
投票

正如您想象的那样,对于一个开放式问题,您会得到一个模糊的答案,这取决于情况。

如果您需要它的功能和用途,DynamoDB 是一个很好的选择,它是一个可扩展的无服务器数据库。

如果您的大部分用例可以通过表或索引来实现,那么过滤嵌套属性可能就可以了,或者您可以通过 DynamoDB ZeroETL 功能集成 OpenSearch,以允许您对嵌套值进行高效查询。

简而言之,这取决于您的具体应用需求。

© www.soinside.com 2019 - 2024. All rights reserved.