GIS-LAB

Географические информационные системы и дистанционное зондирование

Spatial DB. Part I

Mavka, 29.09.2011

Обзор свежих и не очень событий из мира БД, касающихся Г?С.

 

PostgreSQL

С выходом версии 9.1 индексы GiST расширены операцией “distance”. Так называемый K-Nearest-Neighbor Indexing (KNNGiST) существовал ранее в виде модуля и теперь включен в базовую поставку. Термин “distance” применен в лингвистическом понимании и используется для нечеткого сравнения строк методом n-грамм (конкретнее, триграмм), но подходит и для сравнения объектов типа point. (Функционал не связан с PostGIS.)

Примеры.

SpacialDB

Оф. сайт / Портал для разработчиков / Блог

Пространственная БД, разработанная для облачного хостинга геоданных. То есть данные могут храниться непосредственно на хостинге SpacialDB или во внешних облаках (Heroku, Amazon WS и др.; обычный сервер PostgreSQL+PostGIS) с доступом через SpacialDB. ?меет биндинги для серверных фреймворков (ruby, python, php, node.js). В настоящее время находится в режиме бета-тестирования и получение ограниченного аккаунта пока бесплатное.

?митирует работу PostGIS, поэтому соответствующие клиенты (QGIS) могут работать без изменений. Также имеется REST-API и Mobile SDK.

Пошаговые руководства загрузки данных OSM и подключение к БД из Quantum GIS.

MonetDB

База данных с принципом хранения данных по-колонкам, что повышает производительность в конфигурациях с миллионами записей.

В пользовательском плане версия Aug2011  не принесла больших новшеств. В частности, модуль GEOM теперь корректно обрабатывает значение NULL.

CouchDB

CouchDB / GeoCouch

Особых новостей последние полгода не было. Разве что в Couchbase Single Server 2.0 появилась поддержка CoffeeScript.

Компания Couchbase по прежнему предоставляет бесплатные бинарные версии сервера, позволяющего получить готовую БД вместе с расширением GeoCouch.

Volker Mische. The State of GeoCouch //  FOSS4G 2011 [pdf]

Iris Couch – хостинг на базе Couchbase Server. Позиционируется как место для разработки концепт-проектов с последующим переездом на отдельный сервер CouchDB. В будущем планируют ввести платные услуги, но пока что регистрация бесплатная.

OrientDB

Появившаяся в мартовском релизе 0.9.25 операция distance (поиск документов в окрестности точки) дальнейшего развития не получила.

MongoDB

MongoDB как и OrientDB относится к документ-ориентированным БД, но содержит более развитый Geospatial Indexing. Каждый объект может содержать географическую привязку в виде {loc: [50, 30]}, предоставлено несколько функций поиска (по близости, в радиусе, bbox).

Начиная с версии 2.0.0 (2011-09-12) объект может иметь несколько географических привязок (список точек), добавлен поиск по полигону (сами полигоны хранить в документах нельзя).

Greg Studer. Geospatial Indexing with MongoDB // MongoSF 2011
Grant Goodale. Storing and Querying location data with MongoDB //  MongoSF 2011

Neo4j

БД Neo4j с принципом хранения в виде графов развивается очень активно: новый веб-интерфейс, язык запросов Cypher, обновленный плагин Gremlin, авто-индексы.

Над расширением Neo4j Spatial (GitHub) также работают, но проект все еще находится в алфа-стадии и выпуск отдельных версий не производится. В июле восстановили процесс создания snapshot’ов, поддерживаются актуальные версии плагинов для GeoServer и uDig. Добавлены хорошие примеры работы с данными OSM.

По программе GSoC 2011 выполнен проект по добавлению функций геопроцессинга (см. доклад на FOSS4G 2011).

Peter Neubauer.  Neo4j Spatial – Geo Data for the Rest of Us // OSCON Data 2011 [pdf]
Craig Taverner. Geoprocessing with Neo4j Spatial and OSM // FOSS4G 2011.

Cassandra, HBase

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

Mike Malone. Working with Dimensional Data in a Distributed Hash Table // Strange Loop 2010

Комментарии (3) к статье “Spatial DB. Part I”

  1. однако, сколько их развелось…

  2. Mavka says:

    Нужно поискать или сделать свой тест скорости distance в PostgreSQL, мне как раз нужен для нечеткого поиска. Раньше n-граммы не применяли в высокопроизводительных приложениях, может здесь что то придумали такое особенное. Опять же придется код смотреть :-\

  3. […] темы, начатой в первой части. На этот раз рассмотрены преимущественно […]

Оставтьте комментарий к Максим Дубинин


(Геокруг)

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter