Skip to content

Commit 7351c30

Browse files
digoal zhoudigoal zhou
authored andcommitted
new doc
1 parent ad1bcf2 commit 7351c30

File tree

5 files changed

+66
-9
lines changed

5 files changed

+66
-9
lines changed

202105/20210526_02.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## 重新发现PG之美 - 系列视频
1+
## 重新发现PostgreSQL之美 - 系列视频
22

33
### 作者
44
digoal
@@ -7,18 +7,18 @@ digoal
77
2021-05-26
88

99
### 标签
10-
PostgreSQL , PG 之美
10+
PostgreSQL , PG 之美 , PostgreSQL 之美
1111

1212
----
1313

1414
## 背景
15-
#### 1、重新发现PG之美 - 1 预测类应用
15+
#### 1、重新发现PostgreSQL之美 - 1 预测类应用
1616
使用PG的统计学聚合函数, 结合统计学的线形回归知识, 可以用来实现股价、用户行为、天气等数据的预测.
1717
PG不仅支持简单的一元回归, 还能通过madlib, plR等实现多元、多重回归模型.
1818

1919
视频回放: https://www.bilibili.com/video/BV1mA411g7XJ/
2020

21-
#### 2、重新发现PG之美 - 2 exclude 排他!
21+
#### 2、重新发现PostgreSQL之美 - 2 exclude 排他!
2222
exclude排他约束是PG的独特约束, 属于动态约束, 通过GiST索引实现, 采用对等操作符进行检查.
2323
例如会议室预定系统:
2424
避免会议室时间相交的异常问题、
@@ -27,21 +27,21 @@ exclude排他约束是PG的独特约束, 属于动态约束, 通过GiST索引实
2727

2828
视频回放: https://www.bilibili.com/video/BV1ho4y11731/
2929

30-
#### 3、重新发现PG之美 - 3 range 200x!
30+
#### 3、重新发现PostgreSQL之美 - 3 range 200x!
3131
解决全球化部署、多中心业务根据来源IP智能路由到就近机房的智能DNS性能问题, 200倍提升不是梦.
3232
PG 支持了Range类型, 一个字段可以存储传统数据库2个字段才能存储的数据, 同时比2个字段的between and用法性能提升200倍.
3333
原因是PG采用了range gist索引, 比btree的大范围链表扫描采用了更有效的访问路径, 二维收敛, 访问block急剧减少, 性能爆炸式提升.
3434

3535
视频回放: https://www.bilibili.com/video/BV13q4y1j7Ta/
3636

37-
#### 4、重新发现PG之美 - 4 随机漫步踏浪而来
37+
#### 4、重新发现PostgreSQL之美 - 4 随机漫步踏浪而来
3838
在一些论坛、短视频业务中, 编辑精选和地域或大范围精选的内容会采用随机推荐的方式推送给客户.
3939
随机查询就有了高并发、低延迟的需求, 然而通用的order by random()随机方法性能太烂, 无法满足需求.
4040
PG 提供了tablesample method(para)方法, 能够以几千倍的性能满足高并发需求.
4141

4242
视频回放: https://www.bilibili.com/video/BV1cy4y137WU/
4343

44-
#### 5、重新发现PG之美 - 5 在不确定的世界寻找答案
44+
#### 5、重新发现PostgreSQL之美 - 5 在不确定的世界寻找答案
4545
经典物理的世界, 似乎一切都是可预测的, 而量子理论告诉我们, 世界充满不确定性:
4646
股票哪个会涨?
4747
房价会不会跌?

202105/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
##### 20210527_03.md [《数据科学家必须了解 - wolfram - wolfram alpha 科学计算 saas - 全球现代技术计算的终极系统》](20210527_03.md)
1313
##### 20210527_02.md [《PostgreSQL PGSpider 插件(一款基于FDW的并行的联邦查询插件) - sqlite_fdw, influxdb_fdw, griddb_fdw, mysql_fdw, parquet_s3_fdw》](20210527_02.md)
1414
##### 20210527_01.md [《PostgreSQL 随机查询采样 - 既要真随机、又要高性能 - table sample方法》](20210527_01.md)
15-
##### 20210526_02.md [重新发现PG之美 - 系列视频》](20210526_02.md)
15+
##### 20210526_02.md [重新发现PostgreSQL之美 - 系列视频》](20210526_02.md)
1616
##### 20210526_01.md [《元认知》](20210526_01.md)
1717
##### 20210525_02.md [《PostgreSQL 实例启动时的HOOK, 自动加载预定义SQL或文件 - pg_start_sql 插件》](20210525_02.md)
1818
##### 20210525_01.md [《PostgreSQL 执行计划篡改、SQL rule自动改写SQL(query rewrite)、自动触发额外动作 - 指鹿为马、垂帘听政、狸猫换太子 - sql outline》](20210525_01.md)

202209/20220930_01.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
## 重新发现PostgreSQL之美 - 55 代码搬运工
2+
3+
### 作者
4+
digoal
5+
6+
### 日期
7+
2022-09-30
8+
9+
### 标签
10+
PostgreSQL , plxxx
11+
12+
----
13+
14+
## 背景
15+
视频回放:
16+
17+
场景:
18+
- 业务层逻辑流程长, 与数据库交互次数多
19+
- 计算和渲染场景, 需要拖取大量数据到本地进行计算, 少量结果进行渲染
20+
- CS结构的应用, 需要将数据从集中数据库存储拖取到本地后进行计算得到少量结果. 例如气象、地震分析.
21+
22+
总结起来就是2种场景:
23+
- 频繁交互
24+
- 计算要的数据量大, 结果数据集少.
25+
26+
挑战:
27+
- 频繁的网络交互导致网络延迟在整个过程的占比变高, 处理吞吐必然降低.
28+
- 每次计算都要拖取大量数据, 容易触发网络带宽瓶颈, 同时拖拽耗时也很长. 变化条件又要重新拖取数据,效率低.
29+
30+
PG解决方案:
31+
- PL接口, 可以在PG内安装编程语言, 例如java, python, C, lua, julia, rust ... 支持很多语言.
32+
33+
通过搬运代码而不是搬运数据的形式, 提高整体运行效率.
34+
35+
如果你认为计算量不行, 我告诉你, PG可以支持低延迟的物理流复制, 增加只读节点即可. 如果你认为只读节点会导致数据存储多分, 我告诉你可以选择计算存储分离架构的PolarDB(此计算支持pushdown), 一份存储多份计算, 而且已经开源了.
36+
37+
https://polardbpg.com/home
38+
39+
在业界, 我们可以看到很多让数据和计算尽量靠近来提升性能的例子, 例如sqlite3, duckdb, 都集成到程序lib了, 程序和库完美融合.
40+
41+
42+
#### [期望 PostgreSQL 增加什么功能?](https://github.com/digoal/blog/issues/76 "269ac3d1c492e938c0191101c7238216")
43+
44+
45+
#### [PolarDB for PostgreSQL云原生分布式开源数据库](https://github.com/ApsaraDB/PolarDB-for-PostgreSQL "57258f76c37864c6e6d23383d05714ea")
46+
47+
48+
#### [PostgreSQL 解决方案集合](https://yq.aliyun.com/topic/118 "40cff096e9ed7122c512b35d8561d9c8")
49+
50+
51+
#### [德哥 / digoal's github - 公益是一辈子的事.](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae")
52+
53+
54+
![digoal's wechat](../pic/digoal_weixin.jpg "f7ad92eeba24523fd47a6e1a0e691b59")
55+

202209/readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
### 文章列表
44
----
5+
##### 20220930_01.md [《重新发现PostgreSQL之美 - 55 代码搬运工》](20220930_01.md)
56
##### 20220929_01.md [《德说-第151期, 什么是高质量OKR》](20220929_01.md)
67
##### 20220928_01.md [《开源社区运营的供需连模型》](20220928_01.md)
78
##### 20220924_01.md [《用duckdb_fdw加速PostgreSQL分析计算, 提速40倍, 真香.》](20220924_01.md)

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ digoal's|PostgreSQL|文章|归类
9393

9494
### 所有文档如下
9595
----
96+
##### 202209/20220930_01.md [《重新发现PostgreSQL之美 - 55 代码搬运工》](202209/20220930_01.md)
9697
##### 202209/20220929_01.md [《德说-第151期, 什么是高质量OKR》](202209/20220929_01.md)
9798
##### 202209/20220928_01.md [《开源社区运营的供需连模型》](202209/20220928_01.md)
9899
##### 202209/20220924_01.md [《用duckdb_fdw加速PostgreSQL分析计算, 提速40倍, 真香.》](202209/20220924_01.md)
@@ -798,7 +799,7 @@ digoal's|PostgreSQL|文章|归类
798799
##### 202105/20210527_03.md [《数据科学家必须了解 - wolfram - wolfram alpha 科学计算 saas - 全球现代技术计算的终极系统》](202105/20210527_03.md)
799800
##### 202105/20210527_02.md [《PostgreSQL PGSpider 插件(一款基于FDW的并行的联邦查询插件) - sqlite_fdw, influxdb_fdw, griddb_fdw, mysql_fdw, parquet_s3_fdw》](202105/20210527_02.md)
800801
##### 202105/20210527_01.md [《PostgreSQL 随机查询采样 - 既要真随机、又要高性能 - table sample方法》](202105/20210527_01.md)
801-
##### 202105/20210526_02.md [《重新发现PG之美 - 系列视频》](202105/20210526_02.md)
802+
##### 202105/20210526_02.md [《重新发现PostgreSQL之美 - 系列视频》](202105/20210526_02.md)
802803
##### 202105/20210526_01.md [《元认知》](202105/20210526_01.md)
803804
##### 202105/20210525_02.md [《PostgreSQL 实例启动时的HOOK, 自动加载预定义SQL或文件 - pg_start_sql 插件》](202105/20210525_02.md)
804805
##### 202105/20210525_01.md [《PostgreSQL 执行计划篡改、SQL rule自动改写SQL(query rewrite)、自动触发额外动作 - 指鹿为马、垂帘听政、狸猫换太子 - sql outline》](202105/20210525_01.md)

0 commit comments

Comments
 (0)