문제

공간 데이터를 저장하기 위해 NOSQL (비 관계형) 데이터베이스를 사용한 경험이 있습니까? 그러한 데이터베이스를 사용하여 데스크탑 응용 프로그램 (Spatialite 또는 PostGIS를 사용하는 것과 비교하여)에 대한 잠재적 인 이점 (속도, 공간, ...)이 있습니까?

나는 본 적이 공간 데이터에 MongoDB 사용에 대한 게시물, 그러나 저는 성능 비교에 관심이 있습니다.

도움이 되었습니까?

해결책

그래프 데이터베이스와 같은 neo4j 특히 다른 인덱싱 체계를 동적으로 추가 할 수 있으므로 매우 적합합니다. 기본 데이터에서 할 수있는 일반적인 작업은 물론 1D 인덱싱 (예 : Timline 또는 B-Tree) 또는 Hilbert Curves 등과 같은 펑키 한 물건입니다. Nick의 블로그. 또한 라이브 데모를 보려면 Awe Open Source GIS 데스크탑 도구를보십시오. 여기, 기본 색인화 된 그래프는 시간 07:00에 표시됩니다.

다른 팁

CouchDB에는 간단한 공간 확장이 있습니다

http://vmx.cx/cgi-bin/blog/index.cgi/category/couchdb

현재 MongoDB는 Postgis의 R- 트리보다 느린 B- 트리와 함께 Geohashing을 사용합니다 (정확한 숫자를 줄 수는 없지만 두려워하지만 차이점에 대한 많은 이론적 문헌이 있습니다). 그러나이 슬라이드에서 http://www.slideshare.net/nknize/rtree-spatial-indexing-with-mongodb-mongodc 저자는 MongoDB에 r- 트리를 추가하고 GEO 키에 샤핑하는 것에 대해 이야기합니다. 데스크톱 사용에 대해 이야기하므로 Geosharding은 관심이 없을 수 있습니다. Sharding의 이점이 대규모 데이터 세트에서 더 많이 느껴질 것입니다. 궁극적으로 아마도 공간 데이터와 함께하고 싶은 일에 더 많은 영향을 미칩니다. PostGIS는 토폴로지, 래스터, 3D, 좌표 시스템 간의 변환에 대한 기능과 지원을 훨씬 더 많이 보유하고 있으므로 이것이 당신이 찾고있는 것이라면 PostGIS가 여전히 최선의 선택이 될 것입니다. 수십억 달러의 공간 개체를 저장하고 기본을 실행하는 데 관심이 있다면 일부 기준에 따라이 지점 근처의 모든 지점을 찾으십시오. MongoDB는 매우 좋은 선택 일 것입니다.

나는 공간 데이터를 ZODB와 함께 저장하고 있습니다. TCP 또는 HTTP 요청 (CouchDB 등)과 비교하여 로컬 파일 데이터 (Spatialite) 또는 UNIX 소켓 (PostGIS)에 액세스하는 데있어 고유 한 성능 이점이 있지만 공간 색인을 갖는 것이 가장 큰 차이를 만듭니다. MongoDB 기사에 언급 된 동일한 R- 트리를 사용하고 있지만 좋은 옵션이 많이 있습니다. JTS 토폴로지 스위트에는 Java에 대한 다양한 공간 지수가 있습니다.

Cassandra는 또한 공간 데이터를위한 옵션입니다.

http://www.readwriteweb.com/cloud/2011/02/video-simplegeo-cassandra.php

Tarantool은 가장 가까운 이웃 검색, 겹침, 포함 및 기타 공간 연산자와 함께 공간 2 차원 지수 (RTREE)를 지원합니다. Tarantool은 전체 데이터 세트를 RAM으로 유지하여 공간 인덱스 지원이있는 유일한 OSS 인 메모리 데이터베이스입니다.https://github.com/tarantool/tarantool/wiki/r-tree-index-quick-start-and-usage

MarkLogic (Enterprise NOSQL)은 공간 기능을 제공합니다. 이 NOSQL 제품은 GIS 애플리케이션에 여러 객체를 하나의 엔티티로 혼합 할 수있는 기능을 제공합니다. 이는 단일 엔티티에서 데이터, 과거 및 타임 라인 정보 등에 대한 구조화 및 비정형 컨텐츠, 출처 및 가계 정보에 대한 관계 관리를 지원합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top