为什么通常扩容需要停机?
文章开始前推荐2个学习环境:
1、欢迎使用镜像快速体验PostgreSQL/DuckDB强大功能:《最好的PostgreSQL学习镜像》
2、欢迎使用云起实验室: 《免费体验PolarDB开源数据库》
3、PolarDB开源数据库内核、应用等学习图谱: https://www.aliyun.com/database/openpolardb/activity
为什么通常扩容需要停机?
https://www.bilibili.com/video/BV1Bm4y1Q7ZD/
通常我们说的扩容: 计算、存储、其他硬件(网卡、内存、CPU等).
PostgreSQL社区版本:
非本地(网络存储)存储, 例如NAS(带文件系统的)扩容取决于远端是否支持在线扩容.
还有一种远端的块设备(例如SAN、分布式块存储)也能在线扩容, 本地还依赖自动发现块设备的新增或者块设备的大小变化, 文件系统是否支持在线扩容, 例如ext4, xfs可以通过resize2fs或xfs_growfs调整. - 如果使用了lvm则需要先扩vg再扩lv.
其他本地硬件扩容都需要停机或主备割接(先升级备再升级主).
PolarDB:
计算存储分离架构. 支持在线扩存储. 业务0感知. 不需要切换RO RW.
本期问题1:
请问PolarDB PG扩什么对业务完全无感?
a. 存储
b. 网卡带宽
c. CPU
d. 主机
答案:
a
解释:
PolarDB采用计算存储分离架构, 存储通常使用分布式块存储、商业SAN、polarstore等. 扩容存储不需要停实例, 不需要切换RO RW角色. 在存储和PFS层完成.
CPU、主机、网卡扩容需要割接RO RW主机, 逐步升级, 割接时间通常秒级.
https://www.wjx.cn/
欢迎关注我的github (https://github.com/digoal/blog) , 学习数据库不迷路.
近期正在写公开课材料, 未来将通过视频号推出, 欢迎关注视频号:
文章中的参考文档请点击阅读原文获得.