数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。数据可以是连续的值,例如音频、图像,称为模拟数据;也可以是离散的,如符号、文字,称为数字数据。显然,在数据库领域,连续型数据和离散型数据,都需要研究。
这些年,无论是学术界还是大众媒体,都在谈论大数据,各企业也都意识到数据的重要性,但是却很少有技术能从纷繁的数据“金矿”中,挖掘出真正对生活、生产有帮助的数据。
全球数据量正在爆炸性地增长,据国际数据公司统计,到2025年,全球数据量将达到175ZB。ZB是什么概念呢?ZB是泽字节,是2 70 字节,大家熟悉的TB是2 40 字节,IZB=2 30 TB,以1TB的硬盘计算,存储175ZB数据需要购买175×2 30 个硬盘。2012—2025年全球数据规模增长趋势如图1-1所示。
图1-1 数据规模增长趋势
诙谐点说,我们不知道未来的数据会有多值钱,但是假设2025年1个1TB的硬盘为200元,那么单是卖硬盘,就可以营收175×2 30 ×200元,约为35万亿元,这是一个天文数字。
这些数据其中一部分是时序数据,关于时序数据的概念,后面会详细介绍。随着物联网技术的发展,预计到2025年,全球将会有1500亿台设备联网,这些设备中,大多数会产生以时间为中心的时序数据。例如,很快就会普及的自动驾驶汽车,在行驶过程中,全车的传感器会产生大量的基于时间的测点数据,这些数据会被计算,从而影响自动驾驶的策略。这些数据中一部分数据处理后会被抛弃,另一部分会被存储下来,进行深度分析。
2017年,时序数据占全部数据的15%,到2025年将接近30%,达到52.5ZB。无法想象这些数据有多庞大,但是能预测需要很强大的时序数据存储系统,才能将这些数据有序地存储下来,并进行处理分析。过去的20年,可能每一位IT从业者,都需要了解并使用类似MySQL、Oracle、SQL Server的关系型数据库,但是未来20年,每一位IT从业者,都有必要学习时序数据库的知识。
不知道大家是否思考过这样一个问题:在日常生活生产过程中,需要对某一些数据按照时间的变化进行统计,例如,在气象监测领域,数据时刻在变换,工作人员要将这些数据的变化记录下来用作监控分析,那么该如何表示这些数据呢?其实为每一条数据记录加上时间戳即可以表示该条数据产生的时间。
简单来说,就是这类数据描述了被测量的主体在时间范围内每个时间节点上的测量值,用于描述物体在历史时间维度上的状态变化信息。而对于时序数据的分析,就是尝试把控其变化规律的过程,按照以上过程的定义,可以得知,时序数据有以下特点:
● 是按照时间维度索引的数据。
● 是一段时间内的测量值,测量值可以为多种类型。
● 用来监控状态变化信息。
● 数据量大,数据量随时间增加。
了解时序数据之后,想必各位读者对时序数据库也有了自己的理解。顾名思义,时序数据库的作用就是为了处理时序数据。其发展至今,经过市场的不断淘汰更新,一批稳定的时序数据库占据了市场主流,下面带大家了解一下时序数据库的发展历史。
笼统地说,时序数据库又叫实时数据库,但是实时数据库包含时序数据库,由于实时数据库和时序数据库的核心共性都是研究时间数据的关系,所以本书,对实时数据库和时序数据库没有进行区分。
实时数据库概念诞生于20世纪70年代,80年代进入理论研究,90年代诞生商用产品。相比于国外,国内90年代才开始进行理论研究,中国无论是从理论还是实践上都起步较晚。世界时序数据库发展的历史如图1-2所示。
国内对时序数据库的研究虽然起步较晚,但是近几年发展却非常迅猛,以IoTDB为代表的时序数据库,已经在某些底层内核、性能、功能上超过了国外先进的时序数据库,拥有自主、可控、安全的国产时序数据库已经成为现实。
图1-2 世界时序数据库发展历史