用于存储计算数据的 DynamoDB 表设计

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

我正在为 DynamoDB 准备单表设计。我已经查看了亚马逊的文档和其他一些博客,以了解在表格设计过程中需要遵循的概念和最佳实践,但仍然有一些问题不清楚我需要帮助的地方。

只是为了给你背景,我准备了实体图、访问模式等,计划建立一个服务来计算一天结束时的数据,即每天、每月和每年。数据量 - 50,000 台设备 * 一天 48 个数据点。

主要实体

  • 站点(站点 ID、站点名称、位置)
  • Devices(设备ID、设备名称、设备配置参数)
  • 设备日志(LogID、日期时间、消耗的能量)-这些数据以 30 分钟为间隔。

访问模式

  • 获取站点在一年或日期范围内的总功耗
  • 根据日期范围获取站点的每月耗电量,即 23 年 1 月、23 年 2 月等的耗电量。
  • 获取站点内所有设备或站点选定设备的每日功耗

问题

  • 计划使用站点 ID 作为 PK,即站点#1
  • 设备 ID 为 SK DeviceID#100、DeviceID#200 等
  • 想存储年月日的耗电量计算数据,所以在检索时不需要执行任何计算,你能建议使用像 YEAR#2023 这样的 SK 吗,存储年度数据,DEVICE #100#YEAR#2023,设备#100#YEAR#2023#MONTH#01,设备#100#YEAR#2023#MONTH#01#DAY#01
  • 你能在上面的例子中建议 GSI1PK 和 GSI1SK 哪个属性是可取的吗?
amazon-dynamodb nosql
© www.soinside.com 2019 - 2024. All rights reserved.