隨著移動互聯網和物聯網的廣泛普及,90%以上的數據是和時間+空間相關的,而越來越多的數據應用場景與時間和空間信息密不可分。時間 +空間維度的數據(我們稱之為時空數據)是一種高維數據,需要更為高效的數據處理方式來處理,而普通的關係型資料庫更適合於存儲數值和字元類型數據,也缺少相關的時空運算元。在實際應用場景上例如感測器網路、移動互聯網、射頻識別、全球定位系統等設備時刻輸出時間和空間數據,數據量增長非常迅速,這對存儲和管理時空數據帶來了挑戰,傳統資料庫很難應對以上場景。阿里雲時空資料庫能夠存儲、管理包括時間序列以及空間地理位置相關的數據,時空資料庫具有時空數據模型、時空索引和時空運算元,完全兼容SQL及SQL/MM標準,支持時空數據同業務數據一體化存儲、無縫銜接,易於集成使用。

5月5日,阿里雲時空資料庫正式免費公測,感興趣的同學可以免費申請試用:

公測免費購買頁面:common-buy.aliyun.com/?

產品使用手冊:help.aliyun.com/documen

產品優勢

易用(標準SQL介面)

SQL是目前最通用的資料庫訪問語言,時空資料庫基於標準PostgreSQL,支持JDBC/ODBC驅動訪問。時空數據同其它業務數據一體化處理,兼容OGC空間計算函數;支持符合OGC規範的WKT和WKB格式數據輸入和輸出。

寫入性能強勁

時空數據,插入是一個強需求,往往有大量設備上報軌跡、指標數據,因此對插入性能要求較高。阿里雲時空資料庫,單機不同規格下可以支持到數萬到數十萬的TPS寫入。

高效分析能力

時空數據,除單條的查詢、POI查詢,更多的是其他的分析類需求。這對時空資料庫的分析能力也是一個挑戰。阿里雲時空支持查詢條件自動選擇分區,高效空間索引,並行的聚合操作等提升分析性能。

自動擴展分區

業務對時空數據查詢,往往都會對時間區間進行過濾,因此時空數據通常在分區時,會有一個時間或空間分區的概念。時空資料庫支持自動擴展分區,減少用戶的管理量,不需要人為的干預自動擴展分區。

功能豐富

具有豐富的時間和空間處理查詢函數;支持點(POINT)、線(LINESTRING)、多邊形(POLYGON)、多點(MULTIPOINT)、多線(MULTILINESTRING)、多多邊形(MULTIPOLYGON)和幾何對象集(GEOMETRYCOLLECTION)等幾何類型存儲。

自動保留策略

根據用戶配置,自動刪除過舊數據,極大降低用戶使用成本,減少用戶管理工作。

自動Failover

阿里雲時空資料庫提供全自動Failover機制,一旦所在硬體發生不可恢復的故障,會在非常短的時間內使用其他硬體替換故障硬體。這樣可以減少因為不可控故障引發的服務中斷時間。該Failover是全自動的,無需人工干預,用戶也無需擔心服務由於硬體故障造成的長時間不可用。

高可靠

時空資料庫是一種高性能時空資料庫,底層存儲建立在阿里雲高效雲盤基礎之上,高效雲盤提供99.9999999%數據高可靠保障。可以保障時空資料庫數據一旦寫入,基本不會丟失。

生態

阿里雲時空資料庫在生態上非常易於同多種主流產品集成,比如地圖引擎(如GeoServer和MapServer)、地圖編輯系統(如QGIS和ArcGIS for Desktop)、數據分析與可視化產品(如Grafana、Zeppelin和Jupyter)、大數據分析平台(Spark),滿足模塊化集成需求,為時空數據管理提供有力支撐。

數據寫入&查詢

時空資料庫寫入和查詢非常便利,讀寫採用標準SQL,用戶可以通過JDBC/ODBC驅動操作資料庫,進行讀寫操作。

用戶也可以通過psql互動式終端向時空資料庫寫入數據,下面是幾個簡單的例子:

INSERT INTO tsdb_test VALUES (1001, 2019-03-11 16:34:15, 1002.2,

ST_SetSRID(ST_MakePoint(10.3,20.1),4326)

用戶通過交互終端查詢數據,可以如下:

SELECT time,uid,speed,dev_type,ST_AsText(position) FROM metrics

WHERE time >2017-01-01 01:02:00 AND time < 2017-01-01 01:11:02 AND

ST_Contains(ST_SetSRID(ST_MakeBox2D(ST_Point(12.4, 25.5),ST_Point(13.0,26.1)),4326),position);

關於時空資料庫的具體用法,可以參考阿里雲時空資料庫文檔:[開發指南](help.aliyun.com/documen)

場景

地圖服務

地圖服務是一種非常廣泛的應用,便於各類業務數據空間化、空間分析和可視化。這個場景介紹如何使用時空資料庫搭建地圖服務,並給出架構參考。

方案架構

時空資料庫作為存儲空間數據(如車輛定位數據)與空間查詢引擎,提供後端支持。GeoServer(GeoServer是一款知名的開源地圖服務引擎,支持OGC WFS、WMS、WPS等協議,易於部署,有大量的用戶)作為地圖服務引擎用於空間數據渲染和地圖發布,前端客戶端採用Leaflet或openlayers框架,同時支持PC/Android/iOS多種類型終端。地圖發布的主要流程包括三步:第一步在時空資料庫中導入業務數據後;第二步通過GeoServer關聯資料庫;第三步選擇需要發布的圖層,並對圖層設定相應對式樣。

人員監護

人員監護應用適用對兒童和老人監護,方便實時查看活動軌跡、健康指標(體溫、血壓、心跳等);並設定電子圍欄(特定區域,比如學校、小區、公園等),當活動人員離開特定區域時觸發告警信息。

方案架構

時空資料庫存儲時空和指標數據,並提供空間查詢功能,提供後端支持。GeoServer作為地圖服務引擎用於空間數據渲染和地圖發布,前端客戶端採用Leaflet或openlayers框架。電子圍欄服務用於判斷移動目標同電子圍欄的空間關係,並觸發告警信息。

車輛監控

車輛監控應用適用於查看車輛當前和歷史軌跡,對車輛的行駛區域做限定,當脫離特定路線後能夠報警;並對車輛感測器獲取一些參數(比如車速、胎壓、電池電壓等)做實時監測。

方案架構

時空資料庫作為存儲軌跡及監測指標,提供空間及指標查詢功能,提供後端支持。GeoServer作為地圖服務引擎用於空間數據渲染、地圖發布、時空數據入庫,前端客戶端採用Leaflet或openlayers框架。電子圍欄服務用於判斷移動目標同電子圍欄的空間關係,並觸發告警信息。電子圍欄在這裡起到過濾器,再地圖伺服器的WFS服務寫入定位和感測器監測數據。

物流配送

物流配送應用適合於物流行業,提供導航規劃功能,並對物流過程做全程監控。

方案架構

時空資料庫作為存儲與路徑規劃引擎,提供後端支持。GeoServer作為地圖服務引擎用於空間數據渲染、地圖發布、時空數據入庫,前端客戶端採用Leaflet或openlayers框架。在時空資料庫存儲路網數據,路網數據是做導航規劃的基礎;在客戶端選擇起始點和目的地後,由時空資料庫計算最佳導航路線,經客戶端確認後把導航路線推送給物流終端。時空資料庫充當兩個角色:軌跡數據存儲和導航路徑計算。從物流終端獲取的軌跡數據通過地圖伺服器WFS服務存入時空資料庫。

軌跡分析

軌跡分析用於計算軌跡之間的關係以及軌跡與專題地圖之間的關係;軌跡分析可以用於分析道路擁堵時空特徵、人員活動熱點區域、異常行駛車輛等,適用業務場景非常廣,比如可以用於商業選址、交通優化、公共安全等。

方案架構

地圖伺服器(GeoServer)接收軌跡輸入,軌跡和其它監測數據存入時空資料庫;軌跡關聯計算用於軌跡聚合計算,識別軌跡之間的關係(如軌跡聚類)和軌跡與地圖之間的關係(如以道路作為專題圖,車輛軌跡的密集程度反應道路的擁堵情況)。軌跡關聯計算涉及大量的時空查詢需要利用時空資料庫做加速處理。

總結

時空資料庫通過融合時序和空間數據模型,來滿足不同時空數據場景的要求,更貼近業務;提供多元化索引(空間索引和時序索引等)來滿足不同類型場景條件查詢需求;提供自動分片及自動刪除過舊數據策略,來降低用戶管理成本,提升便利性。同時還在穩定性、可靠性、運維上提供優化服務,讓用戶能夠在融合的PostgreSQL生態下,更專註於自己的業務。

歡迎加入阿里資料庫產品釘釘群,一起交流。

阿里資料庫技術交流群(600人+大群)入群方式:

一:搜索釘群號即可入群:23124548

二:掃描下方二維碼進群:

阿里資料庫技術交流群

推薦閱讀:

相关文章