2016-05-27 3 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" 
... 

Это делает запрос проще, но не решает проблему уникальной Partition Е.Г.

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 структурированы, а не неструктурированы. –

Смежные вопросы