CouchDB地理位置索引插件 GeoCouch

fmms 13年前發布 | 9K 次閱讀 CouchDB

GeoCouch是一個CouchDB的插件,提供地理位置索引的查詢,我們知道CouchDB是通過MapReduce建立視圖的方式來進行非動態的查詢,GeoCouch通過修改CouchDB的B-Tree索引為R-Tree的形式來實現空間索引。當然,由于CouchDB一切皆增量的模式,這里的R-Tree也是增量模式的。
項目地址: https://github.com/couchbase/geocouch
索引.png

Apache CouchDB 是一個面向文檔的數據庫管理系統。它提供以 JSON 作為數據格式的 REST 接口來對其進行操作,并可以通過視圖來操縱文檔的組織和呈現。 CouchDB 是 Apache 基金會的頂級開源項目。

CouchDB落實到最底層的數據結構就是兩類B+Tree 。

Apache CouchDB 是一個面向文檔的數據庫管理系統

與現在流行的關系數據庫服務器不同,CouchDB 是圍繞一系列語義上自包含的文檔而組織的。 CouchDB 中的文檔是沒有模式的(schema free),也就是說并不要求文檔具有某種特定的結構。 CouchDB 的這種特性使得相對于傳統的關系數據庫而言,有自己的適用范圍。一般來說,圍繞文檔來構建的應用都比較適合使用 CouchDB 作為其后臺存儲。 CouchDB 強調其中所存儲的文檔,在語義上是自包含的。這種面向文檔的設計思路,更貼近很多應用的問題域的真實情況。對于這類應用,使用 CouchDB 的文檔來進行建模,會更加自然和簡單。與此同時,CouchDB 也提供基于 MapReduce 編程模型的視圖來對文檔進行查詢,可以提供類似于關系數據庫中 SQL 語句的能力。 CouchDB 對于很多應用來說,提供了關系數據庫之外的更好的選擇。


MapReduce是Google提出的一個軟件架構,用于大規模數據集(大于1TB)的并行運算。概念"Map(映射)"和"Reduce(化簡)",和他們的主要思想,都是從函數式編程語言借來的,還有從矢量編程語言借來的特性。

當前的軟件實現是指定一個Map(映射)函數,用來把一組鍵值對映射成一組新的鍵值對,指定并發的Reduce(化簡)函數,用來保證所有映射的鍵值對中的每一個共享相同的鍵組。


Hadoop
Apache軟件基金會開放源碼項目,提供與MapReduce檔案系統類似的功能。

Hadoop - Apache軟件基金會的開放源碼項目,提供與MapReduce檔案系統類似的功能。

Hadoop并不僅僅是一個用于存儲的分布式文件系統,而是設計用來在由通用計算設備組成的大型集群上執行分布式應用的框架。

 

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!