我正在 Metabase 中为控制 IoT 执行器的应用程序开发仪表板。我们的系统架构包括:
带有 RDS 数据库的 Django 后端
DynamoDB 表存储传感器数据(温度、CO2、湿度)、系统 KWH 累积、警报和日志
通过 AWS IoT Core 提取数据
Metabase 不直接支持 DynamoDB。我需要在元数据库仪表板中合并来自 RDS 数据库和 DynamoDB 表的数据。
我当前的计划是使用 AWS Glue 和 Athena 使 DynamoDB 数据可以在 Metabase 中访问,然后将其与 Metabase 中的 RDS 数据连接。
使用 AWS Glue 和 Athena 桥接 DynamoDB 和 Metabase 是一个好方法吗?
我应该考虑更好的选择吗?
这种方法有哪些潜在的缺点或挑战(例如性能、成本)?
如何优化此设置以实现可扩展性或成本?
我不是数据科学方面的专家,所以我正在寻找最佳实践的指导。
仪表板需要显示来自两个数据源的各种指标,包括传感器读数、系统性能和警报历史记录。
数据新鲜度并不是那么重要,我可以有一些延迟。
任何见解或替代建议将不胜感激!
如果您的平台支持受支持的 AWS SDK 之一,我会研究一下(我从未使用过 Metabase)。
如果没有,请考虑编写 Restful 代码。也就是说,您可以编写自定义 REST API 代码来与 DynamoDB 交互。此方法涉及使用您选择的编程语言和框架(例如,带有 Flask 的 Python、带有 Express 的 Node.js 等)创建自定义 REST API。
API 将处理与 DynamoDB 的通信,抽象 DynamoDB API 的复杂性并提供更加用户友好的界面。这种方法为您提供了更多的控制力和灵活性,但需要更多的开发工作。