InfluxDB 和小学科学展览会
作者:Scott Anderson / 产品, 用例, 开发者
2022 年 5 月 16 日
导航至
我是一位聪明、有才华、善良且各方面都很棒的 9 岁女儿的骄傲父亲。自从她学会说话以来,她就是一个“提问者”,对她周围的世界以及万物如何联系感到好奇(你知道,那种在整部电影中都会问问题的孩子……是的,那就是她)。随着年龄的增长,她对问题的热爱和对答案的需求使她倾向于数学和科学,而这两者她都很擅长。
每年她的小学都会举办科学展览会,和往常一样,她全身心投入。经过一番头脑风暴和研究,她想知道“玩电子游戏会影响你的血压吗?”她的假设是,由于玩游戏的兴奋和/或压力,你的血压会在玩游戏时升高。为了验证她的假设,她做了以下工作
- 收集测试对象(幸运的是,我们有一个家庭晚餐,提供了一群年龄各异的自愿参与者)。
- 在玩游戏前测量并记录每个测试对象的血压。
- 让每个测试对象玩《马里奥赛车 8》7 分钟(大约两场比赛)。
- 在玩游戏后测量并记录每个测试对象的血压。
- 记录每个测试对象的年龄和性别。
我应该插一句,我和我的妻子支持女儿去做任何她想做的事情,但工作是她自己的。我们只是在那里提供帮助。我的女儿提出了她的假设,设计了实验,列出了她需要的用品清单,然后进行了实验。她真是太棒了。
一旦她收集了数据,她就知道她想回答什么问题,但不确定找到答案的最佳方法。数据狂爸爸(我)登场了
“我想我可以帮忙。”
我每天都使用 InfluxDB 工作,所以我知道这是 InfluxDB 非常擅长处理的数据类型。所以这是我们所做的
将结果转换为行协议
我们首先将女儿的手写结果转换为行协议。我们将数据存储在 bloodpressure
测量中,包括 name
和 age
标签,并包括收缩压 (sys
) 和舒张压 (dia
) 字段。
每次测试都有两行行协议;一行用于初始血压读数,另一行用于最终血压读数。时间戳是任意的,但我们希望所有测试对齐,因此我们对所有测试使用了相同的初始和最终时间戳。以下是单次测试的结果在行协议中的样子
bloodpressure,name=Bob,age=32,sex=m sys=132,dia=80 1651003231
bloodpressure,name=Bob,age=32,sex=m sys=120,dia=70 1651003221
编写查询来回答问题
与任何数据分析一样,您首先需要回答问题,以了解如何适当地查询数据。以下是我的女儿想回答的问题
- 血压的总体平均变化是多少?
- 性别重要吗?
- 年龄重要吗?
所以我开始构建一些查询,并在同时构建一个仪表板来可视化她的结果。
我构建了显示折线图的单元格,以显示平均起始血压和结束血压之间的变化,以及显示收缩压和舒张压平均数值变化的单值统计单元格。我对性别和年龄段也做了同样的事情。我花了大约 20 分钟构建了仪表板的第一个版本。
这时,我的女儿看着仪表板说:“数字的变化很难理解。我们可以做百分比变化吗?”
我,自豪感爆棚:“当然可以。”
大约 10 分钟后,所有单值统计单元格都已更新为报告百分比变化,而不是仅仅是数学差异。这是我们最终的仪表板的样子
她问我们是否可以直接在她的项目板上使用仪表板,所以我们将仪表板置于演示模式,切换到浅色模式(以节省打印机墨水),将仪表板打印成平铺,将它们全部粘贴在一起,然后将它们粘到她的项目板上。这是结果
她的发现
虽然实验的样本量不足以得出任何具体的结论,但我的女儿观察到了一些有趣的结果
- 总体而言,血压平均下降了约 2%。
- 男性血压的下降幅度高于女性。女性的收缩压几乎没有变化,但舒张压略有升高。
- 18 岁以下的测试对象的血压几乎没有变化,而 19-30 岁的受试者的血压变化最为显著。
结果
这是一个有趣的小实验,我的女儿体验了使用 InfluxDB 来更好地理解她收集的数据。而且她赢得了她的年龄组的冠军!
不管是否获得蓝丝带,我都为她感到无比自豪。我的女儿不断提问的需求以及她对学习的热爱将使她在生活中走得很远。我很高兴看到她走向何方,也很高兴我能够向她介绍我每天使用的强大工具集。