Mic*_*cke 7 python linux storage hdf5 data-acquisition
我正在建立一个数据采集系统.获取的数据通常由15个信号组成,每个信号以(例如)500Hz采样.也就是说,每秒大约15 x 500 x 4字节(有符号浮点数)将到达并且必须保持不变.
以前的版本是在.NET(C#)上构建的,使用DB4O db进行数据存储.这非常有效并且表现良好.
新版本将基于Linux,使用Python(或Erlang)和......是的!什么是合适的存储候选者?
我在想MongoDB,将每个样本(或实际上是一堆样本)存储为BSON对象.每个样本(块)都有一个样本计数器作为密钥(索引)字段,以及信号源标识.
问题是我必须能够很快地检索样本.根据要求,使用样本计数器范围和请求的信号源,必须在不到一秒的时间内检索多达30秒的数据.当前(C#/ DB4O)版本管理此正常,在不到100毫秒的时间内检索数据.
我知道Python可能不是理想的性能,但我们稍后会看到它.
系统("服务器")将连接多个采集客户端,因此架构必须很好地扩展.
编辑: 经过进一步研究后,我可能会使用HDF5获取样本数据,使用Couch或Mongo获取更多类似文档的信息.我会及时向大家发布.
编辑: 最终解决方案基于HDF5和CouchDB.它表现得很好,用Python实现,在Raspberry Pi上运行.