2017-01-29 12 views
-2

私はこのトピックに関するいくつかの情報を見つけようとしていますが、私が見つけたほとんどの記事は3歳以上です。私は物事のこの側面にもかなり新しいです、誰に聞くべきかわからない。GISのMongoDBとPostgreSQLの選択方法は?

私は特にデータベースの専門家ではありませんが、MongoDBを数回使用しています。私はPostgreSQLを小規模なプロジェクト(GIS関連のものは一切使用しない)のために一度しか使用していません。その価値については、私はdynamoDBに保存したデータを今すぐ少量しか持っていません。地理図書館がありますが、それはJavaでしか利用できません。Javaについてよく分かりません。

私の使用例は非常に簡単です。ユーザープロファイルデータのほかに、ユーザーが追加したマーカーを照会できるようにしたいと考えています。認証されたユーザーのなど、latLng現在のマーカーのXマイル内のマーカーは、など、それを追加したユーザー、タイトル、説明、それらに関連付けられているlatLng以外の他のデータを、持っている

私の目標は、結果を返すことができるようにすることですWeb APIを使用して、最も近いものから最も遠いものまで現在の位置のXマイル以内のマーカでクライアント側に送信します。このため、MongoとPostgreSQLの間では、まず何が良いでしょうか?あなたはアプリケーションでその多くを必要としないかもしれないが

+0

特殊なデータベースは必要ありませんが、拡張子がジオデータベースの方が速くなります。あなたは[Haversine式](http://stackoverflow.com/q/27928/472495)を使うことができます。 WHERE句に距離フィルタを追加できるSQL実装があります。 – halfer

答えて

2

PostgreSQLのは、PostGisを経由してフル(GEO)空間的な機能をあなたに与えることができます。

(lat、lng)点の特定の半径内のユーザーをすばやく見つける必要がある場合は、GIST indexesと一緒にearthdistance moduleを使用できます。

詳細な説明はHow can I speed-up my query on geo-location processesを確認してください。

また、Searching in a Radius using Postgresも確認してください。


MongoDBの、あなたはgeoNear機能を使用するとPostgreSQLで2dsphere Indexes


Querysは非常に速く、非常に柔軟であり、彼らは非常にうまくスケール。あなたはMongoDBの場合よりも少しセットアップが必要です。

とにかく、基本的な機能は、両方で利用可能で、かつ他のすべての要因を考慮し決定する必要があり:

  • はよく構造化されたデータであり、この構造内のいくつかのバリエーションが? (SQL側の詳細)
  • ACID(アトミック性、一貫性、分離性、耐久性)の保証が必要ですか? (さらにSQL側で)
  • 巨大な水平スケーリングが必要ですか? (もっとMongoDB側で)
  • 一度に複数のテーブルに問い合わせる必要がありますか? (SQL側)
  • JavaScriptとJSONは他のどの言語よりも快適ですか? (MonboDB +)
  • (などなど)他の多くの間でもPostgres Outperforms MongoDB and Ushers in New Developer RealitySystem Properties Comparison MongoDB vs. PostgreSQL

確認し、。

+0

ありがとうJoanolo。私は私の質問がたくさん下落したことに気づきましたが、正直言って、このような情報を簡単に見つけ出すことは非常に難しく、消化するのにも簡単です。私はあなたの応答に感謝します。 – scarywolfman

+0

もう一度質問することがあります。現時点では、私はリレーショナルデータベースが必要ではないと思うので、MongoDBの設定と使用の容易さから、MongoDBに傾いています。私は最初の書き込み(新しいマーカーが作成された)と多くの読み込みを期待していますが、削除以外にも既存のマーカーへの更新は多くないと考えています。私のデータモデルも十分にシンプルであるため、必要が生じた場合(データベースについてはあまりよく分かりませんが、私はPoCを構築しようとしています)、私はポストグルに切り替えることができます。それが有効なアプローチだと思いますか?ありがとう – scarywolfman

+0

概念の証明をしているとき、通常、あなたの基本的な必要性は*速くなる*、その場合は、あなたが最も速く作業できるツールを選択します。それは以前の背景に大きく左右されます。あなたが慣れ親しんだ道具の種類。しかし、注意して、PoCに最適なものが生産上の最良のものであると考えることの罠に陥ることはありません... – joanolo

関連する問題