Я рассматриваю возможность использования Titan для создания масштабируемого хранилища геопространственных данных (я думаю, R-деревьев). В документации есть запрос GeoShape
, а в документах сказано, что titan может делать геоданные с Lucene или ElasticSearch. Однако кажется, что это будет очень медленно, потому что обход узлов в cassandra, по сути, выполняет запросы на соединение в cassandra, что является действительно плохой идеей. Я думаю, что могу неправильно понимать представление данных.
Я прочитал документ Titan Data Model и до сих пор не совсем понял. Если бы все ребра хранились в строке Cassandra, то Титану все равно пришлось бы «присоединяться» к таблице вершин. Одним из способов решения этой проблемы было бы сделать значение столбца равным данным свойства ребра, а затем вы могли бы аккуратно упаковать данные вершины и данные ребра в строку. Однако это не работает, когда вы хотите выполнять запросы глубже, чем 1 узел, и мы снова возвращаемся к проблеме соединения.
Так. Титан эмулирует запросы на соединение в Cassandra? - и - Насколько эффективен поиск по географическому положению в этих условиях?