NoSQL(非リレーショナル)データベースを使用して空間データを格納した経験のある人はいますか?そのようなデータベースを使用して、たとえばデスクトップアプリケーションのデータを保持することの潜在的な利点(速度、スペースなど)はありますか(SpatiaLiteまたはPostGISを使用する場合と比較して)?
空間データにMongoDBを使用することについての投稿 を見てきましたが、パフォーマンスの比較に興味があります。
Couchdbには単純な空間拡張もあります
現在、MongoDBはPostGISのRツリーよりも遅いBツリーでジオハッシュを使用しています(正確な数を与えることはできませんが、恐れていますが、違いに関する理論的な文献はたくさんあります)。ただし、これらのスライドでは、 http://www.slideshare.net/nknize/rtree-spatial-indexing-with-mongodb-mongodc 著者はRツリーをMongoDBに追加し、ジオキー。デスクトップの使用について話しているので、大規模なデータセットでシャーディングの利点がより感じられるため、ジオシャーディングは重要ではない可能性があります。最終的には、おそらく空間データで何をしたいのかということになります。 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アプリケーションに複数のオブジェクトを1つのエンティティに統合する機能を提供します。これにより、構造化コンテンツと非構造化コンテンツ、データに関する出所と血統情報、履歴情報とタイムライン情報などを単一のエンティティで管理するためのサポートが提供されます。