将大量数据存储在数据库中的最有效方法

Most efficient way to store a large amount of data in a database

本文关键字:有效 方法 数据库 数据 存储      更新时间:2023-10-16

在我当前的应用程序中,我将每秒收到超过2000帧,其中每个帧都包含1024(通道)*32位数据。我需要一种将它们存储在数据库中或CSV文件中的方法。该申请不会全天运行,每年365天。唯一的目的是测试某些集成电路(可能会运行几分钟)。

我目前正在使用QT框架显示数据,但它也具有数据库功能。也许使用QT SQLITE ...

如何解决此类问题?我应该做一个带有列= 1(帧号) 通道数的表,并且与帧一样多的行?我应该简单地做一个带有列= 1的表(帧号) 1(通道号) 1通道值?

在CSV文件中写作会更快,更有效吗?我花一些时间写入数据(在CSV中或与数据库的槽交互),图形滞后越多。我试图保持这种简单但仍然有效。(避免使用多线程,信号量和静音)。我有一些实时限制,该图需要实时。每个X帧(也许每25帧)将被更新,但是在每个数据输入中,我都需要将其记录到某些文件或数据库中。

如果您需要数据流的实时可视化,但是不确定如何实现互斥词或如何表示数据,我认为您需要更严重地依靠第三方工具。我建议使用单个CSV文件/频道编写您的数据,然后在其他地方显示数据。Microsoft Excel对于过滤/显示数据确实很强大,将CSV文件导入其中是微不足道的。您还可以将图形链接到文件并手动更新输出,但是您将获得〜80Hz的刷新率...更像是1/60 hz。

我进行了一个快速的Google搜索,并找到了似乎提供您需要的现场图像工具。您的QT应用程序可以编写CSV文件并定期保存,并且Live-Graph可以显示。

Live-Graph