常见的时序数据库

1.概念

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

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

2.特点

基于时间序列数据的特点,关系型数据库无法满足对时间序列数据的有效存储与处理,因此迫切需要一种专门针对时间序列数据来做优化的数据库系统,即时间序列数据库。

对于时序大数据的存储和处理往往采用关系型数据库的方式进行处理,但由于关系型数据库天生的劣势导致其无法进行高效的存储和数据的查询。时序大数据解决方案通过使用特殊的存储方式,使得时序大数据可以高效存储和快速处理海量时序大数据,是解决海量数据处理的一项重要技术。该技术采用特殊数据存储方式,极大提高了时间相关数据的处理能力,相对于关系型数据库它的存储空间减半,查询速度极大的提高。

3.一些常见的时序数据库

  1. InfluxDB: InfluxDB是一个开源的时序数据库,设计用于处理高度时间相关的数据。它提供了高性能的写入和查询操作,支持灵活的数据模型和标签索引,适用于物联网、监控、应用性能管理等领域。
  2. TimescaleDB: TimescaleDB是一个开源的、构建在关系型数据库PostgreSQL之上的时序数据库扩展。它结合了关系型数据库的功能和时序数据库的性能,提供了强大的时间序列数据处理能力,并支持标准SQL查询。
  3. kdb+: kdb+是一个商业级的时序数据库,被广泛应用于金融行业。它以其出色的性能和高效的数据压缩而闻名,并提供了强大的查询和分析功能。

​ kdb+/q被官方称为世界上最快的时间序列数据库,它使用统一的数据库处理实时数据和历史数据,同时具备 CEP(复杂事件处理)引擎、内存数据库、磁盘数据库等功能。列式存储的特性,使得对于某个列的统计分析操 作异常方便。

​ 与一般数据库或大数据平台相比,kdb+/q具有更快的速度和更低的总拥有成本,非常适合海量数据处理,主 要被用于海量数据分析、高频交易、人工智能、物联网等领域。在延迟性上有着苛刻要求的金融领域,有着 独特的优势。

  1. OpenTSDB : OpenTSDB 是一种基于 HBase 来构建的分布式、可扩展的时间序列数据库。OpenTSDB 被广泛应用于存储、索引和服务从大规模计算机系统(网络设备、操作系统、应用程序)采集来的监控指标数据,并且使这些数据易于访问和可视化。

  2. Prometheus: Prometheus是一个开源的时序数据库和监控系统,用于收集和存储度量指标数据。它特别适合于云原生应用和微服务架构。

    作为新一代的监控框架,Prometheus具备强大的多维度数据模型,有多种可视化图形界面,使用pull模式采集时间序列数据,可以采用push gateway的方式把时间序列数据推送至Prometheus server端。

在这里插入图片描述

这些时序数据库都可以处理高频率的数据,并提供了各种功能来存储、查询和分析时间序列数据。

4.InfluxDB

时序数据库 InfluxDB 是一款专门处理高写入和查询负载的时序数据库,基于 InfluxDB 能够快速构建具有海量时序数据处理能力的分析和监控软件。
 该项目的发起者是 influxdata 公司,该公司提供了一套用于处理时序数据的完整解决方案,InfluxDB 是该解决方案中的核心产品。

在这里插入图片描述

  • 优点:
    • 开箱即用,运维简单
    • 多值存储模型、丰富的数据类型
    • 提供了类 SQL 的查询语言
    • 独创 TSM 索引
  • 缺点:
    • 开源版本不支持集群部署,对于大规模应用来说,使用前需要慎重考虑

5.TimescaleDB

TimescaleDB是唯一支持完整SQL的开放源代码时间序列数据库,已针对支持全面SQL的快速提取和复杂查询进行了优化。它基于PostgreSQL,并且为时间序列数据提供了最好的NoSQL和Relational世界。

TimescaleDB使开发人员和组织能够更多地利用其功能:分析过去,了解现在和预测未来。在查询层面统一时序数据和关系数据可消除数据孤岛,并使演示和原型更容易实现。可扩展性和完整的SQL接口的结合赋予员工提出数据问题。

6.kdb+

kdb+ 号称最快的内存数据库之一。列式存储的特性,使得对于某个列的统计分析操作异常方便。

优点:

单体架构,轻松支持 billion以上数据;
分布式扩展,无性能损耗;
超低延迟+高并发支持;
列式存储+内存数据库;
灵活的Q语言,内置非常多的统计计算方法。
缺点:

搭配的Q 语言,学习难度较高。

7.OpenTSDB

在这里插入图片描述

OpenTSDB 由时间序列守护程序 (TSD) 以及一组命令行实用程序组成。每个 TSD 都是独立的。 没有主节点,没有共享状态。

  • 优点:
    TSD 是无状态的,所有状态数据保存在 HBase 中,天然支持水平扩展
  • 缺点:
    • Hadoop 全家桶运维难度较大,需要专人负责
      • 新版本的 OpenTSDB 底层支持 Cassandra
    • 存储模型过于简化
      • 单值模型且只能存储数值类型数据
      • 单个 metric 最多支持 8 个 tag key
    • 虽然利用了 HBase 作为底层存储,但是没有提供对 MapReduce 的支持。
      • 可以通过 Spark 实现复杂的处理逻辑

8.Prometheus

Prometheus 是一个开源的服务监控系统和时间序列数据库。

优点:

具有丰富的查询语言;
可视化数据展示;
集成监控和报警功能;
维护简单。
缺点:

没有集群解决方案;
聚合分析能力较弱;
为运行时正确的监控数据准备的,不能解决大容量存储问题,无法做到100%精准,存在由内核故障、刮擦故障等因素造成的微小误差。

9.QuestD

对于那些既希望利用InfluxDB内联协议的灵活性,又熟悉PostgreSQL的人来说,QuestDB(YC S20)作为一个较新的时序数据库,可以满足开发者的这两个要求。它是一个用Java和C++编写的开源TSDB,从原理上说,QuestDB是利用内存映射文件,在数据提交到磁盘之前,实现快速读写的。

QuestDB通过使用Java和C++,来从头开始构建数据库,其主要特征体现在:

  1. 性能:解决摄取过程中,特别是在处置高基数的数据集过程中的瓶颈。同时,它还通过顺次存储的时分数据(即,在内存中的混洗),以及仅分析请求的列/分区,而并非以整张表的方式,来支持快速的数据检索。此外,QuestDB还会运用SIMD指令,实现并行化操作。
  2. 兼容性:QuestDB支持InfluxDB的内联(inline)协议、PostgreSQL wire、REST API、以及CSV上传的方式,来摄取数据。那些习惯了其他TSDB的用户,可以轻松地移植他们的现有应用程序,而无需进行大量的重写工作。
  3. 通过SQL进行查询:虽然能够支持多种摄取机制,但是QuestDB也会使用SQL作为查询语言,因此用户无需额外地学习Flux之类的特定域语言。
  • 优点:快速摄取(特别是对于具有高基数的数据集),支持InfluxDB内联协议和PostgreSQL wire,可以通过标准的SQL查询数据。
  • 缺点:在用户社区、可用集成、以及对生产环境就绪等方面,都有待改进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十四、pikachu之XSS

文章目录 1、XSS概述2、实战2.1 反射型XSS(get)2.2 反射型XSS(POST型)2.3 存储型XSS2.4 DOM型XSS2.5 DOM型XSS-X2.6 XSS之盲打2.7 XSS之过滤2.8 XSS之htmlspecialchars2.9 XSS之href输出2.10 XSS之JS输出 1、XSS概述 Cross-Site S…

分享一种针对uni-app相对通用的抓包方案

PART1,前言 近年来混合开发APP逐渐成为主流的开发模式,与传统的开发模式相比混合开发极大的提升了开发效率,同时跨平台的特性也降低了开发成本,一直以来混合开发被诟病的性能问题随着技术的发展也得到改善。技术的发展往往是一把…

前端需要理解的跨平台知识

混合开发是指使用多种开发模开发App的一种开发模式,涉及到两大类技术:原生 Native、Web H5。原生 Native 主要指 iOS(Objective C)、Android(Java),原生开发效率较低,开发完成需要重…

【Java集合学习1】ArrayList集合学习及集合概述分析

JavaArrayList集合学习及集合学习概述 一、Java集合概述 Java 集合, 也叫作容器,主要是由两大接口派生而来:一个是 Collection接口,主要用于存放单一元素;另一个是 Map 接口,主要用于存放键值对。对于Col…

Apache Poi 实现Excel多级联动下拉框

由于最近做的功能,需要将接口返回的数据列表,输出到excel中,以供后续导入,且网上现有的封装,使用起来都较为麻烦,故参考已有做法封装了工具类。 使用apache poi实现excel联动下拉框思路 创建隐藏单元格&a…

如何评估开源项目的活跃度和可持续性?

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

元矿山下的音视频应用

// 近年来,矿业的技术和管理模式随着元宇宙的火爆和自动驾驶技术的发展逐渐变化、升级,进而衍生出元矿山的概念,音视频技术也在其中成为了关键一环。LiveVideoStackCon 2023 上海站邀请了来自希迪智驾的任思亮,为大家分享希迪智…

基于神经网络的3D地质模型

地球科学家需要对地质环境进行最佳估计才能进行模拟或评估。 除了地质背景之外,建立地质模型还需要一整套数学方法,如贝叶斯网络、协同克里金法、支持向量机、神经网络、随机模型,以在钻井日志或地球物理信息确实稀缺或不确定时定义哪些可能是…

机器学习笔记之优化算法(十九)经典牛顿法的收敛性分析

机器学习笔记之优化算法——经典牛顿法的收敛性分析 引言回顾:算法的收敛性分析 Wolfe \text{Wolfe} Wolfe准则的收敛性分析梯度下降法在凸函数的收敛性分析梯度下降法在强凸函数的收敛性分析 经典牛顿法的收敛性分析收敛性定理介绍证明过程关于隐含条件的说明 引言…

FFmpeg5.0源码阅读——FFmpeg大体框架

摘要:前一段时间熟悉了下FFmpeg主流程源码实现,对FFmpeg的整体框架有了个大概的认识,因此在此做一个笔记,希望以比较容易理解的文字描述FFmpeg本身的结构,加深对FFmpeg的框架进行梳理加深理解,如果文章中有…

Android Mvvm设计模式的详解与实战教程

一、介绍 在开发设计模式中,模式经历了多次迭代,从MVC到MVP,再到如今的MVVM。发现的过程其实很简单,就是为了项目更好的管理。 设计模式严格来说属于软件工程的范畴,但是如今在各大面试中或者开发中,设计模…

三方接口调用设计方案

在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改,数据是否已经过时,数据是否可以重复提交等问题 在设计三方接口调用的方案时,需要考虑到安全性和可用性。以下是一种设计方案的概述&a…

C# 学习笔记--个人学习使用 <2>

C# 学习笔记 Chapter 2 比较硬的基础部分Section 1 委托Part 1 Action 与 func 委托的示例Part 2 自定义委托Part 3 委托的一般使用Part 4 委托的高级使用Part 5 适时地使用接口 Interface 取代一些对委托的使用 Section 2 事件Part 1 初步了解事件Part 2 事件的应用Part 3 事件…

【Luniux】解决Ubuntu外接显示器不显示的问题

Luniux】解决Ubuntu外接显示器不显示的问题 文章目录 Luniux】解决Ubuntu外接显示器不显示的问题1. 检查nvidia显卡驱动是否正常2. 更新驱动3. 检查显示器是否能检测到Reference 1. 检查nvidia显卡驱动是否正常 使用命令行 nvidia-smi来检查显卡驱动是否正常,如果…

持续集成与持续交付:现代软件测试的变革之路

引言 在数字化时代,软件开发的速度和复杂性都在不断增加。为了满足市场的需求,企业需要更快、更高效地交付高质量的软件产品。在这样的背景下,持续集成与持续交付(CI/CD)成为了软件开发和测试的核心实践。 软件开发的…

论文阅读 The Power of Tiling for Small Object Detection

The Power of Tiling for Small Object Detection Abstract 基于深度神经网络的技术在目标检测和分类方面表现出色。但这些网络在适应移动平台时可能会降低准确性,因为图像分辨率的增加使问题变得更加困难。在低功耗移动设备上实现实时小物体检测一直是监控应用的…

小研究 - Java虚拟机性能及关键技术分析

利用specJVM98和Java Grande Forum Benchmark suite Benchmark集合对SJVM、IntelORP,Kaffe3种Java虚拟机进行系统测试。在对测试结果进行系统分析的基础上,比较了不同JVM实现对性能的影响和JVM中关键模块对JVM性能的影响,并提出了提高JVM性能的一些展望。…

css之文字连续光影特效、动画、scss

文章目录 效果图htmlscsscss 效果图 html <div><span>C</span><span>O</span><span>L</span><span>O</span><span>R</span><span>F</span><span>U</span><span>L</span&…

WOFOST模型与PCSE模型应用

实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单&#xff0c;数据容易获取&#xff0c;但是作物生长发育非常复杂&#xff0c;中间涉及众多生理生化过程&#…