2016-05-27 6 views
0

私はAzureに座標を格納する必要があり、テーブルストレージの使用を意図していました。 私の考えは、二つの座標等に基づいて座標のサブセットを照会できるようにしました。Azureテーブルストレージに座標を格納する方法

enter image description here

だから私のクエリは(と思う)私

    すべてのポイントを与える、となり
  • 緯度経度はより大きい 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" 
... 

アドバイスありがとうございます。

+0

これはかなり広い質問ですのために多くを構築されています(例えば、DocumentDB)は単純な答えを持つものではありません。また、地理空間データを保存している以外のアプリについては、あまりよく分かりません。あなたは他の要件を見て、ベンチマークなどを行う必要があるでしょう。今:これは、このタイプのデータに対してテーブルストレージに対するクエリを作成する方法について厳密に記述されている場合、質問を編集して他のデータベースタイプ。 –

+0

DocumentDBに関する部分を削除しても、Azureテーブルストレージにデータを格納するのが好ましいかどうかは疑問です。 – TomSelleck

答えて

0

私は、この種の非構造化データを保存するためにDocumentDbを使用し、複数のフィールドにSQLのようなクエリを簡単に記述することをお勧めします。特定のデータベースの種類を選択する(例えば、キー/値、文書、時系列、リレーショナルなど)、または特定のデータベースブランド:

表ストレージは、キーと値のペアのみ

+0

OPのデータは構造化されておらず、構造化されています。 –

関連する問題