边缘计算和大数据平台相结合,能否引领企业颠覆式的数据智慧变革呢?宏伟的方案我就不说了,内功不达标,就说说个人理解的边缘计算+大数据平台的软件架构应该是什么样子。
第一,很多专家的观点都认为边缘计算就是先在边缘侧进行大量的数据预处理后,再将二次处理过的数据传给大数据平台端,做机器学习之类,这样既能解决带宽问题,又能减少后端的压力。我觉得这个观点不切实际!
为什么呢?这违背大数据计算的一个本质思想——数据应该是原始的。我们怎么去理解这个思想呢?
举个例子,街道摄像头监控,假设一个智能卡点作为一个边缘计算点了吧,那么如果觉得传递高清图片占用带宽和后台存储空间,如果我们的起初的需求只是探测超速,我们就根据预处理方法,通过AI模式识别,只将高速运动的异常图像传递给后台,这看起来很智能,架构很高效!但是这种处理方法会抛弃大量原生图像,后果是什么呢?以后刑侦需要人脸识别数据,防疫需要人员轨迹数据,AI识别系统升级了,需要识别更更多数据的时候,这些未来的需求和计算方法就没有了历史上原始数据做支撑了。因此大数据应该存储一份原生的数据,而不是根据想象中的需求做数据的大规模预先清洗。
那么怎么解决原生数据占用带宽和存储的问题呢?通过合理的数据结构,优化压缩,实现高度的数据压缩,物联网更容易产生大量相同数据,非常适合用压缩解决,这才是边缘计算需要着重考虑的技术问题。这点上在我最近研究的InfluxDB上,可以得到充分的说明,以往的数据库对于时间问题只是作为业务集的一个附属,但InfluxDB作为工业物联网的专业数据库,对数序数据进行了按时间戳的聚合,那么这种时间戳就称为了时序数据结构的主角,通过delta-delta算法就实现了海量数据时间戳的高度压缩,列值也是按列式结构对相同字段和类型的值进行聚合,同样可以实现高度压缩。
第二,那么边缘侧和大数据平台后端到底是一种什么样的合作关系呢?其实道理很朴素:边缘侧尽量以数据源就近优势,减少实时数据的操作延时,大数据平台的后端就发挥强大的数据管理和计算协调能力。这句话怎么理解呢:这就有点类似边缘侧的数据中心只是大数据平台的一个前置高速缓冲区,如果是缓冲区,那么边缘侧就应该和云中心拥有统一的数据映像关系,这种数据映像无论是结构化数据文件也好,非结构化数据文件也好,数据映像哪怕传递给世界各地,对于边缘侧始终认为所有数据就在它们的跟前,实际上看到的只是一个数据平台对真实数据在边缘侧的一个映像池,当真正需要操作数据时再从大数据中心湖仓中传输并在边缘侧加以缓冲。
而且每次边缘侧都应该缓冲足够的数据进行操作,那么在边缘侧还应该有操作这些数据的元数据和计算方法,这两者一定是大数据平台后端统一管理,面向全世界的边缘点分布式分发和升级一致性。这样才能做到边缘侧和大数据平台后端在运行过程中的状态一致性,而不是变成了各自为政。
第三,边缘侧把实时数据写入缓冲区到一定时间和容量后,用数据压缩的形式同步给云中心,数据中心还要为边缘侧的数据访问请求,提供数据回流的缓冲,这叫双向缓冲机制,使得边缘侧在执行实时数据的查询计算,分析比对过程中可以充分利用大数据平台数据湖仓的历史数据,边缘侧从数据湖仓回流必要的数据,针对现场环境做分析计算,这要比什么都放到大数据平台后端自己分析计算省事得多,节省资源得多,通过并行性也快得多,甚至还精准得多。
第四,基于一致性的数据模型、方法和技术,那么就能在边缘侧形成快速的镜像能力,扩展一个新的边缘点,那么大数据后端很快为新的边缘点生成元数据镜像点,新的边缘点在现场连接好物理资源,并建立好系统运行结构之后,就快速加入到大数据后端的一个边缘计算节点,这种威力如果能显现,类似于在云计算中心快速建立一个虚拟节点一样容易。这就有点意思了。
第五,大数据平台的计算与数据湖仓变成了跨机房,跨机架的分布式平台大环境,依然按照就近原则建立与边缘侧的计算节点的网络通讯,减少网络通讯距离,只不过这种分布式架构更灵活,可以从一个机房任意快照其他机房的数据,形成机房资源快照的通讯关系。
第六,边缘侧这种架构真没必要把当下的无线通讯技术扯进来,在物联网的生产端,要想无线区域全覆盖,这种建设成本就太昂贵了,就算给土豪沙特的油田上5G,土豪也得算流量费够不够卖一桶油钱,总之低成本的网络铺设和流量费用降下来再谈边缘计算是比较靠谱的。另外还有一种手段:其实我现在特别关注马斯克的星链计划,通过降低卫星的发射成本,实现全球全覆盖的通讯技术手段,这是不是要比铺设基站搞地区全覆盖的建设成本低得多?总之边缘计算的前提是要靠国家的基础建设铺路才行!