CIIS 2019 演讲实录丨程良:开源分布式数据库技术支撑 AI 应用的探索

10月26日-27日,由陕西省委网信办、陕西省工业和信息化厅、陕西省科学技术厅指导,中国人工智能学会主办,西安市委网信办、西安市科学技术局、西安国家民用航天产业基地管理委员会、京东云共同承办的2019第九届中国智能产业高峰论坛在“硬科技之都”--西安举办。在27日举办的AI与5G开源生态和技术专题论坛上,Pivotal大中华区数据产品线总监程良为我们带来了题为“开源分布式数据库技术支撑 AI 应用的探索”的精彩演讲。

500

程良

Pivotal大中华区数据产品线总监

以下是程良的演讲实录:  

今天与大家分享开源分布式数据库技术,支撑AI应用的探索。

Pivotal这个公司我相信很多人都没有听说过,这个公司是在硅谷的一个开源软件公司,它的开源软件代码贡献量在Github上全球排行第4,我们的产品和技术都是开源的,主要涵盖云计算、大数据、AI相关的一些前沿技术。Pivotal的产品非常广泛的应用在我们的日常生活中,在中国,大家都知道的12306火车订票系统,关键的余票和订单查询都是Pivotal的数据产品去支撑高并发、低时延需求的,大家经常用到的APP,像大众点评,航旅纵横等都是Pivotal的技术在后面提供支撑的,所以说,在中国衣食住行很多方面都有Pivotal产品和技术的支撑。

我们看今天这个论坛的主题是AI和5G,AI和5G对于大数据这方面最大的影响,一方面AI对数据处理的智能化有很大的提升,AI在2016年AlphaGo战胜人类九段棋手之后取得了突飞猛进的应用,对于自然语言分析、图像、视频、音频这些数据的处理和分析都取得了很大的进步。另一方面5G开始在全球商用,开始构建万物互联的世界,它能够处理更低的时延,更多的数据源,更大的数据量,对大数据实时分析带来很大的推动作用。

我们结合国际分析研究所在前些年提出来的数据分析演进的三个阶段,看到过去的描述型分析,面向未来的预测型分析,决定现在的运营性分析,要实现这些能力5G和AI是至关重要的基础支撑。

数据处理和分析技术方向大概每十年会是一次大争论,如图所示,这个演进过程我就不一一赘述了,可以看到在这个过程中,数据库的生命力始终非常旺盛,数据处理的核心到今天SQL能力依然很关键,随着技术和数据量的增长不断发展,分布式数据库在现在AI和5G时代,在海量数据分析时代起到了非常重要的作用,可以说在目前大数据分析里面,分布式关系数据库依然是主导地位。

下面我们可以看一下分布式关系数据库架构演进,传统的单服务器数据库在处理能力上只能垂直扩展,在数据量增长到一定阶段时就无能为力了,这个时候第一步就是能够让数据库和服务器进行横向的水平扩展,在第一阶段的分布式数据库产品中大家可以看到依然是在共享磁盘,这会带来IO瓶颈,所以第二步是实现完全无共享的分布式数据库,这时的水平扩展能力非常强,能够轻松地处理PB级别的数据量,随着数据节点的扩展性能线性提升,这样的一个分布式集群的运行是由这个管理节点来调度和管理的。

Greenplum是世界上首个,也是目前唯一一个开源开放的分布式数据库,核心代码是开源,架构是开放的,任何商用X86服务器都可以运行Greenplum。下面我给大家介绍一下,分布式数据库怎么做到超强的分析和处理能力的。更强,首先它是可以运行在任意的基础设施上,可以运行在公有云、私有云或物理机等任何地方;任意数据包括任何类型的结构化数据,半结构化数据,甚至包括图像、解析后的音频、视频数据也能够进行关联分析;任意语言,很多开发语言,SQL,Python,R, C, Perl都可以在库内运行。更快,是指它的实时处理能力很强,每秒有百万条记录加载和实时查询分析的能力,这也是目前在市场上大家对下一代数据库非常期望的交易和分析一体化,我们叫HTAP特性;更高,则体现在数据库要能够做到智能化分析,支持人工智能算法并同时能够模型驱动。

在这我们看一下,Pivotal和一些全球知名大学(包括UC伯克利大学,UC圣地亚哥大学,斯坦福大学和弗罗里达大学等)一起研发的MADlib,它也是Apache开源顶级项目。我们把常用的机器学习和深度学习的算法,能够封装在分布式的数据库中,直接通过SQL来调用,极大简化机器学习入门的门槛。MADlib详细资料大家会后可以去相应的网站(https://github.com/apache/madlib)了解,这是一个非常全面的人工智能算法库,它目前包含近百种常用的、日用的精品算法,涵盖了机器学习和深度学习的很多领域。同时Greenplum也支持其它的流行开源算法库,Greenplum加MADlib这两者结合可以说目前在5G和AI时代数据分析的利器。

举两个基于分布式数据库实现人工智能探索的案例,第一个案例是把城市里的一些传感器数据,包括像天气的、社交网络、地理位置、地图信息,这些物联网数据收集到分布式数据库中,比如像大的暴雨、局部地区暴雨影响路面交通,城市管理人员就需要提醒相应的市民,出行的时候尽量避开有积水的地方,提高城市安全,它也会结合一些空气质量数据,包括天气数据预测和分析在什么地方会有危险出现,会有什么流行病爆发,做提前的准备和预警。所有这些都是通过收集海量的物联网数据,收集在Greenplum数据平台里面去分析。

它的能够达到像气象灾害预报,但它并不是向数据库收取传统结构化的,包括天气的数据、空气质量的数据,以及道路、网络、交通数据、红绿灯信息,都是存储在分布式Greenplum平台里面,包括我们提到的社交网络信息,这些信息通过Greenplum、MADlib这些开源技术,能够做到像灾害天气和出行路径提示,包括一些紧急情况的城市预警。

另外一个案例,也是一个城市管理实现车辆和人员的行为动态监测,这个也是采用Greenplum分布式数据库技术结合MADlib来去实现的,它要解决的问题是什么呢?它包括人脸卡口,车辆卡口,交通路口等收集等信息,因为现在一些城市对于机动车和电动车都会有RFID标签,这些信息通过不同的监测点都会收集下来相应的位置信息,这些信息公安机关要分析整个流量情况,包括有没有潜在问题,比如说有些人员突然聚集在一起的异常情况,需要能够预警。

通过Greenplum+MADlib+ARIMA结合在一起,实现时间时序模型,实现行为监测与预测,比如在一天24小时里面特定的地域或者十字路口,相应的行人、车辆通过的信息,从机动车和电动车收集的数据一天都在几亿条以上。按照小时为间隔的话,如图所示它的预测准确率还是非常高的,达到90+%。例如下一个小时经过这个地方的车辆数量,如果跟预测数据有比较大的偏差的话,通常会是车辆可能突然聚集在一起,也有可能是车辆在当前地点有交通事故造成的。

除了政府行业使用分布式数据库加上机器学习算法库来实现智能分析,我们在金融行业也有非常经典的案例,比如某大型金融机构每秒钟有上百万条交易,通过Greenplum来实现对可能的欺诈等行为进行预警和分析。

由于时间关系,今天先跟大家分享这些内容,也欢迎各侠能够参加我们的Greenplum开源社区交流,谢谢大家的时间!

全部专栏