物联网开源数据库分析归纳
以下是一些top开源数据库,可用于IoT应用程序
InfluxDB
一款开源、分布式、时间序列数据库,由InfluxData
研发。以Go
编程语言所写,基于key-value数据库LevelDB
。除了前端,HTTP
接口与库提供给用户用于数据库交互。InfluxDB
的主要优点或者长处是能够在时段中动态(on-the-fly)聚合数值,不用任何手动介入。
能够被软件例如:Grafana
访问,Grafana
是一个强大的前端工具,为时序数据提供可视化特性。InfluxDB
没有外部依赖关系,像查询SQL
用于查询数据结构,由measurements(衡量)、series(序列)与points(点)构成。每一点由可变key-value对称作fieldset
与timestamp
时间戳构成。值可以是64位整型、64位浮点型、字符串以及布尔型。通过时间与tagset
检索点。InfluxDB
通过HTTP
、TCP
与UDP
存储数据。
特性:
- 完全以
Go
编程语言所写,加速编译成简单二进制文件,无外部依赖关系 - 高性能自定义数据仓库,尤其对时序数据。
InfluxDB TSM
引擎允许有效高速数据存储与压缩 - 插件支持其他数据ingestion消化工具,如:
Graphite
、collectd
、OpenTSDB
- 内置
web
前端工具,用于数据与用户管理 - 胜任将多个序列合并
官网地址:https://www.influxdata.com/
CrateDB
一款开源分布式SQL
数据库管理系统,由Crate.io
公司研发,充分继承了可检索的基于文档的数据仓库。Crate.io
CEO Christian Lutz说:“当我们创建Crate.io
时,我们着手为机器数据时代重新创造SQL。现今,75%客户因其简单使用、性能与多功能性使用CrateDB
,用于管理机器与IoT
。”
CrateDB
使得机器数据应用能够为SQL
开发者所用,在这之前,这些只有使用NoSQL
解决方案才有可能。CrateDB
结合SQL
与搜索多功能性,容易扩展容器。它提供了一个很好的备选给分析数据仓库工具如Splunk
。CrateDB
平台包括分布式SQL查询引擎,提供更快速的联合、聚合与ad-hoc
查询;SQL
集成数据与查询多功能性检索;容器架构与简单扩展自动数据分片。
CrateDB
使用的主要语言是SQL
,但是它也能使用NoSQL
式数据库基于文档的方法。使用来自Facebook Presto
的SQL
解析器,用于查询与预测分析。包含一个内置管理接口,Crate Shell CLI
允许用户建立互动SQL
查询。
特性:
- 高可扩展性:数据库更新非常容易,可以通过仅仅增加新机器更新集群就可以完成;无需集群内数据重新分布,因为这会由
CrateDB
自动完成 - 高可用性:如果任何事情出错,会使数据库高可用,因为提供集群内数据自动复制;甚至硬件或者软件更新都不会影响正常的数据操作。
CrateDB
有自愈问题节点的能力。 - 实时数据消化:提供毫秒级别的查询性能,甚至写在同时发生,去除锁开销
- 支持多种数据:支持关系型与
JSON
文档,也提供blob
存储与检索视频、图像与其他非结构化文件 - 支持地域查询与动态schema,使得
CrateDB
极其灵活,对后端基于Agile
的开发与IoT数据存储非常好。
官网:https://crate.io
Riak时序数据库
源自Basho
的Riak
时序(TS)数据库是一款针对物联网(IoT
)开源分布式NoSQL
key-value存储优化的数据库。用户可以关联大量数据点与时间上的特定点。基于无主架构,也即集群内每个节点能够响应读写请求;分布式数据库自动在集群内同位(co-locate)、复制与分发数据以达到高性能与可用性。
数据访问要求高度优化,支持Apache Spark
集成,使得集成支持Spark Streaming
、数据帧与Spark SQL
成为可能。
Riak TS
可以在数据中心或者公共云上直接安装,AWS Amazon机器镜像(AMI
)也可用于该数据库促进用户于AWS工作框架内体验Riak TS
。
特性:
- 支持增加新节点至已有集群架构中,无需分片sharding;数据自动在数据库集群内均匀(uniformly)分发
- 支持表格与字段定义
DDL
或者数据定义语言,支持存储结构与半结构化数据 - 支持多集群复制,促进系统管理员在内部数据中心与世界上任何地方任何地理位置数据中心复制数据
- 支持用户类
SQL
数据查询,方便灵活接入全球数据库 - 支持应用集成,使用API与不同语言客户端库,像
Java
、Ruby
、Python
、Erlang
、Go
、NodeJS
与.NET
Riak Meso
框架提供有效集群资源管理与‘推送按钮’扩展或收缩RIAK
节点- 支持完全集成
Apache Spark
,针对时序数据操作分析
官网:http://basho.com/products/riak-ts/
MongoDB
一款强大、灵活、免费与开源、基于文档、可扩展的通用数据库,能够横向扩展(scale out)特性,例如:二级索引、范围查询、排序、聚合与地域索引。被归类为NoSQL
数据库,因为使用带schema的类JSON
文档。
增加文档动态边距padding,预分配数据文件用额外空间使用交换一致性能。有效利用RAM
缓存,校正索引查询。支持丰富的查询语言以支持读写操作(CRUD
),以及数据聚合、文本搜索与地域查询。
特性:
- 支持多种快速查询通用二级索引,为用户提供唯一复合地域全文本索引特性
- 支持“聚合流水线”为数据库优化从简单搭建复杂聚合
- 支持在一段时间之后到期的数据TTL(存活时间)采集
- 支持简单易用协议存储大型文件与元数据文件
- 支持
JSON
存储与传输信息。JSON
作为标准协议,对于web与数据库而言是一大好处 - 支持使用
Javascript
函数在服务端对信息处理Map-Reduce
- 支持
MongoDB
管理服务(MMS
)工具,允许用户跟踪数据库与备份数据 - 支持自动负载平衡配置,因为放置于分片中的数据
官网: https://www.mongodb.com/
RethinkDB
一款开源分布式数据库,主要用于存储JSON
文档;能够纵向扩展至多个机器。RethinkDB
看作开发者第一手、最主要的选择,特别是IoT
开发者,用于提供feed实时数据。它完全革命化传统数据库架构,通过调用新的接入模型实时更新应用查询结果。提供灵活的查询语言,用于监控API,非常容易开始与学习。
提供很多优于MongoDB
的好处:
- 先进的查询语言,支持连表、子查询以及大规模并行分布式计算
- 优雅与强大的操作与监控API,与查询语言集成,使得扩展RethinkDB极其简单
- 简单美化管理UI,使可以在几个点击就分片与复制,提供在线文档与查询语言建议
特性:
- 容错:如果主服务器失败,那么支持自动切换到新服务器
- 便于增加节点:实时插拔节点,无需任何一秒宕机时间
- 异步应用编程接口:支持异步查询,通过
Ruby
Tornado
事件机器 - 支持SSL接入,通过公网安全接入
RethinkDB
- 更多功能:支持多种数学操作符,例如:
floor
、ceil
与round
官网:https://rethinkdb.com/
SQLite
一款开源、嵌入式关系型数据库,用于给应用提供一种便捷方法无需开销管理数据。完全可移植、易用、紧凑、有效与可靠。
兼容ACID
,实现大多数SQL
标准,使用动态与弱类型SQL
语法。SQLite
引擎不像其他数据库是单独的进程;能够连接到静态或者动态应用。
特性:
- 无需操作独立的服务进程或者系统,可以在无服务环境中操作
- 无需任何系统管理,需要低配置机器搭建
- 自包含,没有外部依赖关系
- 以
ANSI-C
书写,提供简单易用API - 跨平台:兼容
UNIX
、LINUX
、Windows
、MAC-OS x
等等 - 事务完全
ACID
兼容,允许多进程安全访问 - 支持SQL92中所有SQL查询
- 代码完全测试与验证,没有错误,经常更新
官网:https://www.sqlite.org
Apache Cassandra
视为一款高扩展分布式开源数据库,用于多商用服务器检管理大量结构化数据。与其他开源数据库相比,从可用性、线性扩展性能、简单性与多数据库服务器间简单数据分发方面来说,提供很多额外优良的性能。
由Facebook
研发,首要的目的在于促进邮箱检索,在2008年开源。实现无失败“动态式复制模型”,增加更强大的“列族”数据模型。
特性:
- 大量可扩展架构:无主设计,所有节点在相同层次,提供操作方便性,容易横向扩展
- 无主架构:可以在任何节点上读写数据
- 线性扩展性能:随着更多节点增加,
Cassandra
性能提升 - 故障检测与恢复:失败节点容易恢复
- 灵活与动态数据模型:支持快速读写数据类型
- 数据保护:用提交日志设计与内置安全像备份与恢复机制保护数据
- 可调数据一致性:支持分布式架构下强数据一致性
- 多数据中心复制:提供特性在多数据中心间复制数据
- 数据压缩:压缩高达80%数据,无需任何开销
- 查询语言:提供类似SQL查询语言
官网:http://cassandra.apache.org
物联网开源数据库分析归纳相关推荐
- 中国高校首个Apache开源项目 清华数为物联网时序数据库IoTDB 及可自由组装的大数据软件栈系列组件发布...
四月的清华园,百花冠冕,春意盎然. 4月25日,清华软件学院师生校友相约云端,共贺清华大学109周年校庆,软件学院建院19周年. 由于疫情防控需要,软件学院通过腾讯会议和学堂在线在线直播方式,举办&q ...
- 开源合同管理系统_「物联网架构」最适合物联网的开源数据库
物联网产生大量的数据,包括流数据.时间序列数据.RFID数据.传感数据等.要有效地管理这些数据,就需要使用数据库.物联网数据的本质需要一种不同类型的数据库.以下是一些数据库,当与物联网一起使用时,会给 ...
- 最适合物联网的开源数据库
最适合物联网的开源数据库 the Internet of Things (IoT) can be regarded as a network in which various things are c ...
- 最适合物联网应用的开源数据库
物联网(IoT)由于其固有的特性,需要与其相关的数据库中的某些特征. 本文提供了一小部分适用于物联网的开源数据库管理系统. 术语"物联网"指的是:(i)通过互联网技术互联的智能对象 ...
- 最适合物联网LOT的开源数据库
最适合物联网的开源数据库 https://blog.csdn.net/shnbiot/article/details/80693520
- 推荐几款适用于物联网的开源数据库
推荐几款适用于物联网的开源数据库开源网址 InfluxDB: 开源网址:https://github.com/influxdata/influxdb 官方网站: https://www.influxd ...
- 一种数据库打天下?开源数据库选型应该注意什么?
墨墨导读:开源数据库选择怎么做,应该从哪方面进行考虑? 数据技术嘉年华,十周年盛大开启,点我立即报名!大会以"自研·智能·新基建--云和数据促创新 生态融合新十年" 为主题,相邀数 ...
- 2019 年开源数据库报告发布:MySQL 仍卫冕!
想了解最新的开源数据库技术趋势?一文Get! 作者 | Kristi Anderson 译者 | ScottJiang,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: 如果 ...
- 时序数据库分析 - TimescaleDB时序数据库介绍
背景 随着物联网的发展,时序数据库的需求越来越多,比如水文监控.工厂的设备监控.国家安全相关的数据监控.通讯监控.金融行业指标数据.传感器数据等. 在互联网行业中,也有着非常多的时序数据,例如用户访问 ...
最新文章
- windows下sshfs挂载远程文件夹-server could not connect故障解决
- android 带图片的弹幕,一个可以支持文本,图片,文本+表情的简单弹幕插件
- ACM卡常处理办法(虽然我到现在没遇到)
- linux中间人攻击工具,[web安全]使用ARPspoof进行中间人(MiTM)攻击
- MySQL视图一次踩坑经历
- 第二季-专题18-网卡搭建新通道
- 用户权限框架php,ThinkPHP5ACL用户权限模块用法详解
- tbase 之二 pgbench
- 淘宝双十一自动做任务方案
- vue 图片剪裁插件
- Diligent调查发现,董事会成员是安全和公司治理的关键环节
- 你看我像不像学HTML的人(五)——链接标签、注释和特殊字符
- git push时 please tell me who you are 或 git fatal: empty ident name (for <>) not llowed
- hub_probe()
- 【加油站会员管理小程序】01需求分析
- Java根据模板生成PDF文件
- 202009-4 星际旅行
- 什么是PR值?提高PR值有哪些方法?
- C语言for循环必备练习题
- 直方图均衡化算法原理及bins的理解
热门文章
- PHP学习笔记——文件上传
- 软件工程导论第二篇学习心得
- Mac Vue脚手架搭建
- Python 并发系列 1 —— GIL
- 【CAD.Net】第五课:如何提取CAD CADMText的文本内容(去除格式内容)
- String.java中contains方法
- 新版标准日本语初级_第四十课
- 【无标题】.Net6开发winform程序使用依赖注入学习通http://www.bdgxy.com/
- wx.reLaunch和wx.navigateTo,wx.navigateTo的区别
- Java程序设计基础(第5版)自研笔记