目前随着移动互联网和物联网的广泛应用, 90% 以上的数据是和时间 + 空间相关的, 而越来越多的数据应用场景与时间和空间信息密不可分. 时间 + 空间维度的数据 (我们称之为时空数据) 是一种高维数据, 需要更为高效的数据处理方式来处理, 而普通的关系型数据库更适合于存储数值和字符类型数据, 也缺少相关的时空算子. 在实际应用场景上例如传感器网络, 移动互联网, 射频识别, 全球定位系统等设备时刻输出时间和空间数据, 数据量增长非常迅速, 这对存储和管理时空数据带来了挑战, 传统数据库很难应对以上场景. 阿里云时空数据库能够存储, 管理包括时间序列以及空间地理位置相关的数据, 时空数据库具有时空数据模型, 时空索引和时空算子, 完全兼容 SQL 及 SQL/MM 标准, 支持时空数据同业务数据一体化存储, 无缝衔接, 易于集成使用.
5 月 5 日, 阿里云时空数据库正式开始免费公测, 公测期间我们提供了 2core4g+100G 云盘的版本供客户免费试用.
产品使用手册:
公测免费试用页面:
产品优势
易用(标准 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);
关于时空数据库的具体用法, 可以参考阿里云时空数据库文档: 开发指南
场景
地图服务
地图服务是一种非常广泛的应用, 便于各类业务数据空间化, 空间分析和可视化. 这个场景介绍如何使用时空数据库搭建地图服务, 并给出架构参考.
方案架构
时空数据库作为存储空间数据 (如车辆定位数据) 与空间查询引擎, 提供后端支持. 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 生态下, 更专注于自己的业务.
公测免费试用页面:
产品使用手册:
来源: https://www.2cto.com/kf/201905/807499.html