AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 2786
Accepted
David
David
Asked: 2011-05-18 15:07:02 +0800 CST2011-05-18 15:07:02 +0800 CST 2011-05-18 15:07:02 +0800 CST

GPU 可以使顺序扫描获得多少收益?

  • 772

我正在考虑聘请某人在 Postgres 中实施 GPU 处理,以加快对位于 ramdisk 上的数据库的顺序扫描。您认为我可以使用这种方法获得多少收益?我可以购买任何类型的显卡。我知道这个问题真的很难,但我对 GPU 知之甚少,所以一个非常粗略的猜测会对我有很大帮助。

编辑:尽管我的兴趣专门针对 Postgres,但我可以用不同的方式问这个问题:“通过使用 GPU 对内存数据库进行顺序扫描,潜在的性能提升有多大”。如果答案是它有 10-50 倍性能的潜力,那么我可以开始更具体地研究这是否也可以在 Postgres 中实现。

postgresql
  • 3 3 个回答
  • 1376 Views

3 个回答

  • Voted
  1. Frank Heikens
    2011-05-19T03:03:18+08:002011-05-19T03:03:18+08:00

    你最好在黑客邮件列表上问这个问题,过去有一些关于这个主题的争论。PostgreSQL 开发人员可以告诉您更多有关它的信息。

    http://archives.postgresql.org/pgsql-hackers/

    要使用 GPU 为 PostgreSQL 获得良好的性能,您需要在 PostgreSQL 中进行某种形式的并行处理。这是 PostgreSQL 目前没有的东西(对于 CPU 和 GPU),但是 Greenplum 已经在他们的 CPU 的 PostgreSQL 产品中实现了这一点。并行处理在 ToDo 列表中,但目前似乎没有人在处理它。向 PostgreSQL 黑客询问当前状态。

    • 3
  2. Best Answer
    Jack Douglas
    2011-05-19T21:33:26+08:002011-05-19T21:33:26+08:00

    我偶然发现了一些可能适用的 sqllite 研究。他们报告说某些应用程序的性能提高了 20-70 倍

    不用说,您的里程可能会有所不同。

    • 3
  3. Razvan Popovici
    2011-08-23T06:27:56+08:002011-08-23T06:27:56+08:00

    我认为顺序扫描不会有太大改善。顺序扫描主要是迭代表中的每条记录,并应用返回布尔值的评估函数。选择符合条件的记录进行进一步处理。函数的评估可能类似于 value>3.14 或 sin(value1) > sin(value2) 必须由 SQL 引擎编码为 Cuda/OpenCL 内核,然后在 GPU 中执行。如果您评估用户定义的函数,则必须将整个函数转换为内核。如果该函数访问其他一些数据结构,则不可能将其重写为内核。当然,所有这些转换都发生在幕后,“用户”只负责编写 SQL。更进一步,内存中的数据必须移动到GPU内存空间,作为一个线性内存结构,例如真实的(非 STLed)载体。扣除所有这些惩罚后,根据您的函数类型,您可能会受益于卓越的 GPU 速度。所以只有当你的函数很复杂,你有很多数据时,你才会受益,但该函数仍然可以转换为内核。您的 postgres 实例应该能够即时编写内核,然后调用编译器。

    另一方面,如果你想用 GPU 解决特定问题,有人可以直接将其编码为 PostgreSQL 的客户端。

    • 2

相关问题

  • 我可以在使用数据库后激活 PITR 吗?

  • 运行时间偏移延迟复制的最佳实践

  • 存储过程可以防止 SQL 注入吗?

  • PostgreSQL 中 UniProt 的生物序列

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve