DataCastle 2017-06-16
摘要:什么是时间序列数据 什么是时间序列(TimeSeries,以下简称时序)数据?从定义上来说,就是一串按时间维度索引的数据。用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描述了某个被测量的主体在一个时间范围内的每个时间点上的测量值。
什么是时间序列数据
什么是时间序列(TimeSeries,以下简称时序)数据?从定义上来说,就是一串按时间维度索引的数据。用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描述了某个被测量的主体在一个时间范围内的每个时间点上的测量值。
对时序数据进行建模的话,会包含三个重要部分,分别是:主体,时间点和测量值。套用这套模型,你会发现你在日常工作生活中,无时无刻不在接触着这类数据。
如果你是一个股民,某只股票的股价就是一类时序数据,其记录着每个时间点该股票的股价。
如果你是一个运维人员,监控数据是一类时序数据,例如对于机器的CPU的监控数据,就是记录着每个时间点机器上CPU的实际消耗值。
这个世界是由数据构成的,在这个世界上存在的每个物体,每时每刻都在产生着数据。而对这些数据的挖掘和利用,在这个时代,正在默默的改变人们的生活方式。例如通过可穿戴设备对个人健康的管理,就是通过设备不断采集你的个人健康数据,例如心跳、体温等等,收集完数据后套用模型计算来评估你的健康度。
如果你的视野和想象空间足够大,你会发现你能够挖掘并利用的数据充斥在你所生活的环境中。这些能够产生数据的对象,会包括你的手机、汽车、空调、冰箱等等。当前比较火热的物联网的核心思想,其实就是构建一个可以让所有物体生产数据并挖掘其价值的网络。而通过这个网络采集的数据,就是典型的时序数据。
时序数据用于描述一个物体在历史的时间维度上的状态变化信息,而对于时序数据的分析,就是尝试掌握并把控其变化的规律的过程。随着物联网、大数据和人工智能技术的发展,时序数据也呈一个爆发式的增长。而为了更好的支持这类数据的存储和分析,在市场上衍生出了多种多样的新兴的数据库产品。这类数据库产品的发明都是为了解决传统关系型数据库在时序数据存储和分析上的不足和缺陷,这类产品被统一归类为时序数据库。
从DB-Engines的数据库类别流行度趋势榜上可以看到,时序数据库(TimeSeriesDB)的流行度在最近的两年内,一直都是保持一个很高的增长趋势。
接下来我会写几篇文章,分别来分析:
1.时序数据的基本概念,包括模型、特性和基本的查询和处理操作。
2.几个流行开源时序数据库的底层实现分析
3.阿里云表格存储(TableStore)的时序数据存储和计算解决方案
时间序列数据的特性
对于时序数据的特点的分析,会从数据的写入、查询和存储这三个维度来阐述,通过对其特点的分析,来推演对时序数据库的基本要求。
数据写入的特点
写入平稳、持续、高并发高吞吐:时序数据的写入是比较平稳的,这点与应用数据不同,应用数据通常与应用的访问量成正比,而应用的访问量通常存在波峰波谷。时序数据的产生通常是以一个固定的时间频率产生,不会受其他因素的制约,其数据生成的速度是相对比较平稳的。时序数据是由每个个体独立生成,所以当个体数量众多时,通常写入的并发和吞吐量都是比较高的,特别是在物联网场景下。写入并发和吞吐量,可以简单的通过个体数量和数据生成频率来计算,例如若你有1000个个体以10秒的频率产生数据,则你平均每秒产生的并发和写入量就是100。
写多读少:时序数据上95%-99%的操作都是写操作,是典型的写多读少的数据。这与其数据特性相关,例如监控数据,你的监控项可能很多,但是你真正去读的可能比较少,通常只会关心几个特定的关键指标或者在特定的场景下才会去读数据。
实时写入最近生成的数据,无更新:时序数据的写入是实时的,且每次写入都是最近生成的数据,这与其数据生成的特点相关,因为其数据生成是随着时间推进的,而新生成的数据会实时的进行写入。数据写入无更新,在时间这个维度上,随着时间的推进,每次数据都是新数据,不会存在旧数据的更新,不过不排除人为的对数据做订正。
http://click.aliyun.com/m/23440/