时间和空间的完美统一!阿里云时空数据库正式商业化

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 时间和空间的完美统一!阿里云时空数据库正式商业化 经过一段时间公测,得到广大客户的热烈支持,阿里云时空数据库已经于2019年9月10日正式商业化售卖! 产品介绍 时空数据库能够存储、管理包括时间序列以及空间地理位置相关的数据。

经过一段时间公测,得到广大客户的热烈支持,阿里云时空数据库已经于2019年9月10日正式商业化售卖!

产品介绍

时空数据库能够存储、管理包括时间序列以及空间地理位置相关的数据。我们的社会生产、经济活动和社会交往同时空数据密切相关,比如传感器网络、移动互联网、射频识别、全球定位系统等设备时刻输出时间和空间数据,数据量增长非常迅速,这对存储和管理时空数据带来了挑战,传统数据库很难应对时空数据。时空数据是一种高维数据,普通的关系型数据库更适合于存储数值和字符类型数据,也缺少相关的算子。阿里云时空数据库具有时空数据模型、时空索引和时空算子,完全兼容SQL及SQL/MM标准,支持时空数据同业务数据一体化存储、无缝衔接,易于集成使用。
产品首页https://www.aliyun.com/product/hitsdb_spatialpre
产品使用手册详见https://help.aliyun.com/document_detail/116088.html?spm=a2c4g.11174283.6.727.1b22130eu4OBeh

适用场景

交通监控与分析、物流配送、可穿戴设备监测、新能源车辆监测、LBS、地图服务等。

产品特性

  • 时间序列数据与空间数据有效统一,满足大规模时空数据存储和查询,方便从多个维度分析和利用数据;
  • 基于PostgreSQL扩展,改进PostgreSQL索引,大幅度提升时空检索性能,同时兼容PostgreSQL现有生态;
  • 存储依托于阿里云盘古系统,数据可靠性超过6个9;
  • 具有自动备份和恢复能力;
  • 具有完善的高可用架构,支持自动化主机与备机切换;
  • 有时空领域资深专家提供支持,为客户的业务保驾护航;

产品购买流程

在购买时空数据库之前,需要先满足以下前提条件:

  • 您已经注册了阿里云账号并完成实名认证。否则,请先注册阿里云账号。
  • 您已拥有阿里云专有网络(VPC)。时空数据库只支持在 VPC 网络创建实例(但之后您可以选择通过 VPC 或公网访问实例)。如果没有 VPC 网络,请登录专有网络(VPC)控制台开通 VPC,然后在对应的地域和可用区创建专有网络和交换机。
    以“华北1(杭州)” 地域为例,下面演示具体创建流程。

ACTION1: 在使用的区域内,创建VPC实例

https://vpc.console.aliyun.com/vpc/cn-hangzhou/vpcs

以“华北1(杭州)”区为例,选择地域:华东1(杭州),交换机选项中,选择需要的可用区如“杭州 可用区B”, 后续创建时空数据库实例,会用到 “地域” 、“可用区”、“VPC”、“交换机” 这几个概念。
2

创建VPC完成之后,可以查看VPC的详情

ACTION2: 创建时空数据库实例

https://common-buy.aliyun.com/?commodityCode=hitsdb_spatialpre#/buy

3

  1. 地域:华东1(杭州)
  2. 可用区:华东1 可用区B
  3. 版本:选择基础版或高可用版。详细介绍请参考文档
  4. 专有网络(VPC): 选择刚刚创建的VPC
  5. 专有网络交换机:选择刚刚创建的VPC下的交换机

ACTION3: 购买成功之后,登录TSDB控制台,查看实例详情

https://tsdb.console.aliyun.com/?spm=5176.11182172.console-base-top.dconsoleEntry.60ec4882eEzNPU#/cluster/cn-hangzhou

4

ACTION4: 在“实例详情”页面中,查看“公共网络地址” 和 “VPC网络地址”,设置网络白名单。

这里为了测试方便,VPN和公共网络的参数都设置成“0.0.0.0/0”

ACTION5: 在“实例详情”页面中,左侧选择“账户管理”进入账户创建页面,创建高权限账号

5

至此,整个时空数据库的初始化工作已经完成,可以通过外部网络或VPC专有网络,连接时空数据库交互。

数据写入查询

时空数据库写入和查询非常便利,读写采用标准SQL,用户可以通过JDBC/ODBC驱动操作数据库,进行读写操作。
用户也可以通过psql交互式终端向时空数据库写入和查询数据,下面是几个简单的例子:

创建一个时空表:

CREATE TABLE tsdb_test( uid bigint, time  timestamp, 
                       speed float, position geometry(Point,4326) );
SELECT create_hypertable('tsdb_test', 'time', chunk_time_interval => interval '1 hour');

写入数据:

INSERT INTO tsdb_test 
VALUES (1001, '2019-03-11 16:34:15', 102.2, ST_SetSRID(ST_MakePoint(10.3,20.1),4326)),
       (1001, '2019-03-11 16:34:16', 100.1, ST_SetSRID(ST_MakePoint(10.4,20.1),4326)),
       (1002, '2019-03-11 16:34:17', 60.0, ST_SetSRID(ST_MakePoint(10.5,20.2),4326)),
       (1002, '2019-03-11 16:34:18', 61.0, ST_SetSRID(ST_MakePoint(10.6,20.2),4326)),
       (1003, '2019-03-11 16:34:20', 39.0, ST_SetSRID(ST_MakePoint(10.7,20.2),4326)),
       (1003, '2019-03-11 16:34:21', 30.0, ST_SetSRID(ST_MakePoint(10.8,20.2),4326));

用户通过交互终端查询数据,可以如下:

SELECT time,uid,speed,ST_AsText(position) 
FROM tsdb_test 
WHERE time >'2019-03-11 16:00:00' AND 
      time < '2019-03-11 18:00:00' AND 
      ST_Contains(ST_SetSRID(ST_MakeBox2D(ST_Point(2.4, 5.5),ST_Point(13.0,26.1)),4326),position) ;
+---------------------+---------------+-----------------+---------------------+
| TIME                | UID           | SPEED           | ST_ASTEXT           |
+---------------------+---------------+-----------------+---------------------+
| 2019-03-11 16:34:15 | 1001          |           102.2 | POINT(10.3 20.1)    |
| 2019-03-11 16:34:16 | 1001          |           100.1 | POINT(10.4 20.1)    |
| 2019-03-11 16:34:17 | 1002          |              60 | POINT(10.5 20.2)    |
| 2019-03-11 16:34:18 | 1002          |              61 | POINT(10.6 20.2)    |
| 2019-03-11 16:34:20 | 1003          |              39 | POINT(10.7 20.2)    |
| 2019-03-11 16:34:21 | 1003          |              30 | POINT(10.8 20.2)    |
+---------------------+---------------+-----------------+---------------------+

更新数据:

UPDATE tsdb_test 
set position = ST_SetSRID(ST_MakePoint(11.1,22.2),4326) 
WHERE uid=1002;

时空分析功能

用户可以使用时间&空间分析函数,对时空数据库中的表做分析查询。以共享汽车平台中车辆数据为背景,举几个简单的例子。

按时间窗口聚合

按照5分钟为一个聚合时间窗口,获取共享汽车平台中车辆的最大速度;常见聚合函数如:sum,max,min,avg等

SELECT uid,time_bucket('5 minutes', time) AS interval, max(speed) 
FROM tsdb_test 
WHERE uid='1002' and 
      time < '2019-04-01 01:13:42' 
GROUP BY uid, interval 
ORDER BY interval DESC;
+---------------+---------------------+---------------+
| UID           | INTERVAL            | MAX           |
+---------------+---------------------+---------------+
| 1002          | 2019-03-11 16:30:00 |            61 |
+---------------+---------------------+---------------+

按时间段和距离过滤

返回某个时间段,与指定对象的距离大于“17米”的车辆。空间范围函数比如: ST_Distance等使用,参考:空间对象关系函数

SELECT time,uid,speed,ST_AsText(position) 
FROM tsdb_test 
WHERE time > '2019-01-01 01:02:00' and 
      time < '2019-04-01 01:11:02' and 
      ST_Distance('SRID=4326;POINT(2.4 5.5)'::geometry, position)>17.0;
+---------------------+---------------+-----------------+---------------------+
| TIME                | UID           | SPEED           | ST_ASTEXT           |
+---------------------+---------------+-----------------+---------------------+
| 2019-03-11 16:34:17 | 1002          |              60 | POINT(11.1 22.2)    |
| 2019-03-11 16:34:18 | 1002          |              61 | POINT(11.1 22.2)    |
+---------------------+---------------+-----------------+---------------------+

普通属性值过滤

根据用户设置的数值限制条件,返回某时间段内“速度>60”的车辆记录。比如: “>”, “<”, “=”, “<=”, “>=”, “!=”。ST_AsText的使用,参考:空间对象输出函数

SELECT time,uid,speed,ST_AsText(position) 
FROM tsdb_test 
WHERE time > '2019-03-01 01:02:00' and 
      time < '2019-03-15 01:11:02' and 
      speed > 60;
+---------------------+---------------+-----------------+---------------------+
| TIME                | UID           | SPEED           | ST_ASTEXT           |
+---------------------+---------------+-----------------+---------------------+
| 2019-03-11 16:34:15 | 1001          |           102.2 | POINT(10.3 20.1)    |
| 2019-03-11 16:34:16 | 1001          |           100.1 | POINT(10.4 20.1)    |
| 2019-03-11 16:34:18 | 1002          |              61 | POINT(11.1 22.2)    |
+---------------------+---------------+-----------------+---------------------+

关于时空数据库的具体用法,可以参考阿里云时空数据库-开发指南

阿里云时空数据库致力于推动时空领域生态发展,为客户提供低成本高性能服务,让时空数据价值在线化!

产品首页https://www.aliyun.com/product/hitsdb_spatialpre

产品使用手册详见https://help.aliyun.com/document_detail/116088.html?spm=a2c4g.11174283.6.727.1b22130eu4OBeh

时空数据库实例创建https://common-buy.aliyun.com/?commodityCode=hitsdb_spatialpre#/buy

欢迎加入阿里数据库产品钉钉群,一起交流

阿里数据库技术交流群(2000人大群)入群方式:
一:搜索钉群号即可入群:23124548
二:扫描下方二维码进群:
阿里数据库技术交流群

6

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
12天前
|
存储 NoSQL 关系型数据库
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
我们的风控系统引入阿里云数据库MongoDB版后,解决了特征类字段灵活加减的问题,大大提高了开发效率,极大的提升了业务用户体验,获得了非常好的效果
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
|
1月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
707 2
|
28天前
|
Cloud Native 关系型数据库 Serverless
阿里云数据库获中国计算机学会“科技进步一等奖”!
阿里云数据库获中国计算机学会“科技进步一等奖”!
33 0
|
2月前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
2月前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
2月前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
2月前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
1天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
10 3
|
1天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
13 3
|
1天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE &#39;log_%&#39;;`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
17 2