我正在编写一个 C# 程序集,它应该存储和检索基于时间的数据,因此数据由尺寸为 500 x 2000 的二维双数组组成。
每隔 10 - 100 秒,我就会得到一组数据,这些数据应该存储大约 2 年。检索应该足够快,以便在几秒钟内获得一组约 5000 个数组。
此外,应该以某种方式删除例如超过 6 个月的数据,即每小时只有一个阵列可用。
现在有几种可能性,我已经检查过了:
“经典”数据库,例如 MS SQL。我正在创建一个数据库结构,它将数组与时间数据分开存储,因此我可以查询时间数据并仅获取我真正需要的数组。优点是对数据的很好的处理(插入/删除/选择)。问题是,您需要对数据库进行一定程度的维护,我无法随时保证。
键值数据库,例如 REDIS。运行良好,(必须对数组进行序列化 + 压缩),但我担心由于数组大小,这对于这种存储来说不是正确的。另一件事是,它应该是一个持久存储,而不仅仅是在内存中可用。
有人知道其他可能性吗?