20分钟了解物联网开源数据库部署解决方案

Posted 百老

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20分钟了解物联网开源数据库部署解决方案相关的知识,希望对你有一定的参考价值。

1.写在前面

本文针对物联网数据存储提供解决方案的思路,项目特点:结构化数据、传感器节点多(>100)、传感器类型多(>30)、采样频率高(1HZ),在此背景下,一般的关系型数据库已经不能够支撑数据存储,基于免费开源的软件完成数据存储工作,提高数据的读写能力。

2.物联网数据特点

1)多源异构

        物联网数据来源于各种传感器设备,包括温度、风向风速、路灯信号、视频等等,设备厂家还不一定一致,导致形成数据源多源异构的局面,其通信协议还包括很多中,包括TCP、UDP、串口等等。

2)节点多

        物联网大多服务于智慧城市、智慧交通,传感器节点能达到成千上万

3)采样频率高

        物联网节点的数据生成频率高,如地震数据200HZ的采样,其他传感器也能达到秒级采样,另外传感器节点多数处于全时工作状态,数据流源源不断。

3.项目说明

        传感器的采样频率普遍在1HZ,1个月数据量60*60*24*30=259.2万条,一个传感器的半年数据量即可达到1500万条。同时也有8HZ采样传感器,一个月数据2000万条,12个月差不多2.4亿条。

其实传感器种类多,相对可以多设计相应的表即可,不存在影响数据库性能。节点多,针对不同节点也可设计相应的节点表进行存储,故也可不考虑

        目前需要数据库能长期稳定的运行,另DBA的专注方向主要在mysql、免费开源

4.方案思考

4.1.初始方案MySQL

第一次遇到的同学,一般不信邪,单机MySQL撸

尤其对于部分宽表而言,这里的宽表并不是数据仓库中冗余的宽表,而是字段多,一张表涉及几百上千各字段。时间久了,数据库查询性能会受到极大影响,慢查询增多。

通过个人实测,不一定具有代表性,常规表1000万行以下,性能优异

1000万-3000万性能下降,但是不明显,查询依旧可以在1s内响应

3000-5000万性能下降明显,查询时间2-10s不等

>1亿条,查询时间普遍>10s

针对物联网的时序数据,采样没达到1HZ,MySQL是可以对付一两年的,没什么问题

4.2 MyCat+MySQL集群

既然单机MySQL已经满足不了,那第一个想到的是分库分表,利用集群来分摊MySQL的压力。

其实同样是计算题,即通过分摊尽量将单台MySQL的单表控制在3000万行以下

这里可以理解资源来支撑,例如,将分库分表部署在10台机器,那单表总行数在3亿条之前没什么问题(前提:切片合理),另外可能丢失部分原有的MySQL指令功能,MyCat在做分库分表中,子查询功能会部分确实。如果考虑高可用的话,资源还需要翻倍。具体配置方法可参照:

教小白30分钟实现分库分表_数据库分表怎么实现_百老的博客-CSDN博客

分库分表分为垂直分库、垂直分表、水平分库、水平分表

时序数据大多以水平分表为主

  • 将一张表的数据按照某种规则分到不同的数据库中
  • 需确定分片的规则
  • 使用分片的字段查询时,科确定实体库,其他字段查询,查询所有表

优点:

  • 解决了单库大数据、高并发的性能瓶颈
  • 拆分规则封装好,对应用端几乎透明,开发人员无需关心拆分细节
  • 提高了系统的稳定性和负载能力

缺点:

  • 拆分规则很难抽象
  • 分片事务一致性难以解决
  • 二次扩展时,数据迁移、维护难度大

4.3 开源时序数据库

事物的发展总是从一个未知向已知发展的过程,在经历关系型数据库MySQL解决不了物联网时序数据的时候,下一步的方案往往是时序数据库。下图2022年12月排名

        TDengine已经霸榜很久了,物联网的数据是结构化的,因此TDengine采取的是结构化存储,而不是流行的KV存储。物联网场景里,每个数据采集点的数据源是唯一的,数据是时序的,而且用户关心的往往是一个时间段的数据,而不是某个特殊时间点。基于这些特点,TDengine要求对每个采集设备单独建表。如果有1000万个设备,就需要建1000万张表。

        基于这样的设计,任何一台设备采集的数据在存储介质里可以是一块一块连续的存放的,而且按照时间排序。因此查询单个设备一个时间段的数据,查询性能就有数量级的提升。另外一方面,虽然不同设备由于网络的原因,到达服务器的时间无法控制,是完全乱序的,但对于同一个设备而言,数据点的时序是保证的。一个设备一张表,就保证了一张表插入的数据是有时序保证的,这样数据插入操作就变成了一个简单的追加操作,插入性也能大幅度提高。

        很多单位结合时序数据库存储时序数据,关系型数据库存储业务数据已经能够很好的解决碰到的大部分场景。

4.4 离线数仓

        (Hive+HBase+Kettle+Kylin+Azkaban)+MySQL

        时序数据不仅有实时可视化场景,同时也具备长周期趋势分析,而针对长周期的数据查询,对于任何数据库来说,都是比较棘手的。这时候离线数仓的优势就比较明显了,通过数据仓库的分层思想,可以提前将数据进行预处理.

        同时Apache Kylin令使用者仅需三步,即可实现超大数据集上的亚秒级查询。

        1)定义数据集上的一个星形或雪花形模型

        2)在定义的数据表上构建cube

        3)使用标准 SQL 通过 ODBC、JDBC 或 RESTFUL API 进行查询,仅需亚秒级响应时间即可获得查询结果

 Kylin 提供与多种数据可视化工具的整合能力,如 Tableau,PowerBI 等,令用户可以使用 BI 工具对 Hadoop 数据进行分析。

        基于此,对于时序数据的长周期分析可以使用数仓方案。

写在最后:正熵表示更无序,负熵表示更有序。 熵增和熵减只指趋向无序和趋向有序的过程。 一切事物都会自然“熵增”——趋向无序的过程。需要各位的智慧让复杂多变的条件来完成趋于有序的需求。

        

五分钟了解物联网SIM卡 | 我的物联网成长记10

技术图片
【摘要】 SIM卡是移动通信中不可或缺的组成部分,在物联网解决方案中,设备移动上网也需要使用SIM卡。那么,SIM卡是什么?SIM卡有几种?各种SIM卡有什么区别?本文将为您答疑解惑。

通信进化史

过去几百年间,通信技术经历了天变地异般的发展:数百年前的古代,人们通过“烽火传讯”、“信鸽传书”、“击鼓传声”、“旗语”等利用自然界的基本规律和人的基础感官(视觉,听觉等)可达性建立通信系统。

到了19世纪中叶以后,随着电报、电话的发现,电磁波的发现,人类通信领域产生了根本性的巨大变革,从此,人类的信息传递可以脱离常规的视听觉方式,用电信号作为新的载体,同此带来了一系列技术革新,开始了人类通信的新时代。利用电和磁的技术,来实现通信的目的,是近代通信起始的标志。

到了20世纪80年代,随着数字传输、程控电话交换通信技术的应用,进入了移动通信和互联网通信时代。

21世纪之后,从人与人的通信时代,跨入了物与物的互联、感知的智能时代。

而本文的主角,SIM卡,自从1991年诞生后,至今还在不断发展,是通信技术中不可或缺的一部分。

SIM卡进化史

大家都知道,手机上插入一张SIM卡,就可以连到运营商网络,实现打电话等通信功能,没有了它就是一部“裸机”,就不能接入网络运营商进行通信服务。SIM卡作为网络运营商对于我们身份辨别的证件,其起到了重要的作用。技术图片

技术图片

SIM卡(Subscriber Identity Module 客户识别模块)实际是装有微处理器的芯片卡,在这里面存储了数字移动电话客户的信息,加密的密钥以及用户的电话簿等内容,可供GSM网络客户身份进行鉴别,并对客户通话时的语音信息进行加密。

它的内部有5个模块,并且每个模块都对应一个功能:微处理器CPU(8位)、程序存储器ROM(3~8kbit)、工作存储器RAM(6~16kbit)数据存储器EEPROM(128~256kbit)和串行通信单元。这5个模块被胶封在SIM卡铜制接口后与普通IC卡封装方式相同。这5个模块必须集成在一块集成电路中,否则其安全性会受到威胁,因为芯片间的连线可能成为非法存取和盗用SIM卡的重要线索。

SIM卡在与手机连接时,最少需要5个连接线:电源(VCC) 、复位(RST)、时钟(CLK)、接地端(GND)、数据I/O口(I/O)。

技术图片

关于SIM卡的形态,在SIM卡最初诞生之时,其实是一张和信用卡同样大小的卡片。

技术图片

这个大小的卡被称为标准卡。但对于国内手机用户来说,更熟悉的应该是以下三种大小的卡:

技术图片

  • 第二代标准的Mini卡,国内用户俗称的大卡。

  • 第三代标准的Micro卡,俗称小卡。

  • 第四代标准的Nano卡。

这些SIM卡的功能都是一样的,只是随着技术发展,为了适应设备的小型化,SIM卡也越来越小。

那在物联网世界里,物与物之间是怎么感知和联接的呢?

物联网通过设备上的各种传感器如温湿度传感器、RFID标签等感知终端来识别物体,采集数据等。并通过固定宽带、NB-IoT、2/3/4/5G在内的多种网络,将设备接入到华为物联网平台进行互联。若设备使用2/3/4/5G和NB-IoT网络接入,则需要通过SIM卡接入运营商网络。

而随着物联网的发展,设备类型越来越多,设备尺寸越来越小,对SIM卡外部环境的适配性要求越来越高,对SIM卡寿命的要求越来越长,对SIM卡尺寸的要求越来越小,促使SIM卡的形态从插拔式SIM卡,演进到嵌入式SIM卡和vSIM卡。

技术图片

属性

插拔式SIM卡(mini/micro/nano)

嵌入式SIM卡(eUICC)

vSIM

尺寸

适配温度

-25℃~85℃

-40℃~105℃

无限制

寿命

10年

15年

无限制

Nano卡虽然看起来已经很小了,但是它们还需要设备具有配套的卡槽。这个卡槽的结构和走线,对于一些智能穿戴设备(智能手环、智能眼镜等)来说还是太大了。而且插拔式SIM卡里面的用户信息固定不可更改,一张SIM卡就是一个用户与运营商之间的契约,若您想要切换运营商,必须换卡。为了解决这些问题,eSIM和vSIM诞生了。

  • 嵌入式SIM卡:eSIM,也称eUICC(embedded UICC),顾名思义,与传统可插拔的SIM卡不同,eSIM的概念是将SIM卡直接嵌入到设备中。eSIM的本质还是SIM卡,不过它的“卡体”是一颗直接嵌在电路板的可编程的集成电路,其大小比Nano还要小上几倍。因为其可编程特性,eSIM支持通过OTA(空中写卡)方式进行远程配置,更新运营商配置文件,实现网络切换。综上所述,因为eSIM将SIM卡功能虚拟化和设备集成化,使用eSIM时的SIM卡码号的切换也将迎来全新的用户体验: 用户不必再来回插拔SIM卡,而是直接通过与终端交互,通过APP或者云端,即可在全球范围内将终端智能设备连接到所选择的当地网络,且可动态切换,使设备可以始终处于优质网速中。通过这种方式,eSIM不但增强了整体用户体验,也为设备的管理分配带来极大便利。

  • vSIM卡:即virtual-SIM,虚拟SIM卡技术。可以说,vSIM就是eSIM的进一步演进,继承了eSIM的功能,并完全消灭了卡体,直接依托通信模块自身软硬件实现通信。终端设备拥有vSIM功能的通信模块,配合为vSIM特殊定制的底层软件,实现了内置加密存储数据(IMSI、KI等)。在登陆网络、鉴权、通信时,自动处理相应的逻辑,从而实现不需要实体SIM卡也能提供稳定的通信体验。

eSIM和vSIM除了进一步缩小甚至消灭了实体卡之外,它们更重要的功能是解除了用户和运营商的直接绑定,对用户来说,切换运营商变得和切换WIFI一样简单。但对运营商来说,因为用户粘性变小了,这显然不是一件好事,但是他们却也在大力支持eSIM和vSIM,这又是为什么呢?

这个原因其实我们前面已经提到了,就是物联网。对物联网设备来说,传统的插拔式SIM卡已经无法满足其设备上网的需求了。例如,若一个设备需要在全球范围内移动,但它在移动过程中又需要全程联网上报数据,那么负责这个设备的企业该怎么办?办一张有全球上网功能的SIM卡?这样的话上网资费就太贵了。在设备经过的每个国家或区域办一张本地SIM卡,每到一个新地方就换卡?这样的话维护和运营成本又会太高。而eSIM/vSIM的空中写卡能力则能完美解决这个问题,设备到达每个新区域前,仅需联网更新下配置,到了新区域后就可以使用本地资费上网了。所以,物联网设备生产商都会去追求这些新技术,而物联网的海量设备全部需要接入网络,这一块大蛋糕运营商自然不会放过。于是,现在各种eSIM和vSIM百花齐放,都在试图抢占这个市场。

如何选择设备使用的SIM卡

针对采用SIM卡接入物联网平台的设备,特别是针对可移动的设备,华为推出“全球SIM联接”云服务,支持嵌入式SIM卡和vSIM卡方式,提供卡购买、卡管理、设备接入、设备发放能力,借助定向流量、空中写卡和远程设备发放技术,实现设备全球就近接入公有云站点,享受当地资费,向客户提供一站式设备连接管理的优质服务。

技术图片

若您想了解更多,请访问“全球SIM卡联接”云服务。

关于华为物联网可参加学习免费课程视>>>>>《IoT七天开发训练营》或联系华为IoT小助手(微信号:huawei-iot)获取更多课程。

 

以上是关于20分钟了解物联网开源数据库部署解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud开源可分布式物联网(IOT)平台,完整物联网解决方案

物联网编程语言Toit宣布开源,可实现代码秒级部署

物联网开源操作系统,你了解多少?

开源的物联网平台

Thingsboard开源物联网平台智慧农业实例快速部署教程手把手部署UI与动态数据

100个物联网开源开发工具和资源