2011-02-05 7 views

ответ

1

Просьба предоставить более подробную информацию о том, чего вы пытаетесь достичь.

Это особенно важно для Cassandra (в отличие от реляционной базы данных), поскольку вам необходимо смоделировать данные для поддержки конкретных запросов, а не моделировать домен довольно общим образом и использовать SQL для определения запросов после этого.

Вы просто пытаетесь найти lat/longs для объектов с уникальными идентификаторами или у вас есть более сложные формы, связанные с вашими сущностями - или что?

+1

У меня тот же вопрос, что и ОП. То, что я хочу достичь, - простой запрос: при условии, что lat/long возвращает все точки, которые меньше, чем на расстоянии x миль от него. Есть идеи? – Roland

1

В ответ г-на Роланда (и, надеюсь, OP):

Вы должны были бы придумать собственную схему индексации, и хранить индексы в Кассандре.

Например, вы можете разделить пространство на квадраты (возможно, используя иерархическую структуру, такую ​​как квадранты) и сохранить каждый квадрат в строке Cassandra, а столбцы хранят объекты, которые попадают в квадрат. Ваш клиентский код должен будет определить правильный квадрат для каждого лата, длинный, а затем искать объекты в этом квадрате (или квадратах), которые покрывают нужный радиус, а затем делать окончательный фильтр на стороне клиента для удаления любых объектов, которые просто вне радиуса из-за их хранения в квадратах.

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