0

これで私を助けてくれることを願っています。私は現在、アプリケーション (.NET) を再設計していますが、データ ストレージについて考え直す必要が生じました。

基本的に 10 秒ごとに (変動する可能性がありますが、これが最速です)、float 値の配列と timeStamp を含む新しいデータセットを取得します。(これらの配列はかなり大きくなる可能性があるため、大量のデータを処理する必要があります [数百 mb または gb に達することもあります]) 配列の長さは手順ごとに固定されています (実行と呼びましょう)。実行します。一度に 1 つの実行のみを確認します。

だから私の質問は:

このデータをどのように保存し、アプリケーションでどのように処理しますか?

特に、特定のタイムスタンプを持つデータセットを読み取りたい場合は、

指定されたインデックスからの float 値のリスト

インデックス範囲とタイムスタンプ範囲が指定された float 値の 2 次元リスト。

[編集: データはローカルに保存する必要があります]

4

2 に答える 2

0

Azure テーブル ストレージ ..........

于 2012-07-28T01:38:12.090 に答える
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 に答える