七牛云陈超:七牛云机器数据分析平台 Pandora的最佳实践

9 月 10 日晚,七牛云(www.qiniu.com)主办的「云加数据,智驱未来」数据科学系列论坛如期举行。在直播中,七牛云产品与研发副总裁陈超为我们带来了主题为《七牛云机器数据分析平台 Pandora 最佳实践》的精彩演讲。以下是演讲实录。

陈超,七牛云产品与研发副总裁,负责七牛云(www.qiniu.com)的产品规划与研发体系,近年来专注于机器视觉、分布式计算与机器学习等领域,有非常丰富的分布式计算系统及大规模机器学习系统的设计与实现经验,在分布式数据库方面也有深入研究。

今天为大家带来的演讲主题是《七牛云机器数据分析平台 Pandora 最佳实践》,在介绍 Pandora 之前,我们可以先了解七牛云目前的整体架构。依下图所示,图中最下面一横是七牛云 cloud 的部分,包括直播云、实时音视频云、摄像头的监控云,其中所有的数据都汇聚到脱胎于对象存储的异构数据湖中。数据湖之上是视觉数据的分析平台以及机器数据分析平台。我们今天讲的 Pandora 就隶属于机器数据的分析平台。

Pandora 在七牛云整个版图里,属于机器数据智能的这个模块。机器数据包含几个部分,像是 Iot 的数据、各种设备的数据都可以成为机器数据。

什么是机器数据

我们对它有个简单的定义:机器数据是任何机器或者系统所产生的数据。比如说服务器产生的数据、传感器产生的数据、还有各种应用产生的数据,包括网络设备等等。机器数据的一个特点,它是由大量的时序的非结构化的数据组成的。对于我们处理定义的机器数据来讲,没有预先定义好的 schema,并且它的数据格式特别多,而且很难预测和定义,也就是说很难说预知是什么样的格式进来,或者说我预先定义好它的格式。

Pandora 的特点和采集流程

Pandora 定位作为一个机器数据的实时分析平台,它有哪些特点呢?第一是 Pandora 原生支持 schema free 的数据。也就是说可以随时动态地添加删除字段,Pandora 更进一步地原生支持了 schema on read 的能力,所以产生的数据怎么样,进 Pandora 就是怎么样,不需要经过任何的这个加工。同时我们支持模型加速的功能。通过SPL分层持久化、列式存储、CodeGen、向量计算等技术对数据模型进行迭代优化。第二个特点是云原生的架构,Pandora 的整个体系可以避免ETL加工带来的预处理建模困难,同时计算(动态资源)和存储(静态资源)分离,降低成本,提高计算弹性,另外完整的热-温-冷数据生命周期管理,可以大幅降低存储成本。第三,是我们比较有特色的一个点:SPL 强大的分析表达能力。支持丰富机器学习命令,满足大量机器数据分析及 AI 场景;同时支持 SPL 实时计算,结果导出对接系统,完成业务闭环第四点是我们有一个强大的系统扩展能力。也就是说你可以把 Pandora 看成一个 os,在其中可以利用 Pandora 的各种原生能力,去打造你自己的 APP 生态系统,SDK 支持对于平台的可视化系统、业务组织形式进行可插拔扩展。同时 Pandora 不仅可以支持 SQL,更能够通过 Python, Go+ 等扩展 SPL 计算能力;另外支持平台图表能力输出,能够集成到业务系统,完成数据价值输出。

下面是 Pandora 的全景图。从大数据分析的角度来看,先收集,然后处理、清洗,最后再分析和应用,是所有大数据厂商的通用做法。Pandora 在其中有一点是独特之处,就是 Pandora 支持原始数据格式的实时索引,也就是说除了分析之外,可以同时支持检索服务。整个检索和分析被统一到 SPL 的分析引擎里面,能够同时支持检索和分析服务。意味着用户不用在意是检索还是分析,可以一站式解决。

Pandora 的数据采集管理流程如下图所示,通过这样的流程,只要有数据产生,都可以有一个非常方便的方式来取得。

Schema On Road

在数据取得之后,就是 Pandora 的重头戏——Schema On Read。我们可以从这张图上可以看到 Pandora 的不同之处。Pandora 可以在原始数据直接上传后,在分析时进行动态解析。也就说只需要一份原始数据,我们多种数据模型就能解答不同用户的所有问题。这样的优势在于你可以针对各种数据进行各种建模。针对变化的数据格式,只要在 Pandora 里做一些小小的变化便可完全兼容。这是纯粹的日志系统做不到的。

SPL:机器分析数据的标准语言

SQL是我们机器数据分析的标准语言。通过一行的 SQL 的命令,便可以检索,分析,可视化告警。支持对原始数据进行直接处理,并且专为时序数据做了优化,大家可以看到我们之前对机器数据定义的时候,包括大量的时序可以结构化数据,所以给了我们很大的优化空间。另外我们在数据湖里做了多存储引擎,并且可以接各种各样的存储引擎。最后我们写了一个公式 SPL = SQL + Unix Pipeline,也就是说通过 SPL 我们可以做搜索,我们甚至可以写解析的条件,但是又不用像写代码麻烦。

通过提供机器数据分析高级语言,支持复杂的搜索、聚合以及关联分析的能力,处理能力更加强大。支持各种数学运算、关联分析、事务分析、预测分析等。在事务分析中,可以分析连续相互关联的事件集合,这也是 Pandora 特别适合安全场景的原因。

目前我们把 SPL 的能力也集成到了 platform 里,用户可以非常简单地去做数据接入,特征激活、算法的建模、效果展示、价值应用等,都可以在其中完成。

Pandora 扩展应用

有了 SPL 能力以后,Pandora 支持用户在上面沉淀自己的知识。所以我们的理念是,Pandora 不是一个 platform,我们更希望它在传递价值。也就是说希望以 app 的形式,能将知识沉淀在 Pandora 的 App Store 里。Pandora 的 App Store 作为完整产品架构不可获取的一部分,形成了从数据接入到数据展示的完整链路。

存储架构:数据全生命周期管理

面对数据量较大的,并且强调实时处理的情况,我们在 Pandora 的存储架构中,构建数据的全生命周期管理。在成本和性能的双重考虑下,我们在连贯的过程中,实现计算与存储的完全解耦,资源应需而变;数据可实现历史数据长期存储,积累的海量历史数据可以支持未来的机器学习、AIOps 等场景。

同时 Pandora 也在努力与七牛云的存储进行对接,使大家在直接对七牛云云存储进行分析时,也能享受到尽可能高的性能。

技术点分享

我们做了正向索引与倒排索引以及行列混合存储,也支持分层的存储和 On Read、CodeGen、向量化。TimeSeries 的优化可以反映到计算引擎中,让用户体验到更快的性能和更稳定的服务。

Pandora 案例

01 某大型保险公司

主要用于对信息系统整体日志进行全生命周期智能管理,实现对日志的统一采集,合并处理,集中存储,关联分析与智能管理。适用于解决运维开发领域的三大场景:IT 运维,安全审计,业务运营分析;可提供包括线上监控、运维数据支撑、问题诊断、故障预警,资源监测、用户行为审计、规则提取、归档、攻击溯源、业务走势分析等服务。

02 某顶尖手机制造企业

第二个案例是某顶尖手机制造企业监控诊断和根因分析。手机在出厂前都要有一个测试的过程,但每次测试的时会产生很多很多的测试的数据,来反映手机的故障情况。在没有制造系统知识的时候,需要员工要去看,非常复杂。在 Pandora 的赋能下,手机的制造厂商可以远程监控我们的这个车间的生产质量,并且很快地定位到故障原因。

03 某领军半导体企业

下面是半导体的企业案例,半导体的产业链非常长,在源头是一个叫做单晶炉的设备,用来提炼单晶硅。Pandora 可以帮助单晶硅做健康度的检查,也就说我们可以及时发现单晶炉的故障,在故障发生时及时报警,避免原材料无谓的投入,及时止损。从图中我们可以看出,Pandora 通过多个维度做分析,通过单晶炉里面的传感器收集数据,对设备进行生产监控和预测性维护。

04 智能网联车分析

最后一个案例是智能网联车,Pandora 可以判断车子的数据,比如什么时候打了方向盘,什么时候踩了刹车等等,在 Pandora 里都可以一目了然。

大家可以通过以上几个案例看出,Pandora 所针对的数据,都是由机器产生的、非常不规则的、带有 time stamp 的数据。所以我们在金融、制造业、车联网等等都有比较有意思的应用。Pandora 也希望通过大数据、AI 手段,为更多相关产业赋能,实现产业升级。