私はAzureに座標を格納する必要があり、テーブルストレージの使用を意図していました。 私の考えは、二つの座標等に基づいて座標のサブセットを照会できるようにしました。Azureテーブルストレージに座標を格納する方法
だから私のクエリは(と思う)私
-
すべてのポイントを与える、となり
- 緯度経度はより大きい 53.360238より少ないと 53.344204
- より大きいです-6.276734と -6.250122
未満私はもともととして保存について考えていた:
ParititonKey, RowKey
"16.775833,-3.009444", "Timbuktu"
...
しかし、私は、パーティションの数千人で終わるだろう実現。私はおそらく別のネットワーク上でmany partitionsに触れなければならないので、これは本当にクエリを実行すると悪いと思っていました。
また、私はそれがパーティション/行問合せ与えうまくいくかどうかはわかりませんが、文字列の比較..です
ポイントを保存するためのより良い方法があった場合、私は思っていた、例えば私は何かを考えていました以下のような:
ParititonKey, RowKey, Title
16.775833,-3.009444, "Timbuktu"
...
これは、クエリが容易になりますが、独自のパーティションの問題など
Get all entites where partition key is less than X and greater than Y AND where RowKey is greater than A and smaller than B
を解決していないがトンを行うmore efficient方法はありますおそらく、緯度の全数をパーティションキーとして、残りをRowKeyに保存することによって、
ParititonKey, RowKey, Title
16, 775833^-3.009444, "Timbuktu"
...
アドバイスありがとうございます。
これはかなり広い質問ですのために多くを構築されています(例えば、DocumentDB)は単純な答えを持つものではありません。また、地理空間データを保存している以外のアプリについては、あまりよく分かりません。あなたは他の要件を見て、ベンチマークなどを行う必要があるでしょう。今:これは、このタイプのデータに対してテーブルストレージに対するクエリを作成する方法について厳密に記述されている場合、質問を編集して他のデータベースタイプ。 –
DocumentDBに関する部分を削除しても、Azureテーブルストレージにデータを格納するのが好ましいかどうかは疑問です。 – TomSelleck