新闻动态
News
首页 > 新闻动态
返回

推荐5种让数据库快的飞起的GPU加速产品


2016-9-29


    GPU 承诺会彻底改变大数据分析领域,从当前来看,这并不是虚言,当我们数据量达到一定级别的时候,我们一定会转向使用 GPU。大多数的数学密集型应用都包含机器学习框架,也都会利用 GPU 的并行处理能力来加速计算。


    GPU 和数据库各有所长,GPU 擅长处理需要大量数学密集型运算的任务,比如视觉模拟、超快数据库事务、计算视觉和机器学习等任务,而数据库擅长有特定要求的计算,如比较复杂的连接计算。下面为大家介绍五款提供 GPU 加速的数据库解决方案产品,其中有三款是商业产品,剩下的是开源产品。


1 MapD


    MapD 是由麻省理工学院的研究人员 Todd Mostak 和 Samuel Madden 开发的一个新的大规模并行数据库,使用现成的 GPU 来处理复杂的空间和 GIS 的实时数据,自从首次公开之后,最近重新走进了了人们的视野中,MapD 利用 LLVM 编译框架把 SQL 语句编译成 GPU 原生代码,另外,它还可以作为 GPU 的后备之选。


    加速的另一个源头是公司每个 GPU 的本地存储,它们作为数据缓存的运行速度要比 CPU 缓存和内存快很多倍。MapD 声称其 GPU-powered 装置要比同数量级的内存数据库和 Hadoop 装置快很多倍,但是实际来看这个说法可能要打个折扣,因为用来作对比的是高端昂贵的 Nvidia Kepler K80 GPU。


2 Kinetica


    Kinetica 原本叫 GPUdb,GPUdb 这个名字可能就是在暗示,这是一个 GPU 驱动的数据库解决方案。它的最新版本改名叫 Kinetica,不仅拥有常用的 GPU 加速方法,还可以利用 NVIDIA GPU 栈来进行加速,如 NVIDIA NVLink 技术,可以加快数据在 GPU(或者GPU与CPU)之间的传输速度。


    Kinetica 也试图成为为现代企业所用的数据库产品,所以它不仅有尖端技术的应用,同时也集成了标准的商业数据库功能,例如 SQL-92 查询、支持聚类、故障恢复和一键安装。


3 BlazingDB


    BlazingDB 是一个 GPU 驱动的数据库,主要针对使用 PostgreSQL、MySQL 或 Amazon Redshift 数据库的公司,BlazingDB 的创造者声称 BlazingDB 的速度提升要远超其它产品。


    BlazingDB 的另一个亮点是其提供本地和云托管的产品实例。如果公司已经在 Amazon 和 Azure 上有数据,你可以启动一个 BlazingDB 实例,使用数据管道来管理数据,也可以比较查询性能。


    该公司于六月提供商业版产品,同时还会提供一个免费的社区版产品。值得注意的是,目前该产品唯一支持的平台 Ubuntu 14.04。


4 Blazegraph


    并不是所有的数据库都支持通用的 SQL 系统,也会存在一些为特定类型的数据进行操作优化的数据库,例如图数据库就是用来分析对象之间的关系并呈现出来。


    这种为特定数据类型存在的数据库也适合 GPU 加速。Blazegraph 是一个使用 java 编写、为开源图数据库提供 GPU 加速的产品。Blazegraph 的创造者表示这款产品的设计初衷是使用 GPU 加速现有的图形分析工作,并且速度要比 CPU 快 200-300 倍。


5 PG-Strom


    流行的开源数据库 PostgreSQL 有很多卖点:高扩展性、支持 NoSQL / JSON 格式的文件存储功能,以及一直与世界先进的技术保持同行。


    PostgreSQL 数据库本身是没有 GPU 加速的,但是有一个专门做 GPU 加速的项目 PG-Strom,当收到一条查询优化语句时,PG-Strom 就会给出提示是否切换到 GPU,如果答案是肯定的,就会立即创建一个 GPU-optimized 进行 GPU 优化。


    建立 PG-Strom 需要做一些准备,它需要 NVIDIA CUDA 工具包,需要从源代码编译。但一旦融入 PostgreSQL 作为自定义扫描的提供者,它和普通查询的用法一致,在进行 GPU 加速时也不需要重写。


上一篇:GPU高性能计算资深专家赵开勇:基于Jetson TX1优化