物联网10.物联网数据库 - SQL

Posted CodeAllen的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物联网10.物联网数据库 - SQL相关的知识,希望对你有一定的参考价值。

数据库的作用是保存并灵活运用数据。

数据库在互联网领域已经应用的非常多,且非常成熟,这里主要是说在物联网领域的应用。

打个比方,已知与特定传感器相关的ID,测量时间,以及温度传感器的值。光凭这些数据,是无法理解数据指的是哪个房间的温度的。因此就需要传感器的ID 以及跟房间名字有关的数据。把这两条数据加在一起,才能知道某房间的温度。

常用的数据库有RDB(关系数据库)和NoSQL,其中RDB(关系数据库)是用一种叫作SQL 的专门用来操作数据库的语言来保存和提取数据。

RDB(关系数据库)

关系数据库是人们用得最普遍的数据库,关系数据库具备一种叫作表格的表格型数据结构,其用途在于存储数据库,使用者用SQL 语言来对其执行数据的提取、插入以及删除。

SQL 是一种非常强大的语言,它能用非常简洁的表述写出命令,来把多个表格联系到一起,搜索符合目标条件的数据。此外,使用者还能通过多种多样的编程语言来使用SQL。不过一旦确定了表格,就很难更改其结构了。因此,需要仔细考虑设备传来的数据性质再决定结构。

举个例子,假设由于传感器和设备的增加而导致一些必须保存的数据增多,此时,如果表格结构如图所示,那么就很难再追加新的数据了。

在A 表这种情况下,我们就必须变更表格的条目。而换成B 表就没必要更改表格本身。不过,这样一来就需要生成一个新的表格。

因此,如下图所示,要生成一个结构来把所有传感器数据插入同一个字段里。采用这个结构时,即使来了新的传感器数据,也没有必要更改表格结构或是追加新的表格。不过传感器数据的类型必须是统一的,而且,这样一来就会在同一个表格里注册大量的数据。这种情况下,有时就得花一段时间才能从表格里检索到我们需要的数据。为了解决这个麻烦,数据库提供了一个叫作索引的机制。

关系数据库也不擅长保存图像和语音等二进制形式的数据。虽然能够用一种叫作BLOB(Binary Large Object,二进制大对象)的数据形式来达到保存的目的,不过,这也需要另费一番工夫,因为根据用途,有时需要把图像直接保存为文件,把图像的路径单独保存在RDB 里 

数据库把数据保存到硬盘,因此经常会发生对硬盘的访问(磁盘I/O)。这样一来,这步处理就比其他处理要慢。就系统中而言,这是处理速度方面容易产生瓶颈的一个地方。

以上是关于物联网10.物联网数据库 - SQL的主要内容,如果未能解决你的问题,请参考以下文章

《连载 | 物联网框架ServerSuperIO教程》- 10持续传输大块数据流的两种方式(如:文件)

物联网11.物联网数据库 - NoSQL

开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲

10款经典的物联网操作系统

2019入门物联网教程 物联网开发视频教程 物联网零基础教程 物联网模块教程 物联网技术教程

中国移动的物联网用户破10亿,但它们相比手机用户太穷了