时序数据库学习一:什么是时序数据库

简介: 时序数据库学习一:什么是时序数据库

时序数据库

时序数据库全称为时间序列数据库。时间序列数据库指主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。

时间序列数据主要由电力行业、化工行业、气象行业、地理信息等各类型实时监测、检查与分析设备所采集、产生的数据,这些工业数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)

时序数据的特征

1:持续产生海量数据,没有波峰波谷

2:每条数据都带有时间戳

3:数据不可变,只会一直添加

4:高效的存储压缩效率

5:时序唯一性:某一个时刻的某一个指标只会有一条(一组也视为一条)数据

6:单条数据没有意义,看某一个时间段的所有数据才有意义

时序数据库的基本概念

Time series

(时间序列,简称时序或者时序数据):根据wiki百科[2],其数学定义是这样:In mathematics, a time series is a series of data points indexed (or listed or graphed) in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. Thus it is a sequence of discrete-time data. 翻译过来的要点就是 1)源于数学学科; 2)是按时间顺序索引的一系列数据点。因此也多翻译为“时序数据”。3)最常见的是在连续的相等间隔时间点上获取的序列。4)是一个离散时间的数据序列。

Metric(度量指标)

在软件领域,Metric是对软件或其规格的某些属性的度量。在wiki百科中有这样的阐述:software metric[3]是衡量软件系统或过程具有某种属性的程度的标准。尽管学术界最初认为Metric是函数(function),Measurement是通过应用metric获得的数值;但随着计算机学科和传统学科的借鉴融合,这两个术语通常也用作同义词,泛指同一个东西了。

时序数据库的项目

事实上,业界流行的ClickHouse、Apache IoTDB等也属于时序数据库范畴。本文从应用运维场景,对众多的TSDB做个初步分析和筛选出典型代表产品,方便后面进行针对性的对比分析。

  • InfluxDB:排名第一,社区火热和国内外采用厂商比较多。
  • Prometheus:属于CNCF基金会第二个毕业的项目,在社区中比较火爆,甚至在容器领域形成事实的监控缺省方案。在国内外被普遍采用。
  • TimescaleDB: 基于优秀的PostgreSQL构建出的时序数据库。长远考虑,专业的TSDB必须是从底层存储面向时序数据的特征进行针对性设计和优化的。因此它不在本文中进一步分析。
  • Apache Druid:非常有名的实时OLAP分析平台,面向时序数据设计的,在极致性能和数据schema的灵活性方面有一定的平衡。类似的产品还有Pinot、Kylin等。
  • OpenTSDB:基于HBase构建的时序数据库,依赖Hadoop生态太重,早期和InfluxDB并驾齐驱;近年来在社区中的热度已经远远落后于InfluxDB了。它还不支持多维查询。因此,它也排除在外。
  • ClickHouse:俄罗斯Yandex开发的数据分析数据库(OLAP),但它可以充当TSDB来使用。本文不做深入分析。
  • IoTDB:国内清华大学开源的时序数据库,面向工业IoT场景;性能出众,社区活跃。

本文参考:https://zhuanlan.zhihu.com/p/410255386

目录
相关文章
|
10月前
|
存储 SQL 运维
当「内容科技企业」遇上多模数据库:新榜采用Lindorm打造全域数据“超级底盘”
新榜业务以数据服务提升内容产业信息流通效率,其数据处理需求聚焦于跨平台实时数据融合处理、实时分析检索、批量更新效率三大维度。Lindorm通过多模超融合架构,提供检索分析一体化、多引擎数据共享,分布式弹性扩展等能力,成为支撑新榜内容服务的核心引擎,助力客户在内容生态竞争中持续领跑。
|
传感器 安全 物联网
时序数据库TDengine + MQTT :车联网时序数据库如何高效接入
现代新能源汽车配备大量传感器,产生海量数据需上报至车联网平台。TDengine作为时序大数据平台,支持MQTT协议,可轻松实现车辆状态、位置及用户行为数据的实时采集与分析,提升驾驶体验和安全保障。通过简单的Web界面配置,无需编写代码,即可完成从MQTT到TDengine的数据接入。整个过程包括注册TDengine Cloud、创建数据库、安装代理插件、新增数据源、配置解析规则等步骤,快速实现数据同步。
464 2
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
531 15
|
存储 安全 数据管理
时序数据库TDengine 与中移软件达成兼容性互认证,推动虚拟化云平台与时序数据库的深度融合
在数字化转型和智能化升级的浪潮下,企业对数据的需求日益增长,尤其是在物联网、大数据和实时分析等领域。随着设备数量的激增,时序数据的管理和处理变得愈发复杂,企业亟需高效、稳定的数据解决方案来应对这一挑战。时序数据库作为专门处理时间序列数据的工具,正逐渐成为各行业数字化转型的重要支撑。
267 4
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
197 1
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
641 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
2875 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
1066 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
5月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
426 158
|
5月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。