0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择合适的IoT数据库体系结构?

我快闭嘴 来源:千家网 作者:蒙光伟 2020-07-07 11:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在设计IoT数据库时,企业可以有很多选择,但是技术人员必须通过评估不同的IoT数据库体系结构(例如static vs. streaming and SQL vs. NoSQL)来确定最合适的方案。

正确的物联网数据库取决于每个物联网项目的需求。因此,选择数据库的第一步是在数据库架构中进行选择时考虑到物联网项目应用的关键特性。物联网技术人员必须确定要存储和管理的数据类型、数据流、分析、管理和安全的功能要求、以及性能和业务要求。

在确定组织对数据库的需求之后,IT管理员必须评估IoT数据库体系结构以及它们如何促进或抑制IoT数据需求。

了解静态和流式IoT数据库架构

首先,了解静态数据库与流式数据库之间的根本区别。

静态数据库,也称为批处理数据库,用于管理静态数据。用户需要访问的数据作为由数据库管理系统(DBMS)管理的存储数据驻留。用户进行查询并从DBMS接收响应,该DBMS通常但并非总是使用SQL。

流式数据库处理运动中的数据。数据不断地流经数据库,并具有一系列连续的查询,通常以特定于流式数据库的语言进行。流式数据库的输出最终可以存储在其他地方,例如云中,并可以通过标准查询机制进行访问。

流式数据库通常是分布式的,以处理大量数据的规模和负载要求。当前,有一系列商用、专有和开源流数据库,包括Google Cloud Dataflow、Microsoft StreamInsight、Azure Stream Analytics、IBM InfoSphere Streams和Amazon Kinesis。

开源系统主要基于Apache,包括Databricks提供的Apache Spark Streaming,Data Artisans提供的Apache Flink,Confluent提供的Apache Kafka和Twitter所拥有的Apache Storm。组织主要使用流数据库进行实时决策并满足几乎即时的延迟要求。

但是,组织仍然可以从标准查询技术和模式中受益,这就是为什么许多流式数据库还包括静态数据库组件的原因。这些统一数据库结合了流式数据库和静态数据库的优点,因为它们既支持流式数据库的实时功能,又支持静态数据库的查询过程和架构的灵活性。

对于大多数物联网应用来说,最好的数据库是结合了流式和静态功能的统一数据库。也正是由于这个原因,大多数最受欢迎的供应商的数据库都包括两种类型的数据库。

静态与流式数据库

探索更多细微差别的数据库架构

时间序列数据库在很多方面都基于与流式数据库相同的技术,但是两者的开发重点稍有不同。时间序列数据库更具战术性。它们通常涉及在NoSQL数据库上植入特定的索引技术,以实现高性能事件处理。流式数据库更加全面,可实现更广泛的数据分析组合,例如机器学习或窗口化。

SQL vs NoSQL?

SQL数据库是关系和功能静态模式,描述了信息的组织方式。这使它们易于管理。但是,它们会遇到有效扩展的问题。 NoSQL数据库是非关系型的,没有架构,并且通常被提倡为高度可扩展且性能优于SQL数据库。

一些技术专业人员可能会认为NoSQL数据库将是显而易见的选择,因为可伸缩性对于许多物联网应用至关重要。但是可伸缩性和性能只是技术人员选择数据库时需要考虑的两个因素。

在许多情况下,关键因素是易于集成到现有系统中,而在现有系统中SQL更有效。许多物联网工具和系统都采用SQL。在基于较旧消息协议或工业自动化平台的工业环境中尤其如此。

具有创建和管理模式的能力也是一个加分项。尽管技术人员可能会发现模式开发受到限制,必须组织信息。预先投入精力来开发模式可以节省大量的工作,以后可以在非架构环境中组织数据。

当在SQL和NoSQL之间进行选择时,企业可能还会发现将静态数据库与流式数据库结合起来会遇到挑战。从理论上讲,静态数据库或流式数据库可以是SQL或NoSQL。实际上,数据库专门设置为任何一个。对特定统一数据库感兴趣的IoT技术人员可能会发现,数据库设计决定了他们的SQL vs. NoSQL决策。

企业最终是选择SQL还是NoSQL数据库取决于更广泛的功能和技术要求,尤其是可伸缩性、性能以及集成到旧系统中的需求。
责任编辑:tzh

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47324

    浏览量

    407928
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67737
  • 开源系统
    +关注

    关注

    0

    文章

    27

    浏览量

    13917
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库
    的头像 发表于 07-24 11:12 436次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—服务器异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍
    的头像 发表于 07-01 11:13 466次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库被加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 508次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?

    SQLSERVER数据库是什么

    SQL Server 是由微软公司开发的一款 关系型数据库管理系统(RDBMS) ,用于存储、管理和检索结构数据。它是企业级应用中广泛使用的数据库解决方案之一,尤其适用于Window
    的头像 发表于 05-26 09:19 991次阅读

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行数据存储、管理和操作,广
    的头像 发表于 05-23 09:18 918次阅读

    数据库数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复

    MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的
    的头像 发表于 04-09 11:34 655次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复——MongoDB<b class='flag-5'>数据库</b>文件拷贝后服务无法启动的<b class='flag-5'>数据</b>恢复

    数据库数据恢复—SQL Server附加数据库提示“错误 823”的数据恢复案例

    SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份
    的头像 发表于 02-28 11:38 824次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server附加<b class='flag-5'>数据库</b>提示“错误 823”的<b class='flag-5'>数据</b>恢复案例

    买云数据库要购买服务器吗?答案在这里

    数据库通常无需用户购买服务器,由提供商负责底层硬件维护。用户可通过Web界面或API配置和管理数据库,根据需求选择合适的类型、规格和策略。在特殊情况下,如性能或安全需求无法满足,用户
    的头像 发表于 01-17 09:55 531次阅读

    分布式云化数据库有哪些类型

    分布式云化数据库有哪些类型?分布式云化数据库主要类型包括:关系型分布式数据库、非关系型分布式数据库、新SQL分布式数据库、以列方式存储
    的头像 发表于 01-15 09:43 871次阅读

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介绍
    的头像 发表于 01-14 11:25 860次阅读
    MySQL<b class='flag-5'>数据库</b>的安装

    数据库是哪种数据库类型?

    数据库是一种部署在虚拟计算环境中的数据库,它融合了云计算的弹性和可扩展性,为用户提供高效、灵活的数据库服务。云数据库主要分为两大类:关系型数据库
    的头像 发表于 01-07 10:22 804次阅读

    数据库加密办法

    企业对于数据的重视程度不言而喻,也衍生出了数据=资产的概念。但是数据泄漏的事件频繁发生,为了保护数据资产,企业有必要对数据库做一些针对性的措
    的头像 发表于 12-24 09:47 1009次阅读

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分
    的头像 发表于 12-16 11:05 1000次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Mysql<b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    数据库事件触发的设置和应用

    数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据库事件触发的应用。示例使用了postgresql和Python。
    的头像 发表于 12-13 15:14 1019次阅读

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库
    的头像 发表于 12-09 11:05 1051次阅读