我有一个应用程序,我每 0.1 秒存储大约 1kbyte 的数据。那是 36MByte/小时,或大约 600MByte/天。
数据是高度可压缩的,因此它的压缩率应该在 10:1 到 100:1 之间。所有数据均由时间戳引用。
我的问题是:我可以使用什么技术来存储这些数据?
约束:
- 将数据插入数据库的时间不能随着数据库大小的增加而增加。此约束排除了 Microsoft SQL Server(我们尝试过,5 天后它停止运行,因为每次“插入”都需要一分钟)。
- 我们可以每天有效地暂停数据记录 4 小时,这会给我们时间进行压缩等。
- 我们希望与 LINQ for .NET 兼容,这意味着我们可能需要一个 LINQ 适配器(MySQL 风格的接口(interface)就可以)的数据库。
最佳答案
一种方法是简单地将传入数据附加到磁盘上的文件中。一天后,切换到一个新文件,然后生成一个进程来压缩和存储前一天的文件。
您似乎假设您需要将数据存储在数据库中,但没有说明原因。你呢?
关于c# - 我可以使用什么技术来存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485428/