其他笔记 - InfluxDB与MongoDB的对比

2023-05-16

InfluxDB与MongoDB对比

文章来源:
本文将比较InfluxDB与MongoDB在常见时间序列工作负载下的性能和特性,特别是两者在数据传输率,磁盘上数据压缩率和查询性能上的差异。

InfluxDB是一个Go实现的开源时间序列数据库。它的核心由一个定制化的存储引擎设计而成,称为Time-Structured Merge (TSM)是时序结构合并树,它针对时间序列数据进行了优化。通过一个类似结构化查询风格的查询语言InfluxQL进行控制.InfluxDB为时间跨度下的数学和统计运算提供了一个开箱即用的
完美支持,非常适合于定制监控和指标收集,实时分析,以及物联网和传感器数据工作负载。

Mongodb是一个开源的面向文档的数据库,俗称为NoSQL的数据库,用Ç和C ++编写。虽然它本身并不是一个真正的时间序列数据库,但它的创建者通常会将其用于时间序列工作负载。它以时间戳和装桶(bucketing)的形式提供建模原语,使用户能够存储和查询时间序列数据。请注意,除了基于时间序列的工作负载外,本文没有研究InfluxDB对其他工作负载的适用性。InfluxDB不是为了满足文档存储用例而设计的,因此此处将不讨论这些用例。对于这些用例,我们建议使用MongoDB或类似的NoSQL数据库。

从另一个角度来看Mongodb其实和redis的工作领域有重叠,但各有优劣.Mongodb也在逐渐进步.

StackouverFlow上的投票:InfluxDB VS MongoDB

InfluxDBMongoDB
Stacks
743
Stacks
47.1K
Followers
729
Followers
36.7K
Votes
148
Votes
4K

可以看到MongoDB使用者远超InfluxDB,当然这纯粹是因为MongoDB在互联网等领域应用更广泛的原因.

InfluxDB与MongoDB:有何区别?

  • InfluxDB:
    一个没有外部依赖性的开源分布式时间序列数据库。 InfluxDB是用于指标,事件和实时分析的可扩展数据存储。它具有内置的HTTP API,因此您无需编写任何服务器端代码即可启动和运行InfluxDB具有可扩展性,易于安装和管理以及可快速获取和取出数据的功能。
  • MongoDB:
    伟大思想的数据库。 MongoDB将数据存储在类似JSON的文档中,这些文档的结构可能有所不同,从而提供了动态,灵活的架构。 MongoDB还具有内置复制和自动分片功能,旨在实现高可用性和可伸缩性。

InfluxDB和MongoDB可以归类为“数据库”工具。

“时间序列数据分析”是超过35个像InfluxDB这样的开发人员的主要原因,而超过788个开发人员提到“面向文档的存储”是选择MongoDB的主要原因。

InfluxDB和MongoDB都是开源工具。似乎在GitHub上具有16.6K GitHub star和2.37K派生的InfluxDB比在MongoDB上具有16.2K GitHub star和4.08K GitHub派生具有更多的采用率。

根据StackShare社区的说法,MongoDB获得了更广泛的认可,在2175个公司堆栈和2143个开发人员堆栈中都提到过。与InfluxDB(在116个公司堆栈和38个开发人员堆栈中列出)相比。

结语

查了一下资料, Mongodb的应用领域和InfluxDB差距很大,而且InfluxDB在过去工业界长期占有一席之地,然而因为当时工业环境对实时性\运算\查询速度要求不高,所以稳定的需求大于性能需求.
如今到了物联网时代,在大规模工厂设备加智能机器人等设备链接加入以后,大量冗余的数据会对查询和并发带来更高的要求,所以最终决定不使用InfluxDB.
还有一篇关于DolphinDB与InfluxDB对比测试报告 可供参考.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

其他笔记 - InfluxDB与MongoDB的对比 的相关文章

  • 超声波纳米材料乳化分散震动棒设计

    超声波纳米材料乳化分散震动棒利用超声波的超声空化作用来分散团聚的颗粒 它是将所需处理的颗粒悬浮液 xff08 液态 xff09 放入超强声场中 xff0c 用适当的超声振幅和作用时间加以处理 由于粉体颗粒团聚的固有特征 xff0c 对于一些
  • noVNC+VNCserver实现远程访问Docker容器桌面

    一 实验环境 主机 xff1a Ubuntu16 04 目标机 xff1a docker容器 说明 xff1a 在主机Ubuntu16 04中安装docker xff0c 并虚拟出一台Ubuntu容器 xff0c 将该容器作为要远程访问的目
  • 本地项目(vscode)和码云建立连接,及常用git命令

    本地Git和线上关联 xff1a 权限设置 G码云 设置 SSH公钥 公钥管理电脑桌面点击右键进入Git Bash Here对照链接输入指令绑定邮箱 xff1a https gitee com help articles 4181 arti
  • 解决android studio 控制台乱码

    双击shift键 xff0c 输入vmoption xff0c 选择Edit Custom CM Options 如果没有配置过 xff0c 就会弹出窗口问是否创建配置文件 xff0c 点击Create xff0c 输入 Dfile enc
  • 无人机学习笔记

    硬件 首先从硬件开始说起把 xff0c 气压计 陀螺仪 磁力计 xff0c 这三个不用说肯定是必备的 xff0c 后面由于开发的需要还添加了激光测距 xff0c 以及光流 但是在开发过程中遇到了很多问题 xff0c 一个一个来说 气压计 气
  • 解决KEIL中ARM编译器不能编译的问题

    keil编译器出现问题 xff0c 根据提示意思就是ARM编译器选择不对的问题 Target 39 Printf 39 uses ARM Compiler 39 V5 06 update 6 build 750 39 which is no
  • linux 内核中strstr函数 功能

    在内核代码中看到strstr函数 xff1a mode 61 strstr boot command line 34 D 34 应该是一个字符串处理函数 xff0c 使用man命令查看下给出如下解释 xff1a SYNOPSIS inclu
  • KPI异常检测资料汇总

    文章目录 0 综述类1 KPI异常检测1 1 经典模型1 1 1 Donut 基于VAE的周期性无监督KPI异常检测1 1 1 1 论文解读1 1 1 2 源码分析 1 12 MAD 基于GANs的时间序列数据多元异常检测 1 2 行业落地
  • jupyter notebook:使用argparse包存在的问题及解决

    argparse模块 argparse是python用于解析命令行参数和选项的标准模块 导入argparse包 span class hljs keyword import span argparse 遇到的问题 parser 61 arg
  • Qt C++和Java相互调用

    Qt C 43 43 和Java相互调用 1 C 43 43 调用Java Test h span class token keyword class span span class token class name Test span s
  • 单片机HAL库使用HAL_UART_Receive_IT

    前言 由于本人第一次尝试开发单片机 xff0c 要实现的功能是信息转发 xff0c 需要调用HAL库方法 xff0c 中断接受信息转发给FPGA xff0c 这里没有用到DMA方式所以不做赘述 xff0c 特此记录分享希望帮到你们 发送信息
  • VLC播放gstreamer pipeline rtp流

    一 xff1a Gstreamer 下载gstreamer 编译等自行百度 pipeline命令 硬编码输出rtp gst launch 1 0 e videotestsrc 34 video x raw format 61 I420 wi
  • 【unity】Multiple plugins with the same name '...'解决方案

    Multiple plugins with the same name 39 ulua 39 found at 39 Assets Plugins uLua 1 22 x86 64 ulua dll 39 and 39 Assets Plu
  • CMAKE 环境变量

    CMAKE CXX FLAGS CMAKE C FLAGS 在cmake脚本中 xff0c 设置编译选项有两种方式 xff1a 1 1 add compile options命令 add compile options命令添加的编译选项是针
  • Gstreamer常见pipeline命令 - 持续更新中

    解码 xff1a xff08 根据码流类型自适应创建相应解码器 xff09 gst launch 1 0 filesrc location 61 home user DCIM Camera VID 20201001 103749 mov q
  • ubuntu18.04 安装包提示没有可安装候选

    sudo apt get install gcc 正在读取软件包列表 完成 正在分析软件包的依赖关系树 正在读取状态信息 完成 没有可用的软件包 gcc xff0c 但是它被其它的软件包引用了 这可能意味着这个缺失的软件包可能已被废弃 xf
  • D435在ROS下的使用

    本人电脑Ubuntu16 04 Ros 为kinetic D435可以用的ros源码下载地址 https github com intel ros realsense releases一定要仔细查看每一个版本基于的sdk的版本号 D435的
  • 在ros下使用D435出现问题ResourceNotFound: realsense2_camera

    在launch的文件内运行roslaunch rs rgbd launch出现错误 xff1a ResourceNotFound realsense2 camera 或运行 roslaunch realsense2 camera rs rg
  • 在ROS中发布IMU数据

    本文主要是来发布sensor msgs Imu类型的消息 xff0c 其中 xff29 xff2d xff55 的数据为虚拟的 xff11 xff0e 在自己的工作空间中创建ros程序包 这个包依靠std msgs roscpp rospy
  • 控制理论学习资料

    DR CAN 傅里叶分析之掐死教程 xff08 完整版 xff09 更新于2014 06 06

随机推荐

  • 卡尔曼滤波原理二:扩展卡尔曼

    1 理论部分 上一篇介绍了线性卡尔曼滤波器 xff0c 当系统为线性高斯模型时 xff0c 滤波器能给出最优的估计 xff0c 但是实际系统总是存在不同程度的非线性 xff0c 如平方 三角关系 开方等 对于非线性系统 xff0c 可以采用
  • PIXHAWK添加自定义消息存储到SD卡

    四旋翼调试阶段总会出现很多难以预见的现象 xff0c 这时为了找到所出问题的原因 xff0c 就需要获得原始相关数据进行分析 xff0c pixhawk代码提供了记录飞行日志的功能 xff0c 能够将飞行中的重要数据存入SD卡中 xff0c
  • reStructuredText介绍

    文档格式编辑 xff0c 目前主流最强大的要是latex xff0c 但是语法太复杂 xff0c 环境要求也多 xff0c 有的时候也是写文档往往选择markdown xff0c 常常怀疑文档编辑的markdown不是亲生的 xff0c 很
  • ROS2—自定义话题及服务消息类型

    1 source ROS 2 环境 source ROS 2的基础工作空间可以使用下面的命令 xff1a source opt ros foxy setup bash 2 创建一个新的文件夹 执行类似下面的命令 xff1a mkdir p
  • 用VSCode编译运行C++(2022最新教程)以及会遇到的两个问题

    这玩意我弄了一下午 xff0c 发现网上很多教程都过时了 xff0c 现在自己整理一下造福后人 目录 第一步 xff0c 下载和配置mingw64 xff0c 即C C 43 43 编译器GCC的Windows版本 第二步 xff0c 下载
  • 从零开始学USB(一、基础知识1)

    1 什么是USB USB是Universal Serial Bus的缩写 xff0c 中文译为通用串行总线 正如USB的第一个单词表述的那样 xff0c 为了通用 那么我们看一下 xff0c 还有哪些总线不是串行的 xff0c 哪些是不通用
  • 5,树莓派3B+ 使用 Frp 实现内网穿透,公网访问web服务器,设置自动启动,后台运行。 (新人向)

    内网穿透 就是让没有固定公网 ip 的内网的服务器 xff0c 暴露在公网之上 xff0c 从而在外网可以访问 基于这个工具 xff0c 不但可以让外部网络访问内网的web服务器 xff0c 也可以访问我们自建的NAS服务器 xff08 私
  • 关于编程学习上的一些感悟——不忘初心

    序 今天无意中看到以前一起开发过的同学写的技术文章 xff0c 了解到了更多在blog和github以及一些技术交流论坛上面非常活跃 回过头来看看自己 xff0c 好像依然停留在以前的样子 xff0c 似乎与真正在踏实学技术差距好像很大了
  • uORB笔记整理

    其实是对自己看过的文章中讲uORB的部分进行了记录 uORB Micro Object Request Broker 微对象请求代理器 是PX4 Pixhawk系统中非常重要且关键的一个模块 xff0c 它肩负了整个系统的数据传输任务 xf
  • 因子图-gtsam

    闲着写下关于gtsam的内容 更新中
  • 1+11+111+1111+11111+……+11……11(2009个1)的和有多少个1?

    直接贴代码了 lt span style 61 34 font family Courier New 34 gt include lt stdio h gt define SIZE 10 int main void int i int co
  • uC/OS-ii 学习步骤及书籍推荐

    第一步 嵌入式实时操作系统 COS II原理及应用 任哲编著 首选任哲的这本书 我建议先把这本书看一遍 xff0c 弄清楚ucos是怎么回事 xff0c 至于操作系统里面的具体代码实现 xff0c 大概了解就行 xff0c 可以暂且不去细究
  • 利用 Docker 编译 OpenWrt

    原文链接 xff1a 利用 Docker 编译 OpenWrt 五十风的个人博客 由于网络原因编译openwrt时经常下载失败 xff0c 搭建编译环境也很复杂 xff0c 因此想到利用阿里云 Github action等远程构建docke
  • Ubuntu20.04安装ROS Neotic修复依赖问题过程记录

    出现的问题 xff1a 下列软件包有未满足的依赖关系 xff1a ros noetic desktop full 依赖 ros noetic desktop 但是它将不会被安装 依赖 ros noetic perception 但是它将不会
  • ROS-学习笔记-03-(Ubuntu20.04 Noetic运行Web上位机和Nav2d)

    Ubuntu20 04 ROS Noetic 编译运行Nav2d 前言 Ubuntu20 04 Noetic 下的利用rosbridge roslib和ros2d等库实现的网页端Js Widget xff0c 以及运行PR2 Navigat
  • STL的确很好用

    STL的确很好用 以前只听过没用过 用了几次后 xff0c 发现的确方便 现在会自觉不自觉地用到 边用边学吧 map insert 返回 pair multimap insert 返回 iterator 来自 ITPUB博客 xff0c 链
  • ROS-学习笔记-04-( Ubuntu20.04编译ecto,boost1.7环境)

    目录 Ubuntu20 04编译ecto xff08 boost1 7环境 xff09 编译ecto简介1 下载源码安装依赖2 修改源码BuildInstall 参考 Ubuntu20 04编译ecto xff08 boost1 7环境 x
  • Windows设置SSH出错,Permission denied (publickey),Error connecting to agent

    最近在设置nginx配置 xff0c 由于云服务器是密钥登陆的 xff0c 所以有一些问题 前置环境 xff1a 安装Chocolatey 以管理员权限打开PowerShell运行Set ExecutionPolicy AllSigned
  • 其他笔记 - 关于Fast DDS 和rtps的介绍

    简述 分布式实时数据分发服务中间件协议Data Distribution Service xff08 DDS xff09 是OMG于2003年发布并于2007年修订的开放标准 该标准定义了用于分布式系统的 发布 订阅 通信中间件的API规范
  • 其他笔记 - InfluxDB与MongoDB的对比

    InfluxDB与MongoDB对比 文章来源 本文将比较InfluxDB与MongoDB在常见时间序列工作负载下的性能和特性 xff0c 特别是两者在数据传输率 xff0c 磁盘上数据压缩率和查询性能上的差异 InfluxDB是一个Go实