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

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

    关注

    2900

    文章

    44052

    浏览量

    370080
  • 数据库
    +关注

    关注

    7

    文章

    3752

    浏览量

    64220
  • 开源系统
    +关注

    关注

    0

    文章

    25

    浏览量

    13671
收藏 人收藏

    评论

    相关推荐

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库
    的头像 发表于 10-31 13:21 84次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—通过拼接<b class='flag-5'>数据库</b>碎片恢复SQLserver<b class='flag-5'>数据库</b>

    GPGPU体系结构优化方向(1)

    继续上文GPGPU体系结构优化方向 [上],介绍提高并行度和优化流水线的方向。
    的头像 发表于 10-09 10:03 193次阅读
    GPGPU<b class='flag-5'>体系结构</b>优化方向(1)

    数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障: SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库
    的头像 发表于 09-20 11:46 260次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>出现823错误的<b class='flag-5'>数据</b>恢复案例

    软通动力数据库全栈服务,助力企业数据库体系全面升级

    。在企业节与"数博会"展区,软通动力受邀分享数据库专业服务全栈解决方案,并重点展示以全栈云服务为核心的数智化能力。 软通动力高级数据库服务专家刘江云在开放演讲中,分享了软通动力数据库专业服务全栈解决方案与服务优势。该方案构建了端
    的头像 发表于 09-05 15:30 272次阅读
    软通动力<b class='flag-5'>数据库</b>全栈服务,助力企业<b class='flag-5'>数据库</b><b class='flag-5'>体系</b>全面升级

    嵌入式系统的体系结构包括哪些

    嵌入式系统的体系结构通常是一个复杂而精细的架构,旨在满足特定应用需求,同时兼顾系统的可靠性、效率、成本和体积等多方面因素。以下是对嵌入式系统体系结构的详细解析,包括其主要组成部分、层次结构以及各部分的功能和特点。
    的头像 发表于 09-02 15:25 672次阅读

    大型数据库选择WDS作为其数据库一体机产品存储底座

    大型数据库选择WDS作为其数据库一体机产品存储底座
    的头像 发表于 07-25 09:42 205次阅读
    大型<b class='flag-5'>数据库</b>可<b class='flag-5'>选择</b>WDS作为其<b class='flag-5'>数据库</b>一体机产品存储底座

    嵌入式微处理器体系结构有几种

    嵌入式微处理器体系结构是指嵌入式系统中的微处理器采用的硬件结构和设计技术,以实现特定的功能和性能要求。在嵌入式系统中,微处理器被用于控制、通信、计算、数据处理等不同的任务。根据不同的功能要求,嵌入式
    的头像 发表于 04-21 16:29 1118次阅读

    选择 KV 数据库最重要的是什么?

    最后我也没问清楚他们业务存啥(推测是这块业务数据比较机密),但确实业务本身对可靠性要求非常高,开源 Redis 自身的可靠性无法满足他们的要求,最终该用户选择使用 GaussDB(for Redis)数据库,当前
    的头像 发表于 03-28 22:11 653次阅读
    <b class='flag-5'>选择</b> KV <b class='flag-5'>数据库</b>最重要的是什么?

    无模式数据库的利与弊

    数据管理需求日益多样,无论是金融服务、游戏还是社交媒体行业,都要求支持实时数据处理和快速迭代,无模式数据库因其灵活性和易用性而逐渐成为开发者的新选择。那么,无模式
    的头像 发表于 12-16 08:04 468次阅读
    无模式<b class='flag-5'>数据库</b>的利与弊

    oracle数据库的使用方法

    数据库的使用方法,包括安装和配置、基本操作、高级功能等方面。 一、安装和配置 安装Oracle数据库前,您需要先下载合适的安装包,根据操作系统的要求选择相应的版本。安装Oracle
    的头像 发表于 12-06 10:10 1147次阅读

    oracle数据库alert日志作用

    Oracle数据库alert日志的作用、结构和重要内容。 一、alert日志的作用 异常检测和排查:alert日志能够记录数据库引擎和实例发生的异常情况,如启动、关闭、崩溃和重启等。当数据库
    的头像 发表于 12-06 10:08 1157次阅读

    什么是JSON数据库

    如何理解JSON数据库?作为NoSQL数据库的一种类型,JSON数据库有哪些优势呢?JSON数据库如何运作,它为应用程序开发者带来了哪些价值呢?文章速览:什么是JSON什么是JSON
    的头像 发表于 12-02 08:04 803次阅读
    什么是JSON<b class='flag-5'>数据库</b>

    NoSQL 数据库如何选型

    什么是NoSQL数据库?为什么要使用NoSQL数据库?键值数据库内存键值数据库文档数据库列式数据库
    的头像 发表于 11-26 08:05 424次阅读
    NoSQL <b class='flag-5'>数据库</b>如何选型

    navicat怎么导出数据库文件

    。 首先,确保你已经安装了Navicat,并已成功连接到目标数据库。接下来,按照以下步骤进行导出数据库文件: 步骤一:选择目标数据库 在Navicat主界面左侧的连接管理器中,
    的头像 发表于 11-21 10:53 7778次阅读

    汽车EE体系结构中的功能域介绍

    汽车EE体系结构中的功能域介绍
    发表于 11-15 11:37 366次阅读