数据智能

性能提升百倍,看Zilliz如何用GPU玩转数据分析

人工智能时代,GPU数据库势不可挡

2018年01月23日
调研 | 李喆  王琦 撰写 | 王琦
  • 数据智能
  • 数据库
  • GPU

大数据时代,在线数据变得异常丰富,多来源、实时、大量、多类型的数据远远超出了目前典型数据库管理系统获取、存储、管理和分析的能力,常规的CPU数据库在进行大数据分析时效率很低,已经无法满足日益增长的数据精细化运营需求。

凭借突出的并行运算能力和高性能的内存使用效率,GPU已经被广泛应用于大数据分析和深度学习编程等诸多的需要高强度运算的非图形处理领域,俨然成为分析型数据库的突破口。

100倍的速度,1/10的硬件成本

成立于2016年3月的Zilliz,是一家专注于人工智能技术和大数据技术的初创公司。

 2017年公司发布的OLAP数据库系统,基于GPU硬件加速,与传统的CPU数据库相比,可以将数据处理性能提高30-100倍,同时降低10倍硬件成本、20倍计算能耗,允许企业使用机器学习、商业智能分析和可视化技术更快速地分析海量数据,为企业提供了新的技术方案。

 Zilliz创始人星爵,曾任职于数据库领域巨头Oracle美国总部,负责数据库系统产品的核心研发工作,他作为奠基人之一研发的Oracle 12c版多租户数据库模块和容器数据库模块已经为Oracle创造了超过10亿美金的营收。

星爵认为,之所以在这个时点发布一款GPU数据库,一方面是需求驱动,更重要的是硬件性能的提升。上层软件受下层硬件的约束,而英伟达等芯片厂商已经为GPU建立了良好的生态圈,帮助开发者降低了门槛。

扬长避短,充分发挥GPU运算能力

GPU能够在大数据分析和深度学习领域广泛应用,有其内在优势。

从内部结构上来看,CPU中70%晶体管都是用来构建Cache(高速缓冲存储器)和一部分控制单元,负责逻辑运算的ALU模块并不多。控制单元等模块的存在都是为了保证指令能够一条接一条有序执行。

这种通用性结构对于传统的编程计算模式非常合适,但对于并不需要太多的程序指令,却需要海量数据运算的大数据分析需求,这种结构就显得有心无力了。

GPU的设计初衷是为了应对图像处理中大规模并行计算,与CPU少量的逻辑运算单元相比,GPU整个就是个庞大的计算矩阵,GPU具有数以千计的计算核心,将GPU应用在大数据分析,可实现100倍数据吞吐量。 当然,GPU由于延迟较高和分支预测较差等原因,在数据写入和删改等方面存在一定劣势。但OLAP工作的重点本身就不是事务处理而是查询、数据分析、决策支持。

在牺牲了部分写入性能的条件下,Zilliz的OLAP数据库恰好发挥了GPU擅长处理需要大量数学密集型运算任务的特点,大幅提高海量数据的查询和分析速度。

小步快跑,直面客户需求

业务形态的多样化造成了数据分析应用的碎片化,即使是Oracle这样在数据库领域投入几十年的龙头,也无法满足所有用户的应用场景。

对于一家初创企业来说更是如此,市场需求变化如此之快,以至于越长时间的投入意味着越大的风险。Zilliz则沿用互联网产品的思路,首先将数据库的核心功能研发出来,然后与客户需求直接对接,再来打磨产品,丰富数据库的功能。

对于数据库平台来说,其核心部分无疑是执行引擎。其核心作用体现在高并发运算执行、多级缓存调度、向量化流水线运作和多显卡算力协调等多个方面,执行引擎的性能高低体现了一个公司的研发能力。

目前公司推出的数据库产品已经在公共安全、金融、电信、互联网等多个行业的众多企业中进行测试,其查询分析性能比传统数据库至少提升了一个数量级。

无感迁移,打消用户使用新技术的疑

在众多的CPU硬件数据库当中,GPU数据库无疑是小众产品。用户在上线新的数据库时,心中难免产生疑问,存储在CPU服务器上的大量数据如何快速迁移到GPU服务器当中?传输过程会不会耗费大量的时间和算力?

而Zilliz“无感迁移”的产品理念很好地解决了这些疑问。在产品设计之初,研发团队就有针对性地将ETL工具做了相应的兼容,并提供标准的SQL接口,使用户在接入新的数据库时,不会对其业务层面产生影响,尽可能的减小用户在数据迁移过程中的代价和痛苦。

另外,为了实现数据在CPU服务器与GPU服务器的快速交换,Zilliz选择与IBM和英伟达进行合作生产一体机产品,该产品搭载英伟达的GPU服务器芯片,并采用IBM与英伟达合作开发的NVLink技术作为支撑,大大提升了不同芯片类型服务器的数据传输速度。

 不仅仅是产品上的合作,作为一家初创企业,Zilliz更希望能够借助IBM成熟的销售渠道推广客户、打开市场。

一体机方面,除了IBM POWER服务器的方案,Zilliz也提供X86构架的方案,只要服务器上面搭载英伟达的服务器显卡,Zilliz的解决方案都能够支持。产品上的纵深将为其打开市场提供优势。

性能提升百倍,看Zilliz如何用GPU玩转数据分析

近期,爱分析对Zilliz创始人星爵进行了访谈,现将部分内容分享如下。

根据客户需求痛点,专注研发产品核心

爱分析:Zilliz是从什么时间开始研发数据库产品的?

星爵:我们是从2016年3月份开始研发Zerone这个产品的,到2017年我们发布了第一代产品,目前我们的主要工作是产品的升级2.0版本。整体来说,数据库软件的研发周期确实比较长,是一个持续的投入过程。

 我们首先将数据库的核心功能和核心引擎做出来,再来丰富数据库的功能。市场变化比较快,长时间的投入研发风险比较大,因此,我们希望尽快的打造出一个精炼的内核,与客户需求直接对接,再来继续打磨产品,像互联网思维一样,快速的迭代产品。

爱分析数据库的核心由哪些部分组成?

星爵:就我们的产品来说,它是一个基于GPU加速的OLAP类型数据库,执行引擎毫无疑问是它的核心。执行引擎拆分来看的话,会分成很多部件,比如怎样执行高并发运算,怎样利用GPU数据调度缓存,怎样做向量化的流水线,多块显卡怎样去调度算力等等。

 核心的另外一块是存储管理,那么我们要看怎么更好调度多级缓存,怎么处理在GPU上的数据压缩问题等。

再有一点就是,在有了好的执行引擎和存储管理之后,怎么样封装一个好的产品,怎样去兼容现有的数据结构,不管在设计上还是工程上都是一个很大的挑战。

GPU具有高并行运算特点,更适用于大数据、人工智能的领域

爱分析有哪些具体场景比较适合GPU引擎数据库?

星爵:企业现在的数据分析需求发生了很大的变化,数据量指数型增长,数据分析速度需要变得更快,而且客户希望通过数据分析结果增强自身的运营能力,整个大数据行业可以说变得“更大、更快、更强”。

 在行政、金融、电信、互联网等领域,现有的数据库结构很难满足他们的数据分析需求,数据产生的速度远大于数据分析的速度。

举个例子来说,一个地区级的电信企业每天产生的数据量可能就有几个TB,但他们要很好地分析这些数据的话,可能要四五天时间,速度无法匹配,造成的局面就是数据丧失了时效性。

 再举个例子,游戏公司对用户的行为分析是十分看中的,他们可能想了解用户对于刚上线的游戏皮肤的喜好程度,希望很快拿到结果,显然现在的数据库无法满足。

爱分析公司提到的“无感迁移”功能具体指什么?

星爵:无感迁移不是一个功能,而是我们的一个理念。一个技术的应用本质上要服务于业务的需求,我们希望用户在接入我们的新数据库的时候,他的业务层面不会发生改变,所以我们提供一个标准SQL接口、提供各种ETL工具,尽可能的减小用户在数据迁移过程中的代价和痛苦。

 ETL这部分跟之前是一模一样的,我们有意识的做了一个兼容。ETL本身已经形成了一套完整的生态,企业一般不愿去改变。另外,我们还提供了标准的SQL接口,方便用户使用。

爱分析相比CPU,有哪些应用场景是GPU数据库独有的?

星爵:我认为在人工智能领域,GPU数据库是有着独特优势的。如果把人工智能比做一个火箭,那么深度学习算法就是火箭的引擎,而大数据就是火箭的巨型燃料舱,二者相互作用才能推动人工智能的快速发展。

 我们知道,数据量越大、数据维度越好,越是能够训练出一个更好的模型。目前的状况是,海量的数据摆在这,算力却达不到要求,传统的CPU数据库已经很难支撑深度学习的数据量要求,这已经成为一种共识。

 GPU代替CPU处理大数据显然已经成为一种趋势,我们的GPU数据库能够更高效的对数据进行组织、查询、分析,而且我们打通了数据库和Tensorflow的壁垒,在我们的数据库中可以直接调用TensorFlow的资源,很好的完成深度学习的绝大部分任务,这一点传统的CPU数据库是做不到的。

爱分析有人指出GPU延迟较高还有分支预测较差,那么数据的写入是不是没有CPU做得好?

星爵:GPU在这方面的短处是存在的,但数据的写入是OLTP来做的,我们做的是OLAP,主要负责数据的查询和分析,所以我们的产品本身不会涉及过多的数据写入和更新,充分发挥了GPU的长处,而避免了它的短处。

爱分析对于这种新技术的推广Zilliz是怎么考虑的?

星爵:推广模式我们分两块,对于私有部署,我们采用一体机的方案。最近,我们跟IBM合作推出了一款OLAP一体机产品,性能在全球范围内同类产品中也算是顶尖的,主要面向行业中的头部客户。另外,我们也在推动云端的方案,提供云端SaaS服务。

 对于这种底层的基础软件来说,我们认为收入还是主要来自于线下的直销,或者说私有部署,预计在将来我们95%以上的营业额都来自于线下,但云端这个方向我们也不会放弃。

与IBM进行深度合作,提升产品性能同时开拓客户渠道

爱分析与IBM的合作方式是怎么样的?

星爵:我们的GPU芯片是NVIDIA英伟达提供的,IBM负责大数据处理机的整机方案。之所以选择IBM,是因为目前只有NVLink技术能够实现GPU与CPU的数据快速交换,而研发者就是IBM和英伟达,应用这种技术可以将我们产品的性能提升1倍以上。

 而英特尔的X86架构,只能支持PCI-E数据接口,数据传输效率较低。我们的低配数据库服务器采用X86架构。。

爱分析市场中X86架构的服务器应该占据多数,会不会影响到我们的业务?

星爵:我们既有IBM POWER服务器的方案,也有X86构架的方案,只要服务器上面有英伟达的服务器显卡,我们的方案都能够支持,在一体机方面我们还是有这个纵深的。当然了,我刚才提到,与IBM合作生产的一体机应该是我们性能最好的产品。

为客户提供更优惠方案,收费模式仍在探索

爱分析会考虑将Zilliz的技术开源吗?

星爵:开源是一种市场策略,好处是在技术研发之初,可以吸引一批程序员进行共同开发。但开源并不意味着免费,也是要追求利润的,我们暂时没有开源的打算,但将来也不排除这种可能。

爱分析Zilliz的产品是按照节点收费的吗?

星爵:其实我们也在探索自己的收费模式,对用户来说,如果按照节点收费的方式其实是不公平的,因为现在用户在每个节点上配备的GPU数量不一样或者型号不一样,所达到的效果也是不一样的。 

我们是这么考虑的,在云端能不能按照用户使用的数据量的大小来收费,一体机方面我们的收费也可能更加灵活,并不一定按照节点收费,目的是希望能够为用户提供一个更公平更实惠的方案。

爱分析Zilliz目前团队有多少人? 

星爵:目前我们的团队有20多个人,以研发为主,1-2个人负责市场方面的工作。  

国内OLAP数据库市场增速加快,为公司产品提供更大空间 

爱分析如何看待国内市场OLAP占有率比国外市场小的情况? 

星爵:OLTP是数据的来源,银行产生的交易,肯定要先写入TP当中嘛,只有在TP中积累了足够的数据之后,企业才会想到怎么去用这些数据,所以,TP先行是个必然的趋势。

美国企业信息化发展较早,数据的采集和运营已经比较成熟,中国在数据方面发展还是比较慢的,美国市场AP占40%,而国内市场AP只占10%,确实还存在差距。

这种局面我认为刚好为AP的发展提供了机会,将来国内数据库市场的增量很可能来源于AP的增长而不是TP。事实上也正是如此,全球范围内AP的增速确实也确实要比TP快很多

大数据时代,更强调的是对数据更精细的分析,要考虑如何将分析的结果用起来去指导业务。

爱分析OLAP未来的发展趋势会变成什么样?

星爵:市场中是先有TP,当数据量足够大的情况下,当TP无法满足大数据量的分析需求时,才催生了AP。最开始AP是依附于TP的,后来大家的想法是怎么让这两件东西很好地融合,但最终的结局是顾此失彼,两者不能兼得。

所以我们认为AP应该会发展成一个独立的产品,就算是牺牲写入和删改能力,我们也要尽量去提高查询分析能力,所以我们认为GPU是一个机会。

爱分析公司未来的定位是什么样的?

星爵:未来的两年的话,我们要坚定不移地做两件事情,第一件事是,我们要建立起我们在GPU数据库领域全球的领先地位,在这个过程中我们不排除尝试使用FPGA和TPU等其他技术方案;第二件事是,跟行业中其他的伙伴一起,推动GPU数据库为更多的客户所接受,能够服务更多的客户,建立起GPU数据库的生态系统。