0

Windows Azure テーブル ストレージに格納されている 1,350 万行を少し超える行に対して、約 28 GB のデータ入力があります。

6 列、1 つの decimal と 1 つの datetime を除くすべての int。パーティション キーの長さは約 10 文字です。RowKey は GUID です。

これは私の健全性チェックのためです。

私がデータを移行した SQL データベースには、さらに多くのデータがあり、わずか 4.9 GB です。

サイズを圧縮する方法はありますか?プロパティの名前を変更しても、これに大きな影響が及ぶとは思いません。

*これは、長距離のコストを見積もるためのデータのサンプリングに過ぎないことに注意してください。

4

2 に答える 2

1

うーん...何かがうまくいかないようです。

  • 各プロパティはキーと値のペアであるため、計算にプロパティ名を含めます。
  • データ自体は、平均 10 文字のプロパティ名を含めて、おそらく 75 ~ 100 バイト程度です。4 つの int は 16 バイト、10 進数 (double?) は 8 バイト、タイムスタンプは 8 バイトに相当します。それでは、エンティティごとに 100 バイトに切り上げましょう。
  • 1,400 万のエンティティでは、100*1,350 万、つまり約 1.35 GB になります。

あなたの数字はおよそです。1 桁大きい (エンティティあたり約 2,000 バイト)。シリアライゼーションからのバルクを考慮しても、どうやってこんなに大きなサイズになっているのかわかりません。ちょっと興味があります: 現在のテーブル サイズをどのように計算しましたか? そして...複数のテストを行った結果、以前の実行からより多くのデータが得られましたか? テーブル サイズだけを測定していますか、それともストレージ アカウントで使用されている合計ストレージを測定していますか? 後者の場合、他のテーブル (診断など) もスペースを消費している可能性があります。

于 2013-04-25T03:53:23.377 に答える
0

永続化されたエンティティのプロパティの名前を変更すると、サイズに何らかの影響が生じるはずです。残念ながら、これは将来保存されるデータのみに適用されます。プロパティの名前を変更しただけでは、既存のデータは変更されません

于 2013-04-24T18:55:48.200 に答える