2

我对数据库完全陌生,所以请原谅这个问题的简单性。我们有一个嵌入式 Linux 系统,需要存储在几个小时的时间跨度内收集的数据。数据需要可按顺序搜索,包括 GPS、环境数据等数据。这些数据需要保存在可移动 SSD 上的文件夹中,并标记为“任务”。单个 SSD 上可以存在多个“任务”,不应混合在一起,因为用户需要自行决定将它们单独复制和保存到外部媒体。数据将每秒保存 10 次,并且由于可能出现断电,因此需要非常可靠。

数据需要在创建它的系统上是可搜索的,而且在可移动磁盘被带到另一个系统(也是 Linux)之后,它也需要在那里加载和使用。过去我们已经完成了自定义文件来存储数据,但似乎数据库可能是最好的选择。MySQL 等数据库的可移植性如何?用户是否可以轻松移除带有数据库的磁盘并将其插入新机器以不费力气地使用?我们的查询将主要是基于时间的,因为用户将在以大约 10 倍的收集率收集数据后“播放”数据。此外,我们的基本代码是用 Qt (C++) 编写的,因此我们需要以这种方式与数据库进行交互。

4

1 回答 1

2

我会选择 SQLite。它又小又轻。它将所有数据存储到一个文件中。您可以将文件复制或移动到另一台计算机并在那里阅读。您的数据编写者可以重新制作文件,当它检测到今天的 ssd 还没有文件时为空。

还值得一提的是,SQLite的测试水平只有少数安全关键软件才能提供。测试套件虽然部分是自动生成的,但却是惊人的 1 亿行代码。就健壮性而言,它一点也不精简。我更信任 SQLite,而不是随机的自制数据库实现。

SQLite 用于经过认证的航空电子设备 AFAIK。

于 2012-06-08T16:11:48.660 回答