4

当社は、ラボセンサーデータを大量に保持するためのファイル形式をしばらく検討してきました。インストルメンテーションを実行するたびに、ファイルが生成され、トレンド分析などのためにデータベースに保存されます。データを「グループ化」できるため、階層形式が推奨されます。これは、データをデータベースに配置する前の中間ファイル形式です。私たちの開発環境のため、これは私たちの優先リストです:

1).Net準拠。APIは、Webサービスとクライアントアプリケーションで使用されます。お客様の環境を管理することはできないため、pure.Netソリューションが最適です。

2)読み取​​りの速度。読み取りはランダムであり、順次ではありません。速いほど良い。私たちがC#開発ショップでなければ、スピードは1位だと思います。

3)ファイルサイズ。ファイル自体が大きい場合は、良好な圧縮率(86%以上)が望まれます。

4)読み取りのメモリフットプリント。データ量が多いため、単純に読み取ることはできません。各センサーには時間と値のペアがあります。これにより、400万ペアを超える意志が生成される可能性があります。これにより、XMLが不要になりました。

現在HDF5を調べたところ、APIが.NETの分野でひどく不足しており、Webサービスを実行できませんが、探しているサイズ/速度があります。JSONも調べたところ、有望に見えましたが、データの一部を読み戻そうとはしていません。Webを検索しましたが、必要なことを実行するファイル形式は多くありません。どんな助けでも大歓迎です。

4

4 に答える 4

1

この情報をデータベースのテーブルに格納する方がよいと思います。SQLServerを使用している場合は、VARBINARYがその役割を果たします。

トップレベルノードの場合はnullになる可能性のある[Parent]フィールドを含めることで、テーブルを階層化できます。

ルックアップ値(ファイルのID)にインデックスを付けると、ランダムアクセスが高速になります。圧縮が必要な場合は、GZipクラスを使用して生のbyte []をフォーマットしてから、データベースに貼り付けることができます。

この情報にデータベースを使用すると、次のことが可能になります。

1)クレイジーなクエリ、結合などを実行します。2)複数の列にインデックスを付けて、さまざまなキー値ですばやく検索できます。3).Netには確かに複数のAPIがあります。4)速度にそれほど悪影響を与えない場合は圧縮を追加できます。5 )データのバックアップは簡単です

このアドバイスはあなたを助けますか?

于 2009-07-21T17:03:38.190 に答える
1

次のようなbツリーデータベースが必要です。SqlServerCompact

SQLitehttp ://sqlite.phxsoftware.com/もご覧ください。

あなたがctreeのためにグーグルのSQL部分を省くことができるならば、CTreeはもっとISAMです

申し訳ありませんが、もっとリンクします、SOは私にbcを許可していませんこれは新しいアカウントです

于 2009-07-21T17:42:35.460 に答える
0

二分木/平衡二分木形式がそれほど手間がかからない場合は、それをNewick形式で保存することを検討できます。JSONのようなキー/値ペア形式もサポートできます。

ただし、実際にはJSONよりも軽量ではありません。「{}」は「()」に置き換えられます。

((アライグマ、クマ)、((アシカ、アザラシ)、((モンキー、猫)、イタチ))、犬);

明らかにバイナリツリーであるため、クエリは非常に高速ですが、おそらくJSONオブジェクトの辞書よりも高速ではありませんが、心配する必要のあるリンクリストスタイルの階層(オブジェクトグラフ)はありません。

ただし、JavaとCだけで、そのための.NETAPIは見つかりませんでした。

于 2009-07-21T15:07:11.433 に答える
0

特別な読み取り要件はどの形式でも問題になると思います。この場合、独自のパーサーを実装する必要があります。

于 2009-07-21T14:55:12.903 に答える