Python 传感器数据存储

Python sensor data storage

我有一个简单的数据集(DateTime、int、float),每天增长到 15k 个项目,在一天的高峰期我每秒最多可以有 5 个额外的记录。最初我使用 pickle 这显然是个坏主意(每秒倾倒 15k 项 5 次太慢了)。现在我开始考虑不同的 data/logging 存储选项,选择之多让我有点不知所措。

我看到 msgpack 和 ujson 相当快,但我相信这会让我遇到同样的问题;我非常频繁地将数据附加到集合中,数据记录程序实际上不需要了解以前的数据。

我的问题: 我希望得到一些关于什么可能是合适的选择的指示,我已经阅读过像 redis、mongoDB 和 noSQL 这样的东西由于内存 属性,所以看起来相当快。还是我 想多了 这个问题,我是否可以从一开始就使用像 MySQL 或 SQLite 这样的传统数据库?

结论: 想太多了一个简单的问题,现在都解决了。

如果不需要修改发布的数据,那么 Cassandra 可能是一个不错的选择,但对于 Raspberry Pi 来说,这可能有点重量级。看看 SQLite,它应该能够很容易地处理您的存储需求,并且有一个驱动程序模块 (sqliite3) 作为标准库的一部分。

这听起来好像随着时间的推移,你正在积累越来越大的泡菜,而对于数据库来说,没有必要这样做,而且存储日期时间值也很容易。

不要被学习数据库的必要性吓倒 - 听起来很复杂,但本质上它只是一种存储数据表的方法。