2011-09-05 57 views
2

我正在谷歌地圖上開發應用程序,並檢出各種選項以在邊界框內存儲和檢索空間信息。地理空間應用程序:mySql vs CouchDB vs其他

最初我以爲MySql不是一個好的選擇,但在檢查http://dev.mysql.com/doc/refman/5.6/en/spatial-analysis-functions.htmlhttp://code.google.com/apis/maps/articles/phpsqlsearch.html後,看起來像我可以使用MySql,它支持我的用例。

我還在用geocouch評估node.js和couchdb ..對於像socket.io這樣的模塊,geo等看起來像是一個不錯的選擇。請查閱「GEO,CouchDB和Node.js入門」一書。我的應用程序將是1頁的應用程序,我不會預見未來是否需要rdbms。

我也看到了這一點 - http://nodeguide.com/convincing_the_boss.html這讓我有點擔心是否有node.js的-geocouch去....

如果你的下一個應用程序的架構讀起來就像 食譜NoSQL成分,請暫停一下並閱讀本文。

是的,Redis,CouchDB,MongoDB,Riak,Casandra等都看起來很誘人,但是紅色蘋果前夜無法抗拒。如果你的 已經在使用node.js的技術風險,你不應該 乘以更多的技術,你可能還沒有完全理解 呢。

當然,有合法的用例來選擇面向文檔的數據庫。但是,如果您試圖在 軟件之上建立業務,堅持保守的數據庫技術(如postgres 或mysql)可能會超過滿足您內心的 書呆子並給您的朋友留下深刻印象的好處。

您的意見是什麼?

+0

+1。當空間查詢正確時,MySQL空間設施的權力不足5.6.1 [被添加](http://dev.mysql.com/doc/refman/5.6/en/functions-for-testing-spatial-relations-between-geometric-objects.html#functions-that-test-spatial-relationships幾何體之間)使用對象幾何體而不是最小的邊界矩形從有人使用它(我還沒有)獲得答案會很有趣 – MarkJ

+1

您可能還想查看PostGIS:http: //postgis.refractions.net/ – djc

+0

最後,我使用的是mongodb,它的工作方式像node.js中的魅力一樣..我可以做半徑搜索...到目前爲止,我將所有的ba sic數據類型(字符串,數字等)...我不知道我將如何存儲文件/二進制/ blob ...我必須在需求出現時看到這個.. – user644745

回答

0

GeoCouch聽起來像是一個很好的解決方案。如果你想有一個簡單的安裝,你可以看看Couchbase Single Server,這基本上是一個包含GeoCouch的CouchDB(檢查出Developer Preview for 2.0

+0

只是想明確說明Couchbase與CouchDB不一樣。例如,API是不同的,因爲Couchbase中幾乎沒有REST接口:http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-introduction-migration-couchdb.html – Vladtn