存储时间序列数据的最佳开源解决方案是什么?

2024-05-23 14:31:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我对监视一些物体感兴趣。我希望每15分钟能得到10000个数据点。(也许一开始不是,但这是一个“总球场”)。我也希望能够得到每日,每周,每月和每年的统计数字。将数据保持在最高分辨率(15分钟)超过两个月并不重要。

我正在考虑各种方法来存储这些数据,并且一直在寻找一个经典的关系数据库,或者一个无模式数据库(比如SimpleDB)。

我的问题是,做这个最好的方法是什么?比起昂贵的私有解决方案,我更喜欢开源(免费)的解决方案。

小提示:我用Python编写这个应用程序。


Tags: 数据方法数据库应用程序模式分辨率开源解决方案
3条回答

可以通过h5pyPyTables访问的HDF5是为处理非常大的数据集而设计的。两个接口都工作良好。例如,h5py和PyTables都有自动压缩并支持Numpy。

绝对是托比·欧提克写的!它是开源的,专门为这样的用例设计的。

编辑:

提供一些亮点:RRDTool将时间序列数据存储在循环数据库中。它在给定的时间段内保存原始数据,然后以可配置的方式对其进行压缩,这样就有了细粒度的数据,比如一个月的数据、过去6个月一周的平均数据和过去2年一个月的平均数据。作为副作用,数据库始终保持大小不变(因此磁盘不会满负荷运行)。这是储藏室。在检索方面,RRDTool提供的数据查询可以立即转换为图形(例如png),您可以很容易地将其包含在文档和网页中。这是一个坚如磐石的、经过验证的解决方案,它比它的前身MRTG(有些人可能听说过)更具普遍性。一旦你投入其中,你会发现自己一次又一次地重复使用它。

有关快速概述和谁使用RRDTool的信息,请参见here。如果您想查看可以生成的图形类型,请确保查看gallery

纯文本文件?目前还不清楚每15分钟10公里的数据点以字节数表示是什么,但无论如何,文本文件更易于存储/存档/传输/操作,您可以直接查看。使用Python也相当容易。

相关问题 更多 >