Skip to content

Commit 84b9eb2

Browse files
digoal zhoudigoal zhou
authored andcommitted
new doc
1 parent ed934da commit 84b9eb2

File tree

9 files changed

+197
-1
lines changed

9 files changed

+197
-1
lines changed

202112/20211231_01.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,12 @@ rds pg -> polardb 开源产品、运营规划
5757
重新寻找人生的意义
5858
- 人的死亡分3次: 1肉体, 2名, 3作品. 给这个世界留下一件伟大的作品.
5959

60-
第二条命, 自组织涌现, 虚拟生命
60+
第二条命, 逻辑上存在的虚拟集体生命.
61+
- 同一性+自组织涌现=虚拟生命
62+
- 同一性要求每个个体对同一性法则的绝对相信
63+
- 自组织要求附近个体之间的强连接
64+
65+
[《德说-第84期, 挨家挨户》](../202201/20220102_01.md)
6166

6267
## 三、2022 数据库行业 寄语:
6368
锚定用户, 多点创新. 脚踏实地, 少用杠杆. 比较优势, 合作共赢.

202201/20220102_01.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ PostgreSQL , 挨家挨户
3131
这些小单元能形成规模化协作靠的是:
3232
自上而下的同一性.
3333
自下而上的自组织性.
34+
35+
第二条命: 虚拟集体生命是一套逻辑.
36+
- 同一性+自组织涌现=虚拟生命
37+
- 同一性要求每个个体对同一性法则(逻辑)的绝对相信
38+
- 自组织要求附近个体之间的强连接
3439

3540

3641
虚拟生命不止一个, 但是有迹可循, 找到真谛即可组成虚拟的生命.

202201/20220110_02.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## github star趋势
2+
3+
### 作者
4+
digoal
5+
6+
### 日期
7+
2022-01-10
8+
9+
### 标签
10+
PostgreSQL , github
11+
12+
----
13+
14+
## 背景
15+
打印github的star趋势, 直观展现斜率变化、跳变时间点, 有助于帮助分析项目的运营或产品发布等事件对star的影响.
16+
17+
https://segmentfault.com/a/1190000019496369
18+
19+
https://github.com/SmallStoneSK/github-star-trend
20+
21+
https://star-history.com
22+
23+
24+
25+
#### [期望 PostgreSQL 增加什么功能?](https://github.com/digoal/blog/issues/76 "269ac3d1c492e938c0191101c7238216")
26+
27+
28+
#### [PolarDB for PostgreSQL云原生分布式开源数据库](https://github.com/ApsaraDB/PolarDB-for-PostgreSQL "57258f76c37864c6e6d23383d05714ea")
29+
30+
31+
#### [PostgreSQL 解决方案集合](https://yq.aliyun.com/topic/118 "40cff096e9ed7122c512b35d8561d9c8")
32+
33+
34+
#### [德哥 / digoal's github - 公益是一辈子的事.](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae")
35+
36+
37+
![digoal's wechat](../pic/digoal_weixin.jpg "f7ad92eeba24523fd47a6e1a0e691b59")
38+

202201/20220110_03.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
## 一起学PolarDB - 第13期 - 为什么木桶有短板?
2+
3+
### 作者
4+
digoal
5+
6+
### 日期
7+
2022-01-10
8+
9+
### 标签
10+
PostgreSQL , PolarDB
11+
12+
----
13+
14+
## 背景
15+
懂PostgreSQL, 学PolarDB不难, 就好像有九阳神功护体, 可以快速融会贯通.
16+
对于DBA只要学会PolarDB精髓即可.
17+
对于开发者来说不需要学习, 使用PolarDB和PostgreSQL一样.
18+
19+
#### 为什么木桶有短板?
20+
[《一起学PolarDB - 第12期 - 为什么增加只读实例不能提高单条SQL的执行速度?》](../202201/20220110_01.md) 这一期讲了PolarDB 通过多个计算节点可以并行执行同一条SQL, 类似于Greenplum MPP特性.
21+
但是Greenplum有短板问题, PolarDB是怎么解决的呢?
22+
23+
社区版本:
24+
1、Greenplum, 由于SQL是在多个计算节点上并行执行的, 所以SQL的执行时间取决于最慢的节点. 当计算节点的负载不均匀、计算能力不均匀、IO设备性能不均匀的情况下, 性能会出现剧烈抖动.
25+
2、还有一种情况是数据的存储结构倾斜, 也会导致短板, 例如分布键字段的某value比其他value记录条数多很多, 使得这部分数据所在的计算节点数据量比其他节点多很多, 这个节点就会成为短板.
26+
非分布键数据倾斜一般对聚合操作影响不大, Greenplum支持2阶段聚合来解决问题, 但是对数据分布不均匀束手无策:
27+
- [《Greenplum支持人为多阶段聚合的方法 - 直连segment(PGOPTIONS='-c gp_session_role=utility') Or gp_dist_random('gp_id') Or 多阶段聚合 prefunc》](../201806/20180624_02.md)
28+
- [《HybridDB PostgreSQL "Sort、Group、distinct 聚合、JOIN" 不惧怕数据倾斜的黑科技和原理 - 多阶段聚合》](../201711/20171123_01.md)
29+
- [《PostgreSQL 11 preview - 多阶段并行聚合array_agg, string_agg》](../201803/20180322_11.md)
30+
31+
32+
PolarDB:
33+
https://github.com/ApsaraDB/PolarDB-for-PostgreSQL/blob/main/doc/PolarDB-CN/Architecture.md
34+
针对前面提到的第一个问题: 当某个节点因为各种原因(例如某个节点的存储raid 5损坏了1块盘, 某个节点的数据存储有倾斜导致了节点负担变大.)存在短板时, 由于Greenplum每个节点只有部分数据, 其他节点不能帮短板节点进行计算, 只能干等.
35+
PolarDB 的数据扫描以4MB为单位进行动态扫描, 哪个节点强, 哪个节点就扫得多, 处理得多. 打破短板问题. 目前已实现seqscan的动态扫描.
36+
![pic](20220110_03_pic_001.png)
37+
38+
动态扫描相比静态扫描的性能提升:
39+
![pic](20220110_03_pic_002.png)
40+
41+
动态扫描最终能带来的目标和好处:
42+
- 消除木桶短板, polardb RW RO可以随意配置, RO与RO也可以随意配置, 运行时负载也可以不对齐.
43+
44+
45+
本期问题1:
46+
为什么Greenplum在执行SQL时可能存在木桶短板问题?
47+
- a. 由于分布键的数据倾斜, 某个节点的数据比其他节点多
48+
- b. 由于Greenplum某些节点的配置比较差
49+
- c. 由于Greenplum某些节点的硬件出现性能问题, 例如存储RAID 5遭受坏盘, 导致每次读取需要从校验信息中恢复数据
50+
- d. 由于某些计算节点当前比较繁忙
51+
52+
答案:
53+
- abcd
54+
55+
解释:
56+
- 参考本文内容
57+
58+
本期问题2:
59+
PolarDB 通过什么方式来解决SQL执行时某些节点执行较慢的木桶短板问题?
60+
- a. 重新选择分布键分布数据
61+
- b. 采用动态扫描, 每次扫描4MB数据. 处理快的节点会扫描更多的数据, 处理慢点节点扫描的数据更少.
62+
- c. 提升这些较慢节点的配置
63+
- d. 增加一层逻辑shard, 将逻辑shard重新按比例分配到不同的计算节点
64+
65+
答案:
66+
- b
67+
68+
解释:
69+
- 参考本文内容
70+
71+
72+
#### [期望 PostgreSQL 增加什么功能?](https://github.com/digoal/blog/issues/76 "269ac3d1c492e938c0191101c7238216")
73+
74+
75+
#### [PolarDB for PostgreSQL云原生分布式开源数据库](https://github.com/ApsaraDB/PolarDB-for-PostgreSQL "57258f76c37864c6e6d23383d05714ea")
76+
77+
78+
#### [PostgreSQL 解决方案集合](https://yq.aliyun.com/topic/118 "40cff096e9ed7122c512b35d8561d9c8")
79+
80+
81+
#### [德哥 / digoal's github - 公益是一辈子的事.](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae")
82+
83+
84+
![digoal's wechat](../pic/digoal_weixin.jpg "f7ad92eeba24523fd47a6e1a0e691b59")
85+

202201/20220110_03_pic_001.png

191 KB
Loading

202201/20220110_03_pic_002.png

73.4 KB
Loading

202201/20220110_04.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
## 德说-第85期, 虚像=逻辑=基因=生命
2+
3+
### 作者
4+
digoal
5+
6+
### 日期
7+
2022-01-10
8+
9+
### 标签
10+
PostgreSQL , 虚像 , 逻辑 , 基因 , 生命 , 同一性 , 自组织
11+
12+
----
13+
14+
## 背景
15+
视频回放:
16+
17+
逻辑=基因=生命
18+
19+
是什么让集体的行为有了意识? 是什么让独立的个体能够组合成为虚拟集体生命?
20+
- 是逻辑!
21+
22+
专业术语 - 虚拟生命的2条法则:
23+
- 同一性的核心要素: 要求每个个体对同一性法则(逻辑)的绝对相信
24+
- 自组织涌现的核心要素: 要求附近个体之间的强连接
25+
26+
让人去相信无法证伪、无法证实的虚像, 相信看不见摸不着的逻辑, 是非常困难的事情:
27+
但是有句话你应该听过: 因为相信所以看见
28+
- 黄帝内经: 不信 - 阳虚
29+
- 黄帝内经: 存疑 - 阴实
30+
- 信仰信仰, 首先是信
31+
32+
科学的现状就像《矩阵》里这个世界的虚拟设定:
33+
- 给你点希望, 好像通过努力就能过得更好.
34+
- 如果你的目标是无穷大, 走100步和走100万步是一样的. 在系统内永远无法突破边界.
35+
- 就好像 拿个杆子, 绑个球, 绑在身体上, 你感觉跳起来就能购得到, 实际上永远够不到.
36+
37+
推荐:
38+
- 圣经
39+
- 开悟者眼中的生命真相
40+
- 复杂
41+
- 必然
42+
43+
44+
#### [期望 PostgreSQL 增加什么功能?](https://github.com/digoal/blog/issues/76 "269ac3d1c492e938c0191101c7238216")
45+
46+
47+
#### [PolarDB for PostgreSQL云原生分布式开源数据库](https://github.com/ApsaraDB/PolarDB-for-PostgreSQL "57258f76c37864c6e6d23383d05714ea")
48+
49+
50+
#### [PostgreSQL 解决方案集合](https://yq.aliyun.com/topic/118 "40cff096e9ed7122c512b35d8561d9c8")
51+
52+
53+
#### [德哥 / digoal's github - 公益是一辈子的事.](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae")
54+
55+
56+
![digoal's wechat](../pic/digoal_weixin.jpg "f7ad92eeba24523fd47a6e1a0e691b59")
57+

202201/readme.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
### 文章列表
44
----
5+
##### 20220110_04.md [《德说-第85期, 虚像=逻辑=基因=生命》](20220110_04.md)
6+
##### 20220110_03.md [《一起学PolarDB - 第13期 - 为什么木桶有短板?》](20220110_03.md)
7+
##### 20220110_02.md [《github star趋势》](20220110_02.md)
58
##### 20220110_01.md [《一起学PolarDB - 第12期 - 为什么增加只读实例不能提高单条SQL的执行速度?》](20220110_01.md)
69
##### 20220105_01.md [《一起学PolarDB - 第11期 - 为什么实例越大备份与恢复越难?》](20220105_01.md)
710
##### 20220104_03.md [《一起学PolarDB - 第10期 - 为什么数据库重启或崩溃恢复后性能可能瞬间很差?》](20220104_03.md)

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ digoal's|PostgreSQL|文章|归类
8787

8888
### 所有文档如下
8989
----
90+
##### 202201/20220110_04.md [《德说-第85期, 虚像=逻辑=基因=生命》](202201/20220110_04.md)
91+
##### 202201/20220110_03.md [《一起学PolarDB - 第13期 - 为什么木桶有短板?》](202201/20220110_03.md)
92+
##### 202201/20220110_02.md [《github star趋势》](202201/20220110_02.md)
9093
##### 202201/20220110_01.md [《一起学PolarDB - 第12期 - 为什么增加只读实例不能提高单条SQL的执行速度?》](202201/20220110_01.md)
9194
##### 202201/20220105_01.md [《一起学PolarDB - 第11期 - 为什么实例越大备份与恢复越难?》](202201/20220105_01.md)
9295
##### 202201/20220104_03.md [《一起学PolarDB - 第10期 - 为什么数据库重启或崩溃恢复后性能可能瞬间很差?》](202201/20220104_03.md)

0 commit comments

Comments
 (0)