我有一个非常简单的数据采集程序。数据经常出现(大约5200赫兹)。一个数据大约为24 kB,因此大约为122 MB / s。
仅存储此数据会更有效吗?将其保存在原始二进制文件中,还是使用数据库?如果数据库,那么? SQLite,或者其他一些?
当然,数据库更具吸引力,因为在将其保存到文件时,我必须通过分隔符(数据可以具有不同的大小)将它们分开,而且使用数据库处理数据也会更容易。我不确定与文件相比的数据库性能,但是我找不到任何关于它的具体信息。
[编辑] 我使用基于Linux的操作系统和SSD磁盘,支持写入高达350 MB / s。将始终以该频率获取数据(每天使用小的服务中断将数据传输到另一台机器)
答案 0 :(得分:0)
如果您正在查找特定文件,file system
非常有用,因为操作系统会维护某种索引。但是,the contents of a txt file won't be indexed
,这是数据库的主要优点之一。
另一点是understanding the relational model
意味着您如何设计数据库,因此不需要反复重复数据。
此外understanding types
也很重要。如果你有一个txt文件,你需要解析数字,日期等。
从性能的角度来看,我会说DB are slower to start
(打开文件通常比打开与数据库的连接更快)。但是,一旦它们打开,我可以保证DB比XML或您想要使用的任何文件更快。顺便说一句,这是主purpose of a database: manage huge amount of data, filesystems are made for storing files
。
DB is that they usually can handle multi-threading and concurrency
个问题的最后几点,一个文件不能,但最后但并非最不重要in a database you cannot delete a file by mistake
并且数据丢失
所以我的选择将是一个数据库,而且我希望能为您提供一些信息,您可以决定什么是最适合您的
- 更新 -
由于您现在的需求更加具体,我试图深入挖掘:我找到了一些可能对您有用的解决方案,但我没有任何经验可以为您提供个人建议:
只需看看它们,如果你曾经使用它们,只需在这里提供社区反馈