Geomesa學(xué)習(xí)1- 概要

一、 需求背景

  1. 時空數(shù)據(jù)存儲的需求愈發(fā)龐大,80%的信息與空間信息有關(guān);
  2. 時空數(shù)據(jù)時用于整合其他各種類型數(shù)據(jù)的基礎(chǔ);
  3. 對完善的時空大數(shù)據(jù)存儲解決方案的需求日益迫切。

二、Geomesa簡介

  1. Geomesa是一款開源的基于分布式計算系統(tǒng)的面向海量時空數(shù)據(jù)查詢與分析的工具包,可用于交通軌跡數(shù)據(jù)存儲分析等相關(guān)領(lǐng)域。
  2. Geomesa可以在分布式列數(shù)據(jù)庫的基礎(chǔ)上進行擴展,目前支持Accumulo,HBase, CassandraKafka等作為底層存儲。
  3. 提供高效的索引來讀取和查詢存儲的數(shù)據(jù),支持通過指定空間條件(距離和范圍)來快速查詢,基于kafka提供了時空數(shù)據(jù)的近實時流處理能力。
  4. 提供了Spark分析能力,增加針對空間數(shù)據(jù)的UDTUDF、UDAF,方便用戶直接使用SparkSQL進行空間數(shù)據(jù)查詢與分析。
  5. Geomesa基于GeoTools API設(shè)計,與GeoServer進行集成。

三、Geomesa特性

  1. 能夠存儲和處理海量時空數(shù)據(jù)
  2. 支持實時性強、需要快速讀寫的數(shù)據(jù)
  3. 支持spark分析
  4. 支持水平擴展(存儲介質(zhì))
  5. 通過GeoServer提供地圖服務(wù),支持Common Query Language(CQL)
  6. GeoMesa擴展了數(shù)據(jù)的字段類型,主要支持的類型如下所示。
geomesa數(shù)據(jù)類型.PNG

四、 Geomesa架構(gòu)與流程

4.1 服務(wù)架構(gòu)

GeoMesa支持多種可擴展的、基于云端的數(shù)據(jù)存儲架構(gòu),包括Apache Accumulo, Apache HBased,Google Cloud Bigtable以及用于流計算的Apache Kafka 。同時GeoMesa還可以和Apache Storm一起處理流數(shù)據(jù),并使用Spark進行空間分析。

服務(wù)架構(gòu).png

4.2 體系架構(gòu)

體系架構(gòu).png

藍色標(biāo)識的是用戶接口,GeoMesa提供了geomesa-web這類使用restful接口形式訪問的接口、geomesa-toolsjavaAPI接口,最常用的是geomesa-tools接口。

最重要的部分是黃色標(biāo)識的索引部分,GeoMesa還進行了多種數(shù)據(jù)庫擴展功能,底層可以連接AccumuloCassandra、HbaseNoSql數(shù)據(jù)庫。

4.3 Geomesa的GeoTools

為了方便用戶使用GeoMesa中存儲的數(shù)據(jù),GeoMesa通過實現(xiàn)GeoTools接口提供了使用OGC標(biāo)準(zhǔn)服務(wù)接口訪問數(shù)據(jù)的能力。

OGC標(biāo)準(zhǔn):Open Geospatial Consortium, 是一個指定與空間信息、基于位置服務(wù)相關(guān)的標(biāo)準(zhǔn)的組織。舉例:GeoMesa中用到了OGC標(biāo)準(zhǔn)中的SimpleFeatures標(biāo)準(zhǔn),該標(biāo)準(zhǔn)用來進行簡單要素對象的通用描述。

GeoMesa實現(xiàn)了OGCWeb Feature Service(要素web服務(wù))、Web Mapping Service(地圖web服務(wù))、 Web Processing Service(地理處理web服務(wù))、 Web Coverage Service標(biāo)準(zhǔn)(柵格web服務(wù))。

4.4 數(shù)據(jù)寫入流程

導(dǎo)入流程.png

數(shù)據(jù)導(dǎo)入流程從左向右,可以通過spark任務(wù)、mapreduce任務(wù)、strom流處理等不同的任務(wù)來調(diào)用GeoMesa提供的APIGeoTools API進行數(shù)據(jù)寫入,在寫入數(shù)據(jù)時GeoMesa為數(shù)據(jù)創(chuàng)建實行索引、featureID索引、空間索引、時空索引等,完成數(shù)據(jù)導(dǎo)入流程。

4.5 數(shù)據(jù)查出流程

通過GeoMesa APIGeoTools APIAccumulo中進行數(shù)據(jù)查詢,把數(shù)據(jù)讀出來。

查詢流程.png

查詢流程首先從右向左,QueryClient發(fā)起查詢請求,GeoMesa根據(jù)查詢請求選擇可用的最優(yōu)索引從底層拉取數(shù)據(jù),通過API將結(jié)果返回。

五、 Geomesa優(yōu)缺點

優(yōu)點:
(1)支持Spark大數(shù)據(jù)分析。
提供了用于空間數(shù)據(jù)分析的SpatialRDD模型;
提供了多種時空函數(shù)實現(xiàn),如buffer、contains等;
擴展Spark SQL以支持標(biāo)準(zhǔn)的時空查詢

sparksql對geomesa的支持.png

舉例SparkSQL進行空間查詢:

sparksql查詢示例.png

(2)多種空間索引,最大化優(yōu)化查詢
(3)提供基于Coprocessor的空間查詢方式,將計算放在Server端,減少數(shù)據(jù)通訊開銷,性能較好。

缺點:
(1)時空索引構(gòu)建采用Z-ordering會存在距離突變情況。
(2)目前不支持柵格數(shù)據(jù)存儲

六、 hbase ganos

6.1 Ganos簡介

Hbase Ganos時空引擎是基于LocationTech 開源項目 GeoMesa 開發(fā)的一套時空大數(shù)據(jù)引擎系統(tǒng)。HBase Ganos提供一系列時空索引(點、線、面)、數(shù)據(jù)類型、查詢算法,基于阿里云NoSQL分布式存儲系統(tǒng)中對空間/時空數(shù)據(jù)進行高效的存儲、索引、查詢和分析計算。

6.2 Ganos使用場景

基礎(chǔ)地理信息數(shù)據(jù)管理:
HBase Ganos提供的高效時空索引系統(tǒng),允許用戶使用NoSQL數(shù)據(jù)庫對點、線、面等空間要素進行分布式存儲與快速查詢。
大規(guī)模傳感網(wǎng)實時數(shù)據(jù)管理:
HBase Ganos可以Stream流式計算框架、MQ、Spark分析框架等進行無縫銜接,用來存儲和管理實時的流式數(shù)據(jù)并進行實時分析。
大規(guī)模軌跡數(shù)據(jù)管理:
HBase Ganos提供了針對隨時間連續(xù)變化的軌跡數(shù)據(jù)的存儲模型,并提供了TubeSelect等空間查詢算法實現(xiàn)基于軌跡數(shù)據(jù)的時空查詢算法??蓮V泛應(yīng)用在網(wǎng)約車、共享單車、船只、飛行器等領(lǐng)域的軌跡存儲與查詢。
海量數(shù)據(jù)統(tǒng)計分析:
HBase Ganos提供了多種如KNN、直方圖、熱點分析等空間分析算法,允許用戶進行空間大數(shù)據(jù)的實時分析挖掘。

6.3 Ganos優(yōu)勢

(1)PB級存儲與海量并發(fā)寫入。
(2)多種空間索引方式供用戶靈活選擇。
(3)基于Coprocessor的空間查詢與計算方式,將計算過程放置在server端,能夠最大化并行效率,從而獲得較好的性能提升。
(4)提供了多種空間數(shù)據(jù)分析算法,如KNN、直方圖、熱點分析、TubeSelect等。
(5)基于OGC標(biāo)準(zhǔn)設(shè)計,便于系統(tǒng)間的集成與互操作。
(6)冷熱數(shù)據(jù)存儲分離與無縫訪問。
(7)基于阿里云HBase專業(yè)運維,全托管方式,提供可靠穩(wěn)定的服務(wù)。

相比GeoMesa,Ganos并沒有進行二次開發(fā),只是進行了封裝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容