GPU驱动的数据库可以为您做什么

随着数据集规模的增长,GPU加速数据库正改变数据处理和分析的方式,提供实时大数据处理能力,超越传统CPU驱动数据库的极限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

SQL数据库可以追溯到20世纪70年代,自20世纪80年代以来一直是ANSI标准,但这并不意味着该技术仍处于静止状态。它仍然在变化,并且是GPU加速数据库的其中一种方式。

图形处理器(英语:graphics processing unit,缩写:GPU),又称显示核心,视觉处理器,显示晶片或绘图晶片,是一种专门在个人电脑,工作站,游戏机和一些行动装置(如平板电脑,智慧型手机等)上执行绘图运算工作的微处理器。图形处理器使显示卡减少对中央处理器(CPU)的依赖,并分担部分原本是由中央处理器所担当的工作,尤其是在进行三维绘图运算时,功效更加明显。

关系数据库的大小已经增长到以PB级甚至更高的数据集。即使64位计算和TB级内存的出现增加了处理能力,这仍然需要大量数据才能解决 - 而CPU只能管理这么多。这就是GPU进入的地方。

而GPU已经从最初的加速游戏任务转变为加速几乎所有事情。 Nvidia已经巧妙地转向成为人工智能的代名词,这个过程需要并行处理大量数据,并且其他任务可以很好地并行化。 AMD正在开始追赶,但Nvidia有很长的领先优势。

说到核心,它甚至都不是很接近。 Xeon CPU最多有22个核心。 AMD Epyc有32个核心。 Nvidia Volta架构拥有5,120个核心。现在想象一下5000多个内核并行运行数据,很清楚为什么GPU在大型计算项目中变得如此受欢迎。

因此,出现了一类新的数据库,从头开始编写,以支持和拥抱GPU及其大规模并行处理功能。这些数据库支持新级别的数据处理,分析和实时大数据,因为它们可以处理常规CPU驱动的数据库根本无法处理的数据集。

在哪里使用GPU数据库

在这方面,GPU数据库并不真正与Oracle,SQL Server或DB2竞争。 GPU数据库面向制定数据分析决策,公司正在尝试从大量数据中实时做出决策,但由于数据太多或者视觉分析工具太慢,他们发现自己无法做到这一点。

GPU数据库供应商并不认为自己可以替代Oracle或像Teradata这样的OLTP数据库。 GPU数据库不是针对传统的RDBMS工作负载,而是针对OLAP / OLTP世界和大数据,数据集庞大且需求是实时的。 GPU数据库可以实时或按小时显示数据,而不是批处理过程运行数小时或过夜。

GPU数据库应解决NoSQL试图解决的许多问题,但允许您使用现有的结构化查询工具。使用NoSQL意味着重写所有SQL工具,但GPU数据库使用现有的SQL工具。

“我们认为我们将会看到人们意识到他们可以做多维系统并从多个场景中获取数据并将其结合起来,”Datatrend Technologies的新兴技术解决方案架构师Steve Worthington说道,他是一家使用GPU数据库SQream的IT咨询公司。 “医疗公司希望从多个系统中获取[数据],并跨数据库进行分析,因为之前它们不能进行交叉引用,也没有任何方法可以加入数据库。”它还引用金融机构进行欺诈和风险分析,现在可能只是进行信用卡检查,但希望对多个账户进行检查。借助GPU的强大功能,他们可以同时跨所有这些信息源进行交叉引用。

对于位置服务提供商Skyhook的地理空间数据副总裁Rich Sutton来说,使用OmniSci GPU数据库为他提供了比使用基于CPU的数据库更大的地理数据集可视化。 “我可以在OmniSci中加载十亿行,几乎没有延迟,而不必在传统的CPU空间中查看10,000行的数据集,”他说。 “这对我来说有利于减少数据消耗,延迟大幅减少。”

OmniSci首席执行官Todd Mostak表示,一位客户告诉他,OmniSci的速度“降低了好奇心的成本。他们提出了他们之前会拒绝的问题。“一位金融服务客户告诉他,传统数据库上的18小时处理查询时间已经下降到亚秒级,而电信公司告诉他,现在需要花费数小时才能运行的查询会在第二。

GPU数据库的另一个地方是实时大数据,其中Hadoop已经不足。 GPU数据库提供商SQream的首席执行官Ami Gal表示,在Hadoop上没有实现大数据发现所有存在于数十亿行数据中的机会的承诺,因为它太慢了。

“Spark非常适合数据移动和转换,但是一旦你需要处理大量数据并移动它们,你就会开始处理成千上万的[计算]节点,这在大型数据集中被认为太多了。但是,如果你可以用10或15个节点来做,那就更有效了,“他说。

Worthington表示,基于GPU的服务器可以在一个机柜中完成,这需要许多机柜价值的CPU供电的多并行处理(MPP)节点。 “我们可以用六个节点替换MPP节点的机架,每个节点有两到四个GPU。 有了这个,我们可以用不到100万美元的投资取代1000万美元的投资,“他说。

GPU对Skyhook也很重要,Skyhook可以对大型地理数据集进行可视化。 “如果你在现场拥有一百万台设备并且每分钟几次点击位置,那么你每天都在谈论20亿个数据行。 这在传统数据库中是不可能消费的。 这是不可能的。 因此,GPU数据库将您带到可以使用该数据的位置,“Sutton说。

由于内存数据库具有比基于磁盘的数据库更高的查询响应速度和并发度,其被广泛应用于银行、证券交易所和在线购物等数据量庞大并且实时性要求高的商业领域。索引能够有效降低数据的搜索空间、提高内存数据库的查询效率,然而当前它却受到性能和效率的挑战。 基于图形处理器的通用计算(GPGPU)在多个领域具有重要的研究价值和应用前景,也是当前研究的热点。目前图形处理器(GPU)上索引技术的研究已有一定的相关成果,然而这些研究成果存在着诸如:并行算法未充分利用硬件的资源、并行度不高,算法缺乏可扩展性且不能解决索引数据的更新等问题。因此,本文以如何充分利用 GPU 的硬件资源、最大限度地提高内存数据库索引的操作性能为主要研究内容,在相关研究的基础上,本文主要了以下工作: 1. 对目前内存数据库索引技术的研究成果进行总结归纳,并且对 GPU 的硬件特点和编程技术了相关综述。 2. 提出一种基于 GPU T-树索引的并行计算方案,该方案通过分析 T-树的节点间的父子关系,在 GPU 上实现对 T-树的最大并行度构建。设计在 GPU 上 T-树索引数据可任意伸缩的动态数组,解决 GPU 上尚无动态分配显存空间的问题;通过对各种构建 T-树方案的理论和实验分析,提出的并行建树方案较传统的建树方案,在操作效率和空间利用率上均有明显的性能优势。为解决 CUDA 程序数据传输的瓶颈问题,通过页锁定内存的方式提高 CPU 和 GPU 间的数据传输速率;为适应未来硬件发展的需求,对算法的可扩展性进行相关研究;为验证方案的正确性,提出基于 GPU T-树的遍历算法; 为验证提出的并行方案的有效性,进行相关的实验论证。 3. 为加速多维数据的操作性能,提出一种基于 GPU 多维线性哈希索引的并行处理方案。该方案通过对传统哈希索引数据结构的扩展,利用 2 层的数据结构可实现哈希表在 GPU 上的任意收缩,从而解决多维数据在 GPU 上无法有效更新的问题。在哈希表的记录并行批量插入算法中,采用并行分裂哈希桶的方式可加速哈希表分裂的处理 速度,从而提高了插入的效率;设计一个灵活的溢出桶管理机制,可提高多维哈希索引在 GPU 上的存储空间利用率;对提出的记录并行批量插入方案进行算法时间和空间复杂度的分析,并与传统的 CPU 算法进行相关对比;在各种硬件平台上对多维线性哈希索引记录的并行批量插入、批量删除和查询的操作性能进行相关的实验论证。 4. 提出一种基于 GPU 缓存敏感 CSB+-树索引的无锁并行处理方案,该方案通过对传统的 CSB+-树的结构改进,可实现 CSB+-树的索引数据在 GPU 上动态更新。在 GPU上提出基于树层和基于节点索引键 CSB+-树两种并行构建算法,其中后者可实现对CSB+-树的最大并行度构建;通过在 CSB+-树的内部节点添加填充位的方式,可减少GPU 线程块里的线程分支数,从而提高 CSB+-树的查询性能;通过对 CSB+-树的查询算法使用共享存储器的可行性分析,指出传统的缓存敏感技术的思想在复杂的 GPU 内存框架中并不适合使用。为验证提出的并行方案的有效性,在多个硬件平台上进行相关的实验论证。 5.在 GPU 平台上提出一种 BD-树索引的并行计算方案,该方案通过修改传统 BD-树的哈希函数,可实现对 BD-树索引的并行处理。通过对传统 BD-树的数据结构改进,可实现 BD-树索引数据在 GPU 上的更新操作;通过分析 BD-树的树形结构,可实现基于内部节点键的并行度方式构建 BD-树;通过增加额外的空间开销,减少 GPU 原子函数的调用次数,可显著提高 BD-树哈希表的数据插入效率;对 BD-树并行构建算法进行空间复杂度的分析,与传统的构建算法相比,提出算法的空间利用率明显得到提高。同样,为验证提出方案的有效性,进行相关的实验论证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值