数据库市场似乎已经很久没有足以撼动MySQL地位的数据库出现了,我们习惯于看到MySQL占据各大数据库排行榜的首位。MySQL确实是很棒的一款开源数据库,也是目前应用最广泛的数据库。甚至不少业内人士都认为未来属于MySQL,但事实果真如此吗?
为了探讨这个问题,本文特意邀请了SQream Technologies***执行官Ami Gal,他的观点是GPU数据库才是未来的趋势,来看看他的理由是什么吧!
Ami拥有超过20年的技术和创业经验,技术背景深厚,曾担任Magic Software (MGIC)业务发展副总裁,在高性能和复杂数据集成环境中创造了新的增长引擎。他有这个想法的原因很简单:GPU可以远高于CPU的速度读取和处理数据,每年的性能提高速度大约为40%左右(等于数据增长率)。
目前,在几个核心领域(如深度学习,虚拟现实和自动驾驶汽车)之外的计算机领域,图形处理单元(GPU)的功能仍然相对未知。事实上,对于大多数人来说,使用GPU进行非图形计算的想法也是前所未闻的。然而,这种想法马上就可以被改变,一切从GPU数据库开始。
很多人都知道GPU是比CPU更好的计算资源。当工程师和架构师意识到在屏幕上渲染复杂图像是一个可并行化问题,也就是说,可以同时处理多个指令流的指令时,GPU就作为CPU的有效替代方案而与大众见面了。
起初,解决问题的方式是创建一个新的处理单元,它具有数千个不太复杂的内核和更快更高带宽的内核,努力的结果是无论在读取还是处理数据方面,这个新的处理单元都远远超过了CPU。(现在你可能开始明白为什么GPU对于数据库来说是可取的,毕竟GPU本来在数据读取和处理方面就是擅长的)
其实,GPU数据库早已经发展得非常不错了!
早在2016年,数据就在以每年大约40%的速度增长着,而且还有明显加速趋势。1TB存储的智能手机出现,企业处理的数据规模也上升到了PB级别,而CPU每年只有10%—20%的提升,数据的增长速度已经远远超过了CPU能处理的数据,这让GPU数据库得以面世。
起初,数据库行业很多从业人员并不看好GPU数据库,认为不过是一阵风,只适合于那些小众领域,与内存数据配合使用。
就在他们坚信着未来仍将是传统数据库的天下时,GPU数据库已经在很多行业悄悄被采纳了,包括一向对新技术接纳程度有限的政府部门。美国邮政总局就是一个很好的例子,他们的数据库管理着遍布20万条投递路线的1.54亿个地址,还包括邮递员的位置数据,可想而知这个数据库的量级有多大了。通过GPU数据库,邮政总局可以迅速处理复杂查询,所用时间几乎与载入网页时间相当。
除此之外,GPU数据库在金融、电信、零售、安全等等行业均已有广泛应用。
看看现在CPU和GPU可以处理的原始FLOPS:
-
CPU - 200 gigaflops - 每秒200亿次浮点运算
-
GPU - 120 teraflops - 每秒120万亿次浮点运算
因为GPU可以同时处理很多计算,所以可以分而治之。大问题被分解成小问题,一次解决。另一方面,基于CPU的数据库受其上内核数量的限制,并且被优化以运行序列化计算。这导致一个数据库只能同时处理几个查询,只好一个接一个地查询。
未来,很多人会开始看到GPU数据库的革命性和强大功能。
GPU数据库为每个GPU包含数千个内核。这使数据库可以同时运行数千个查询,并使用更高的带宽内存来启动。
大多数企业都有投资回报率。虽然一个完整的GPU服务器可能会很昂贵,但它可以匹配几十个甚至几百个传统CPU服务器的计算能力。
GPU数据如何实施?
大多数GPU数据库运行在云端,适用于从IBM Bluemix到亚马逊AWS的各种环境。数据库搭建完毕,可以使用行业标准的驱动程序,使用标准SQL查询数据,驱动程序包括:
-
JDBC和ODBC
-
Python、Jupyter和sklearn 等
-
R及其他机器学习库
大多数GPU数据库的搭建过程都十分简单,不需要十分强大的技能,而且它们往往是与现有生态系统兼容的。对于数据科学工作而言,工作负载可以从几小时缩短至几分钟,甚至更少。
所有这些都为GPU数据库的发展创造了一个非常有说服力的理由,并且很快就会导致它的广泛普及。