dot 快速的未来正在您所在的城市举办的活动中。

加入我们在 Redis 发布会

利用 Redis 和 Kubernetes 构建空气质量地理空间可视化

在 2020 年加州野火期间,我和数百万其他人一样,一直在不断查看 PurpleAir 网站以监测空气质量。除了寻找清洁的呼吸空气外,我还对 PurpleAir 如何汇总其传感器数据感到好奇,并很高兴地发现它有一个用于访问其数据的 API。这似乎是一个展示 Redis 作为使用 Kubernetes 部署的数据库能力的绝佳机会。

过去,我的部分研究侧重于在网络上公开地理空间数据。对于这个项目,我重新解释了这项工作,并遵循两条新的指导原则:(1)使用 Redis 的地理空间功能对数据进行分区,以及(2)在 Kubernetes 上部署整个应用程序。我想展示如何使用 Kubernetes 和 适用于 Kubernetes 的 Redis 企业版运营商 更轻松地解决管理数据收集、导入和查询的 DevOps 挑战。

我选择使用我 论文研究 中的一种方法,称为 PAN(分区、注释和命名),以生成按内在方面(例如,日期/时间、地理空间坐标等)组织的数据分区。Redis 为将此方法应用于 PurpleAir 收集的空气质量传感器数据提供了完美的构建块。我使用的方法将感兴趣的地理空间区域(阴影多边形)映射到数据分区(方框)。然后,您可以通过其元数据检索和浏览这些分区,并且您可以选择您感兴趣的任何时间跨度的分区。

按方面对数据进行分区并通过元数据进行链接。

我能够快速生成一个工作应用程序,它可以收集数据并提供 AQI(空气质量指数)测量值在彩色地图上的简单插值。此图像使用 2020 年 8 月 28 日的传感器数据生成。

进一步发展需要以可靠的方式使所有部分正常运行,而 Kubernetes 成为必不可少的工具。Kubernetes 使得描述和部署数据收集、导入、Redis 数据库以及 Web 应用程序作为可独立扩展的组件变得容易,这些组件可由集群进行管理。

空气质量地图应用程序的部署架构

我被邀请在 Kubernetes 上的数据社区聚会 上谈论这个应用程序。我介绍了我过去的一些关于网络上科学数据表示的研究,以及关键机制是如何对数据表示进行分区、注释和命名。我展示了如何通过 Python、Redis 和 Kubernetes 部署来实现此功能以收集、存储和使用空气质量数据。您可以观看我的完整演示文稿,并在下面的视频和播客中了解更多信息(以及 查看我的演示文稿幻灯片)。

https://www.youtube.com/embed/D5WsvsRvH5Q