物联网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持续传输大块数据流的两种方式(如:文件)
开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲