Skip to content

Commit d8e59f2

Browse files
author
digoal
committed
new doc
1 parent 9331108 commit d8e59f2

File tree

9 files changed

+115
-38
lines changed

9 files changed

+115
-38
lines changed

202108/20210818_02.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ PostgreSQL , 德说
1414
## 背景
1515
德者, 人之所得, 使万物各得其所欲.
1616

17+
[《德说-第320期, 数据库服务器集成GPU不是目的, 数据库到底要提升什么能力?来更好的结合AI?》](../202504/20250409_03.md)
18+
1719
[《德说-第319期, 这些问题回答不清, 开源很难持久!》](../202504/20250401_03.md)
1820

1921
[《德说-第318期, 这类应用很有价值: 企业级AI工作流(支持大模型和MCP)开源项目有哪些?》](../202504/20250401_01.md)

202108/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
##### 20210829_01.md [《德说-第26期, 开源外循环,KOL管理》](20210829_01.md)
1212
##### 20210828_09.md [《DB吐槽大会,第9期 - PG 大量连接写小事务性能差》](20210828_09.md)
1313
##### 20210828_08.md [《DB吐槽大会,第8期 - PG 高并发短连接性能差》](20210828_08.md)
14-
##### 20210828_07.md [《DB吐槽大会,第7期 - PG slot 无failover》](20210828_07.md)
14+
##### 20210828_07.md [《DB吐槽大会,第7期(v17 add) - PG slot 无failover》](20210828_07.md)
1515
##### 20210828_06.md [《DB吐槽大会,第6期 - PG Double Cache》](20210828_06.md)
1616
##### 20210828_05.md [《转发 <网络信息内容生态治理规定>》](20210828_05.md)
1717
##### 20210828_04.md [《DB吐槽大会,第5期 - PG local memory》](20210828_04.md)

202109/readme.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
##### 20210930_02.md [《DB吐槽大会,第64期 - PG 里面的某些单核瓶颈》](20210930_02.md)
88
##### 20210930_01.md [《数据库各赛道各产品商业分析》](20210930_01.md)
99
##### 20210929_08.md [《DB吐槽大会,第63期 - PG 缺乏跨版本兼容性评估工具》](20210929_08.md)
10-
##### 20210929_07.md [《DB吐槽大会,第62期 - PG 不支持index skip scan》](20210929_07.md)
10+
##### 20210929_07.md [《DB吐槽大会,第62期(v18 add) - PG 不支持index skip scan》](20210929_07.md)
1111
##### 20210929_06.md [《DB吐槽大会,第61期 - PG 审计功能有巨大增强空间》](20210929_06.md)
1212
##### 20210929_05.md [《DB吐槽大会,第60期 - PG 只读实例不支持写操作》](20210929_05.md)
1313
##### 20210929_04.md [《DB吐槽大会,第59期 - PG 缺少便捷的坏块修复能力》](20210929_04.md)
@@ -41,7 +41,7 @@
4141
##### 20210916_02.md [《《开源大咖说》第1期《为什么PolarDB选择计算存储分离的分布式架构》》](20210916_02.md)
4242
##### 20210916_01.md [《鞭尸系列(DB错误使用姿势)-1 用count判断是否存在》](20210916_01.md)
4343
##### 20210915_07.md [《DB吐槽大会,第47期 - PG 崩溃恢复能快点吗》](20210915_07.md)
44-
##### 20210915_06.md [《DB吐槽大会,第46期 - PG copy不能跳过错误行》](20210915_06.md)
44+
##### 20210915_06.md [《DB吐槽大会,第46期(v17 add) - PG copy不能跳过错误行》](20210915_06.md)
4545
##### 20210915_05.md [《DB吐槽大会,第45期 - PG 不支持rotate表》](20210915_05.md)
4646
##### 20210915_04.md [《DB吐槽大会,第44期 - PG 同步复制不支持自动升降级》](20210915_04.md)
4747
##### 20210915_03.md [《DB吐槽大会,第43期 - PG 倒排索引启动和recheck代价高》](20210915_03.md)
@@ -63,7 +63,7 @@
6363
##### 20210908_01.md [《PostgreSQL hash 分区表 分区ID 计算》](20210908_01.md)
6464
##### 20210907_03.md [《PostgreSQL 膨胀点与监测指标详解, 无法回收的垃圾tuple》](20210907_03.md)
6565
##### 20210907_02.md [《PostgreSQL 15 preview - 增加GUC 参数 postgres_fdw.application_name 可以指定每个fdw连接的application_name》](20210907_02.md)
66-
##### 20210907_01.md [《DB吐槽大会,第37期 - PG 没有block级增量备份恢复》](20210907_01.md)
66+
##### 20210907_01.md [《DB吐槽大会,第37期(v17 add) - PG 没有block级增量备份恢复》](20210907_01.md)
6767
##### 20210906_04.md [《德说-第29期, 什么样的创业公司值得投资(奔)》](20210906_04.md)
6868
##### 20210906_03.md [《B站录播姬, 录制直播间视频》](20210906_03.md)
6969
##### 20210906_02.md [《B2B营销的第一性原理》](20210906_02.md)
@@ -81,19 +81,19 @@
8181
##### 20210903_06.md [《DB吐槽大会,第30期 - PG 某些敏感信息未隐藏》](20210903_06.md)
8282
##### 20210903_05.md [《DB吐槽大会,第29期 - PG 表空间容易达到文件系统天花板》](20210903_05.md)
8383
##### 20210903_04.md [《PostgreSQL 15 preview - pg_stat_reset_single_table_counters 释放表级统计信息计数器》](20210903_04.md)
84-
##### 20210903_03.md [《DB吐槽大会,第28期 - PG 每次只扩展1个block》](20210903_03.md)
84+
##### 20210903_03.md [《DB吐槽大会,第28期(v16 add) - PG 每次只扩展1个block》](20210903_03.md)
8585
##### 20210903_02.md [《DB吐槽大会,第27期 - PG 单一 block size》](20210903_02.md)
8686
##### 20210903_01.md [《DB吐槽大会,第26期 - PG 没有基于角色权限的ACL控制》](20210903_01.md)
8787
##### 20210902_13.md [《DB吐槽大会,第25期 - PG 不支持物理Partial Standby》](20210902_13.md)
8888
##### 20210902_12.md [《DB吐槽大会,第24期 - PG 不支持Partial PITR》](20210902_12.md)
8989
##### 20210902_11.md [《DB吐槽大会,第23期 - PG 不支持在线split, merge分区》](20210902_11.md)
9090
##### 20210902_10.md [《DB吐槽大会,第22期 - PG 不支持libpq协议层压缩》](20210902_10.md)
9191
##### 20210902_09.md [《DB吐槽大会,第21期 - PG 没有持久化Shared Buffer》](20210902_09.md)
92-
##### 20210902_08.md [《DB吐槽大会,第20期 - PG pg_upgrade大版本升级不支持增量》](20210902_08.md)
92+
##### 20210902_08.md [《DB吐槽大会,第20期(v18 add) - PG pg_upgrade大版本升级不支持增量》](20210902_08.md)
9393
##### 20210902_07.md [《DB吐槽大会,第19期 - PG 没有block level压缩》](20210902_07.md)
9494
##### 20210902_06.md [《DB吐槽大会,第18期 - PG 索引中没有存储tuple版本信息》](20210902_06.md)
9595
##### 20210902_05.md [《DB吐槽大会,第17期 - PG官方不支持online DDL》](20210902_05.md)
96-
##### 20210902_04.md [《DB吐槽大会,第16期 - PG Standby不支持解析逻辑日志》](20210902_04.md)
96+
##### 20210902_04.md [《DB吐槽大会,第16期(v16 add) - PG Standby不支持解析逻辑日志》](20210902_04.md)
9797
##### 20210902_03.md [《DB吐槽大会,第15期 - PG 没有全局临时表》](20210902_03.md)
9898
##### 20210902_02.md [《DB吐槽大会,第14期 - 只读实例是孤岛》](20210902_02.md)
9999
##### 20210902_01.md [《PostgreSQL 15 preview - pgbench copy freeze 加速tpc-b测试数据生成》](20210902_01.md)

202110/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
##### 20211027_02.md [《德说-第53期, 吾日三省吾身 & 跨界面试和选人》](20211027_02.md)
1313
##### 20211027_01.md [《德说-第52期, 开源是自掘坟墓吗?》](20211027_01.md)
1414
##### 20211026_06.md [《德说-第51期, 巫,布道师,人货场,基督教》](20211026_06.md)
15-
##### 20211026_05.md [《DB吐槽大会,第81期 - PG 未针对 NUMA 优化》](20211026_05.md)
15+
##### 20211026_05.md [《DB吐槽大会,第81期(v18 add) - PG 未针对 NUMA 优化》](20211026_05.md)
1616
##### 20211026_04.md [《The Free and Open Source for GIS conference : FOSS4G 2021 Buenos Aires Videos are out》](20211026_04.md)
1717
##### 20211026_03.md [《PostGIS 3.2 支持 PG 14 GiST index fast create特性》](20211026_03.md)
1818
##### 20211026_02.md [《PostgreSQL 15 preview - 新增参数: log_startup_progress_interval , 支持打印startup进程长时间的恢复进度》](20211026_02.md)

202504/20250409_01.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,24 @@ This parameter affects:
8888

8989
总而言之,这是一个性能优化补丁,通过利用操作系统提供的文件克隆功能,可以显著提高数据库的创建和迁移速度,尤其是在处理大型数据库时。
9090

91+
92+
#### [期望 PostgreSQL|开源PolarDB 增加什么功能?](https://github.com/digoal/blog/issues/76 "269ac3d1c492e938c0191101c7238216")
93+
94+
95+
#### [PolarDB 开源数据库](https://openpolardb.com/home "57258f76c37864c6e6d23383d05714ea")
96+
97+
98+
#### [PolarDB 学习图谱](https://www.aliyun.com/database/openpolardb/activity "8642f60e04ed0c814bf9cb9677976bd4")
99+
100+
101+
#### [PostgreSQL 解决方案集合](../201706/20170601_02.md "40cff096e9ed7122c512b35d8561d9c8")
102+
103+
104+
#### [德哥 / digoal's Github - 公益是一辈子的事.](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae")
105+
106+
107+
#### [About 德哥](https://github.com/digoal/blog/blob/master/me/readme.md "a37735981e7704886ffd590565582dd0")
108+
109+
110+
![digoal's wechat](../pic/digoal_weixin.jpg "f7ad92eeba24523fd47a6e1a0e691b59")
111+

202504/20250409_02.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,24 @@ https://www.postgresql.org/docs/devel/functions-admin.html#FUNCTIONS-ADMIN-SIGNA
133133

134134
总而言之,这个补丁提供了一种非侵入式的方式来监控 PostgreSQL 进程的内存使用情况,有助于识别内存泄漏、过度分配和其他内存相关的问题,从而提高数据库的稳定性和性能。
135135

136+
137+
#### [期望 PostgreSQL|开源PolarDB 增加什么功能?](https://github.com/digoal/blog/issues/76 "269ac3d1c492e938c0191101c7238216")
138+
139+
140+
#### [PolarDB 开源数据库](https://openpolardb.com/home "57258f76c37864c6e6d23383d05714ea")
141+
142+
143+
#### [PolarDB 学习图谱](https://www.aliyun.com/database/openpolardb/activity "8642f60e04ed0c814bf9cb9677976bd4")
144+
145+
146+
#### [PostgreSQL 解决方案集合](../201706/20170601_02.md "40cff096e9ed7122c512b35d8561d9c8")
147+
148+
149+
#### [德哥 / digoal's Github - 公益是一辈子的事.](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae")
150+
151+
152+
#### [About 德哥](https://github.com/digoal/blog/blob/master/me/readme.md "a37735981e7704886ffd590565582dd0")
153+
154+
155+
![digoal's wechat](../pic/digoal_weixin.jpg "f7ad92eeba24523fd47a6e1a0e691b59")
156+

202504/20250409_03.md

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,55 +12,82 @@ PostgreSQL , PolarDB , DuckDB , Data+AI , GPU , wire protocol , 被动请求 , r
1212
----
1313
1414
## 背景
15-
数据库服务器集成GPU一定不是好主意! 数据库到底要提升什么能力? 来更好的结合AI?
15+
数据库服务器集成GPU一定不是好主意! 为什么呢?
16+
17+
先回答以下5个问题, 马上豁然开朗!
1618

1719
1、数据库什么时候/场景要使用GPU, 使用GPU是高频操作吗? 频率如何?
18-
- 推理, 例如基于问题和数据, 让大模型进行推理. 也许能成为高频操作, 但是再看问题2.
19-
- RAG, 例如基于问题和记忆/相关知识点, 让大模型生成结果. 也许能成为高频操作, 但是再看问题2.
20-
- 预训练, 使用数据库存储预训练的数据集, 预训练的过程中进行调用. 低频操作, 这种场景要的是数据的大吞吐, 所以你看deepseek开源smallpod(base on duckdb)测的benchmark是什么? 大吞吐的数据进出.
21-
- 微调, 使用数据库存储微调的数据集, 微调的过程中进行调用. 低频操作
20+
- 1 推理, 例如基于问题和数据, 让大模型进行推理. 也许能成为高频操作, 但是再看问题2.
21+
- 2 RAG, 例如基于问题和"历史记忆/相关知识点", 让大模型生成结果. 也许能成为高频操作, 但是再看问题2.
22+
- 3 预训练, 使用数据库存储预训练的数据集, 预训练的过程中进行调用. 低频操作, 这种场景要的是数据的大吞吐, 所以你看deepseek开源smallpod(base on duckdb)测的benchmark是什么? 大吞吐的数据进出.
23+
- 4 微调, 使用数据库存储微调的数据集, 微调的过程中进行调用. 低频操作
2224

2325
2、数据库使用GPU时, 发给GPU的数据最多有多少?
2426
- 不能超过模型能处理的上下文, 例如一般是128K(参数量相同的情况下上下文支持越大的模型, 回复精确度越低), 目前最大的可能是1MB.
2527
- 通常发给大模型的数据不会太大. 可能在KB级别.
2628

27-
如果数据库的带宽是10GB, 每秒可以向GPU发送131万次请求(每个请求1KB). 显然这样的请求量, GPU早就成为瓶颈了. 一定不会是数据库的传输带宽, move data更便宜.
29+
如果数据库的带宽是10GB, 每秒可以向GPU发送131万次请求(每个请求1KB). 显然这样的请求量, GPU算力早就成为瓶颈了. 瓶颈一定不会是数据库的传输带宽, 所以 move data 更划算.
2830

2931
3、数据库服务器升级/更换GPU时, 需要停止该服务器上运行的数据库吗?
3032
- 肯定影响啊, 为了降低影响, 至少得切换吧?
3133

3234
4、企业中除了数据库要用GPU, 还有哪些应用需要使用GPU, 相比于数据库, 这些应用使用GPU的频率更高还是更低?
33-
- 大概率是面向C端/AI Agent的应用使用GPU更高频. 在数据库服务器中安装GPU卡, 增加了数据库集群的故障点.
35+
- 大概率是面向C端/AI Agent的应用使用GPU更高频. 在数据库服务器中安装GPU卡, 增加了数据库集群的故障点. 为了低频需求增加故障点感觉不值得!
3436

35-
5、数据库服务器需要额外的空间来存储模型吗?
36-
- 当然需要, 因为使用大模型时, 需要把模型参数全部加在到GPU内存中. (模型有大有小, deepseek R1 671B参数量化后还需要400多GB. 如果你希望使用各种不同的模型, 则需要在数据库服务器上预留更多的存储空间来存放模型, 到时候切换模型还会导致瞬间的占用存储模型文件的磁盘IO, 也可能影响数据库稳定性).
37+
5、数据库服务器需要额外的空间来存储模型吗? 需要存储多个模型吗? 加载模型时会导致IO飙升吗?
38+
- 当然需要, 因为使用大模型时, 需要把模型参数全部加在到GPU内存中. (模型有大有小, deepseek R1 671B参数量化后还需要400多GB. 我们一般会在不同场景中使用各种不同的模型, 那么就要在数据库服务器上预留更多的存储空间来存放不同的模型文件, 切换模型时需要将模型导入GPU内存, 导致瞬间磁盘IO飙升(指存储模型文件的磁盘))
39+
- 显然, 把模型文件放在数据库服务器上, 把GPU放在数据库服务器上, 可能影响数据库稳定性.
3740

3841
综上, 数据库服务器集成GPU一定不是好主意.
3942

40-
其实数据库要的是大模型的推理能力, 集成GPU不是目的, 而是手段. 正确的做法一定是建立独立的GPU服务器集群, 让数据库使用API调用大模型的能力.
43+
个人认为, 数据库要的是大模型的推理能力. 集成GPU不是目的, 而是手段. 正确的做法一定是建立独立的GPU服务器集群, 让数据库拥有使用API调用大模型的能力即可.
4144

42-
所以`postgresml`这个项目的价值不是它集成了GPU(个人认为这个反而是败笔), 有价值的实际上是“数据库与大模型在能力上的结合对业务和数据产生了新的价值”.
45+
`postgresml`这个项目的价值不是它让PG集成了GPU(个人认为这个反而是败笔), 有价值的实际上是“数据库与大模型在能力上的结合给业务和数据带来了新的价值”.
4346

4447
https://postgresml.org/docs/
4548

4649
https://github.com/postgresml/postgresml
4750

4851
https://www.star-history.com/#postgresml/postgresml&Date
4952

50-
## 数据库到底要提升什么能力?来更好的结合AI?
51-
个人观点:
53+
可以看到postgresml项目刚出来的时候star增长很陡峭, 2024之后增长斜率大幅下降, 而2024是AI应用爆发之年, 斜率逆势下降必有因, 该项目方向可能是错的.
54+
55+
## 数据库到底要提升什么能力? 才能更好的结合AI?
56+
以下纯属个人观点:
5257

5358
1、wire protocol的改进.
5459

55-
GPU服务器集群可以部署更大参数量、更多的模型, 算力将大幅提升, 同时上下文的能力未来也可能会有大幅提升.
60+
GPU服务器集群可以部署更大参数量、更多的模型, 算力将大幅提升, 同时未来上下文的能力也可能会有大幅提升.
5661

57-
所以一次SQL请求中从数据库提取大量数据还是有可能的. 所以要在wire protocol这块下功夫:
58-
- 避免序列号反序列化, 数据直达模型
59-
- 协议层传输加密/压缩能力
60-
- 更高效的支持mcp(resource/tools/prompt)
61-
- random URL+token支持. 例如, 在数据库中生成SQL对应的URL和相应token, 在一个时间窗口内(例如30秒), 可以直接通过这个url (例如( `protocol://url/parameter:$?&token:$?` ) ) 访问对应数据库获取相应数据. 结合mcp server, 这就让AI agent可以更高效的从数据库中访问需要的数据.
62+
所以一次SQL请求中, 从数据库提取大量数据还是有可能的. 所以要在wire protocol这块下功夫, 提升move data效率、降低move data成本:
63+
- 避免序列化反序列化, 数据直达模型
64+
- 协议层支持传输加密&压缩能力
65+
- 更高效的支持mcp server(resource/tools/prompt)
66+
- random URL+token支持. 解释一下, 例如, 在数据库中生成SQL对应的URL和相应token以及有效访问时间, 在一个有效时间窗口内(例如30秒内), 可以直接通过这个url (( `protocol://DSN/url/parameter:$?&token:$?` ) ) 访问对应数据库获取相应数据(实则为请求对应SQL的结果). 通过数据库mcp server和新的wire protocol, 这就让AI agent可以更高效的从数据库中访问需要的数据.
6267

6368
2、内置调用大模型API的异步函数接口
64-
- 因为大模型的请求通常都比较长, 通过接口异步化, 可以把请求提前, 可以使用并发, 可以提高整体数据库吞吐. 和PostgreSQL 18的AIO优化一个思路.
69+
- 因为大模型的请求通常都比较长, 通过接口异步化, 可以把请求提前, 可以使用并发, 可以提高整体数据处理吞吐. 和PostgreSQL 18的AIO优化一个思路.
70+
- [《PostgreSQL 18 功能整理 : 14以来最值得期待的版本》](../202504/20250407_11.md)
71+
72+
<b> 注意, 本文讨论范围不包含池化架构. 池化后的硬件和软件应用全面结耦, 不存在上述问题. </b>
73+
74+
#### [期望 PostgreSQL|开源PolarDB 增加什么功能?](https://github.com/digoal/blog/issues/76 "269ac3d1c492e938c0191101c7238216")
75+
76+
77+
#### [PolarDB 开源数据库](https://openpolardb.com/home "57258f76c37864c6e6d23383d05714ea")
78+
79+
80+
#### [PolarDB 学习图谱](https://www.aliyun.com/database/openpolardb/activity "8642f60e04ed0c814bf9cb9677976bd4")
81+
82+
83+
#### [PostgreSQL 解决方案集合](../201706/20170601_02.md "40cff096e9ed7122c512b35d8561d9c8")
84+
85+
86+
#### [德哥 / digoal's Github - 公益是一辈子的事.](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae")
87+
88+
89+
#### [About 德哥](https://github.com/digoal/blog/blob/master/me/readme.md "a37735981e7704886ffd590565582dd0")
90+
6591

92+
![digoal's wechat](../pic/digoal_weixin.jpg "f7ad92eeba24523fd47a6e1a0e691b59")
6693

0 commit comments

Comments
 (0)