如今时序数据的应用场景十分广泛,许多类型的数据都是时间序列数据:

  • 金融市场交易

  • 传感器测量(水冷、高温、地震...)

  • 服务器监控(CPU、内存、磁盘...)

  • 资源消耗(能源、电力...)

  • 人体健康(心率、血氧浓度...)

  • 网络访问

通过保留数据固有的时间序列性质,我们可以记录下事物是如何随时间变化的事实,正因如此,这一反应真实的客观属性使得时序数据在特定的场景中充满了商业价值:通过分析时序数据,决策者可以了解到生产和业务中的细微变化,从而对资源优化跟踪预测商业智能等方面进行优化。

在时序数据库成为热点之前,时序数据通常使用 MySQL 或 PostgreSQL 等关系数据库进行处理。但自2010年以来,随着互联网和通信技术的发展,网络中产生的时间序列数据量有了爆炸式的增长,传统的数据库已经无法处理这种万亿级的海量数据。不仅如此,现代业务对数据价值挖掘的需求已不仅仅停留在简单计算和绘制图表的层面上,而是需要更多精细、复杂的计算分析。

如何以一种高性能的方式记录、查询和分析如此大规模的数据,成为了一个难题。时序数据库(time-series database)应运而生。以对数据价值嗅觉最敏感的金融领域为例,早在20年前,华尔街就已经开始使用时序数据库对股票交易数据进行实时的计算分析。

那么,时序数据库与“普通”数据库在技术上有哪些区别呢

我们假定“普通”数据库是 MySQL、Oracle 之类的 OLTP (Online Transaction Processing) 事务型数据库

01.

首先,大部分时序数据库的查询场景可以认为是 OLAP(Online Analytical Processing )分析型数据库场景。具体地说,时序数据库的读取负载主要可以分为两种,一种是对指定时间序列在指定时间段内数据的查询,如查询某个设备或某支股票最新一小时的数据等;另一种是对大量数据进行统计分析,如分析某支股票、甚至是所有股票在过去一周内的平均价格。这两种场景都算是典型的 OLAP 的读取场景。因此,时序数据库具有大部分 OLAP 数据库的特点,如列存会对数据做压缩支持复杂的查询语句等等。

02.

其次,从写入负载来分析,时序数据库的场景有大量数据的实时写入,而非单行数据的写入与修改。由于时序数据库的写入负载通常很高,如每秒几百万甚至几千万条数据,所以时序数据库的存储引擎往往是基于对大量写入更加友好的 LSM Tree(Log Structured Merge Tree),而非对主键点查询、主键范围查询以及单行修改与更新更友好的 B+ 树。开发高效的时序数据库存储引擎,需要扎实的操作系统、数据库系统、分布式系统、体系结构、数据结构与算法等计算机基础。

03.

第三,时序数据库需要支持很多时序场景特有的分析语句与函数。一些常见的语句与函数有:降采样、插值、滑动平均、时间滑动平均、累积和、window join、context by、pivot by 等等。要高效地(往往是向量化地)支持这些查询语句并不是一件非常容易的事情。

04.

第四,流数据的处理。对时序数据的离线分析属于批处理的范畴,而还有许多时序数据场景则可以抽象成另外一个我们称之为流数据的计算场景:有数据不停地产生,且需要低延时地对这些数据做即时的响应与计算。在时序领域,对于流数据的处理,以往的做法往往是使用 flink 等单独的流数据处理平台,这当然也能够解决问题,但会导致至少两个问题,第一是需要维护时序数据库与 flink 这两套系统,使得运维成本大大提升;第二个问题则可能更加致命,那就是流数据的处理是否能够与批数据处理一致,而如果产生不一致,则可能会对业务场景带来毁灭性的影响(熟悉机器学习的同学应该知道机器学习的训练场景、测试场景与服务场景必须达到高度的一致)。如果时序数据库能够推出针对时序场景的特殊流数据处理子系统,并且能够达到“流批一体”,就可以保证批数据与流数据处理的结果完全一致。

数据库的性能往往很大程度上由存储引擎决定。如何针对不同的应用场景设计高性能的存储引擎一直是数据库开发的难题。而在时序数据库的场景下,究竟该怎么设计一个存储引擎,至今仍是一个没有标准答案的开放性问题。

10月27日(本周四)19:30,DolphinDB 邀请到了「树根互联」解决方案高级总监陈超「华夏基金」高级工程师李乾鹏以及「DolphinDB」研发副总监胡津铭,一同与大家探讨时序数据库极致性能背后的存储引擎。

本次直播中,你将收获:

来自数据库行业大佬的分享 

物联网场景中,我们如何选择时序数据库 ?相关推荐

  1. 物联网系统开发如何选择时序数据库

    在很多物联网系统中,都需要对联网的设备进行监控,并对监控采样到的数据进行持久化.对采样数据进行持久化,其实很多年前在工业领域已经有专门的数据库来完成这个任务了.在工业领域,这个叫实时数据库. 工业领域 ...

  2. 环保监测平台为什么弃用MySQL,而选择时序数据库?

    小 T 导读:昆岳互联的"a环保"APP基于自主打造的环保产业互联网平台(INECO平台),对环境基础设施海量数据实时处理与分析,可以秒级实时采集工业大气环保各项监控指标的数据,分 ...

  3. 卷积神经网络在物联网场景中的应用初探

    本文转自:https://www.jianshu.com/p/8b6446181a52 概述 机器学习发展到今天,得益于数据量的增长.算力的丰富.和深度神经网络技术的不断创新和广泛应用,像计算机视觉. ...

  4. 时序数据库应用场景与设计

    数据特点 时序数据是基于时间的一系列的数据.在有时间的坐标中将这些数据点连成线,往过去看可以做成多纬度报表,揭示其趋势性.规律性.异常性:往未来看可以做大数据分析,机器学习,实现预测和预警.比如工业上 ...

  5. mysql数据库主要用来做什么的_为什么有了 MySQL ,还要有时序数据库?

    " 你应该敬畏时间 , 因为那是一切的密码. --电影<星际穿越> "近日,UCloud新发布了一款时间序列数据库UTSDB (UCloud TimeSeries Da ...

  6. 十分钟看懂时序数据库(III)- 压缩

    物联网邻域近期如火如荼,互联网和传统公司争相布局物联网.作为物联网邻域数据存储的首选时序数据库也越来越多进入人们的视野,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序 ...

  7. 时序数据库永远的难关 — 时间线膨胀(高基数 Cardinality)问题的解决方案

    简介: 本文主要讨论 influxdb 在遇到写入的数据出现高基数 Cardinality 问题时,一些可行的解决方案. 作者 | 徐建伟 (竹影) 前序 随着移动端发展走向饱和,现在整个 IT 行业 ...

  8. 从前世今生聊一聊,大厂为啥亲睐时序数据库

    摘要:本文会从时序数据库的基本概念.应用场景.需求与能力等方面一一展开,带你了解时序数据库的前世今生. 时序数据库忽然火了起来.Facebook开源了beringei时序数据库,基于PostgreSQ ...

  9. 目前市场上最好用的时序数据库是什么?

    TDengine database 作为国内的一款开源的时序数据库,虽然在 GitHub.DB-Ranking.墨天轮等技术网站都有很好的数据表现,在短短的几年中也斩获了无数用户的好评,但也不敢说什么 ...

最新文章

  1. 用jarsigner对android apk进行签名
  2. 干货丨 从遗传算法到强化学习,一文介绍五大生物启发式学习算法
  3. CentOS 6 同一台机器部署多个Tomcat应用服务器
  4. 第一章 Linux内核简介
  5. 【Kafka】kafka-eagle几个指标含义
  6. hr签核系统可以用python做吗_数字与签核参考流程
  7. mysql数据库工程师考证题_100道MySQL常见面试题总结
  8. android判断进程是否是意外退出
  9. 什么是干货,什么是鸡汤?
  10. 追忆我的2008-养成做笔记的习惯
  11. Unity3D脚本中文系列教程(十四)
  12. 如果我来做个「ZAO」换脸 app,全网最硬核换脸技术简析 (万字长文)
  13. paip 突破 网站 手机 验证码 的 破解 总结
  14. 安德玛交互式体验旗舰店杭州开业;因美纳新一代基因测序仪在华上市;苏伊士集团扩大在华业务布局 | 美通企业周刊...
  15. 30分钟搭建你的静态网站
  16. 4g物联网卡助力“现代农业”发展壮大
  17. Python中的getattr()和__getattr__方法
  18. 蓝桥杯嵌入式【G4】教程汇总【2022】
  19. 批量下载抖音快手视频
  20. 一头扎进Maven3 (一)

热门文章

  1. 网络系统集成实验(一)| 网络系统集成基础
  2. Feature Squeezing
  3. 【附源码】计算机毕业设计java智能导诊系统设计与实现
  4. 报错 java: 程序包javax.servlet.http不存在
  5. ppt计算机考试总结,计算机二级PPT考点与做题技巧汇总
  6. JS 调用打印机打印网页文档
  7. 文本情感分析方法研究小结
  8. JL杰理AC6082 AC6084替换AC1082 AC1074 MP3解码芯片方案
  9. 护卫神php搭配阿帕奇,为 “护卫神 apache大师”站点添加ssl证书,实现https访问...
  10. 本科生如何进行文献阅读和文献整理?