我对数据库完全陌生,所以请原谅这个问题的简单性。我们有一个嵌入式Linux系统,需要存储在几个小时的时间跨度内收集的数据。数据需要按顺序搜索,并包括GPS,环境数据等数据。这些数据需要保存在可移动SSD上的文件夹中并标记为“任务”。单个SSD上可以存在多个“任务”,不应混合在一起,因为它们需要由用户自行决定复制并单独保存到外部媒体。数据将每秒保存10次,并且需要非常强大,因为可能会停电。
数据需要在创建它的系统上进行搜索,但在将可移动磁盘带到另一个系统(也是Linux)之后,还需要加载和使用它。在过去,我们已经完成了自定义文件来存储数据,但似乎数据库可能是最好的选择。像MySQL这样的数据库有多便携?用户是否可以轻松删除带有数据库的磁盘并将其插入新计算机中使用而无需太多工作?我们的查询大部分都是基于时间的,因为用户将以大约10倍的收集率收集数据后“播放”数据。另外,我们的基本代码是用Qt(C ++)编写的,所以我们需要以这种方式与数据库进行交互。
答案 0 :(得分:2)
我会选择SQLite。它很小很精简。它将所有数据存储在一个文件中。您可以将文件复制或移动到另一台计算机并在那里阅读。您的数据编写者只需重新编译该文件,当它检测到今天的ssd还没有该文件时为空。
值得一提的是,SQLite只能通过一些安全关键的软件提供testing级别。测试套件虽然部分自动生成,却是令人难以置信的1亿行代码。在稳健性方面,它根本不是精简版。我相信SQLite不仅仅是一个随机的自制数据库实现。
SQLite用于经过认证的航空电子设备AFAIK。