0

我希望你能帮我解决这个问题。我目前正在重新设计一个应用程序(.NET),现在我已经来到了我不得不过度考虑数据存储的部分。

基本上每 10 秒左右(可能会有所不同,但这是最快的)我得到一个包含浮点值数组和时间戳的新数据集。(这些数组可能非常大,所以我必须处理大量数据[可以达到数百 mb 甚至 gb])数组的长度在每个过程中是固定的(让我们称之为运行),但在不同的过程中会有所不同运行。我一次只会看一场。

所以我的问题是:

如何保存这些数据以及如何在我的应用程序中处理它?

特别是如果我想读出具有特定时间戳的数据集,

给定索引的浮点值列表

以及给定索引范围和时间戳范围的二维浮点值列表。

[编辑:数据需要存储在本地]

4

2 回答 2

0

我建议使用数据库。

Run(int Id, datetime Timestamp) - PK: Id
Entry(int RunId, int Index, float Value) - PK: RunId, Index

那么你也能

SELECT Index, Value 
FROM Entry E 
    INNER JOIN Run R 
        ON E.RunId = R.Id
WHERE R.Timestamp = '00-00-00 00:00:00'

SELECT RunId, Value 
FROM Entry 
WHERE Index = 0

SELECT Timestamp, Index, Value 
FROM Entry E 
    INNER JOIN Run R 
        ON E.RunId = R.Id
WHERE 
    R.Timestamp <= '00-00-00 00:00:00' AND 
    R.Timestamp >= '00-00-00 00:00:00' AND
    E.Index <= 0 AND
    E.Index >= 0

用适当的数据替换 0 和 '00-00-00 00:00:00'。

于 2012-07-28T01:52:49.717 回答
0

Azure Table Storage ...........

于 2012-07-28T01:38:12.090 回答