digoal
2023-10-30
PostgreSQL , PolarDB , 应用开发者 , DBA , 公开课
磨刀不误砍柴功.
1、软硬件环境
1.1、笔记本(推荐mac)
可以淘一台性价比高一点的, 建议16G内存以上:
- macmini: M1 16G 256 闲鱼 3000RMB 左右.
- macmini: M2 16G 256 教育版 新 4200RMB 左右.
- macmini: 2018款(i5 32G 256) 闲鱼 3000RMB 左右.
- mbp: 2019款(i7 32G 256) 无头骑士 闲鱼 2000RMB 左右.
相关文章:
我在github分享的一些macOS使用经验, 大家可以把我的github克隆到本地阅读:
git clone --depth 1 https://github.com/digoal/blog
cd blog
grep -i mac README.md
1.2、docker desktop
为了学习方便, 可以使用docker学习镜像, 里面打包了相关的软件环境, 省去了部署环境带来的时间浪费.
参考文章: https://docs.docker.com/desktop/install/mac-install/
1.3、docker image
我们用到的镜像如下:
x86_64机器使用以下PostgreSQL docker image:
ARM64机器使用以下PostgreSQL docker image:
PolarDB docker image不区分芯片架构:
docker pull polardb/polardb_pg_local_instance
docker image可以跑这几个地方:
- 在永久免费的阿里云云起实验室 里面
- 也可以跑在你的本地电脑中, 就是前面推荐的Mac.
- 如果你是在校大学生, 可以申请阿里云云工开物的券, 免费购买ECS来完成本公开课的实验.
1.3.1、例子
x86_64 架构macOS 采用如下方式获取PostgreSQL 本公开课教学docker镜像, 启动容器:
# 拉取镜像, 第一次拉取一次即可. 或者需要的时候执行, 将更新到最新镜像版本.
docker pull registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts
# 启动容器
docker run --platform linux/amd64 -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts
##### 如果你想学习备份恢复、修改参数等需要重启数据库实例的case, 换个启动参数, 使用参数--entrypoint将容器根进程换成bash更好. 如下:
docker run --platform linux/amd64 -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g --entrypoint /bin/bash registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts
##### 如果采用以上启动方式, 进入容器后, 需要手工启动数据库实例: su - postgres; pg_ctl start;
# 进入容器
docker exec -ti pg bash
# 连接数据库
psql
ARM64 架构macOS 采用如下方式获取PostgreSQL 本公开课教学docker镜像, 启动容器:
# 拉取镜像, 第一次拉取一次即可. 或者需要的时候执行, 将更新到最新镜像版本.
docker pull registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64
# 启动容器
docker run -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64
##### 如果你想学习备份恢复、修改参数等需要重启数据库实例的case, 换个启动参数, 使用参数--entrypoint将容器根进程换成bash更好. 如下:
docker run -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g --entrypoint /bin/bash registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64
##### 如果采用以上启动方式, 进入容器后, 需要手工启动数据库实例: su - postgres; pg_ctl start;
# 进入容器
docker exec -ti pg bash
# 连接数据库
psql
1.4、为了提升访问放在github里的本门公开课的教程内容, 你可以参考如下文章, 自己决定是否需要再配置一下环境:
2、参考学习资料
有些内容我无法在公开课中详细介绍, 大家一定要学会自学, 以下是我整理的学习资料.
建议大家第一步是熟悉这些材料的目录, 把目录掌握的好处是遇到问题可以快速定位需要翻阅的详细内容.
2.1、数据库概念以及SQL基础
- PostgreSQL Introduction and Concepts
- https://www.postgresqltutorial.com/
- https://www.tutorialspoint.com/postgresql/index.htm
- https://www.w3schools.com/postgresql/index.php
2.2、数据库原理
2.3、手册
2.4、代码
2.5、老鸟杂谈 & 精选
- https://github.com/digoal/blog/blob/master/README.md
- https://github.com/dhamaniasad/awesome-postgres
2.6、实验手册
2.7、PolarDB 参考学习资料
- PolarDB 学习视频: https://space.bilibili.com/2070322174/channel/series
- PolarDB 大师课学习视频: https://edu.aliyun.com/course/317150
- PolarDB-PG官方手册: https://apsaradb.github.io/PolarDB-for-PostgreSQL/zh/
- PolarDB 电子书: https://developer.aliyun.com/polardb/ebook_hot
- PolarDB-PG 源代码: https://github.com/ApsaraDB/PolarDB-for-PostgreSQL
- 云起实验室: https://developer.aliyun.com/adc/labs/
- 实验手册: https://gitee.com/polardb/whudb-course
- PolarDB 课程汇总: https://developer.aliyun.com/polardb/course_training_camp_hot
- PolarDB 初级人才学习和认证: https://developer.aliyun.com/trainingcamp/e13994620b654491812de947053df8fc
- PolarDB 专业认证: 上架中, 敬请期待. https://edu.aliyun.com/certification
- PolarDB学习图谱汇总: https://www.aliyun.com/database/openpolardb/activity
3、学习交流渠道
- 在这个URL加小助手, 加入学习数据库的“微信群”和“钉钉群”: https://openpolardb.com/community
4、这门课程以讲解开发者|开发者|架构师需要掌握的PostgreSQL|PolarDB数据库功能、原理和实用技巧为主, 重在通过实操消化课程内容. 同时有想法的你肯定想把所学内化并呈现成你自己的产品|作品、影响力, 可以乘着云资源打骨折价的时候, 申请一些(ECS, PolarDB)以备使用.
- 1, 大学生: 每年可领取300元云资源低扣券, https://university.aliyun.com/
- 2, 所有人: ECS, 99元/年 2核2G, 3M固定带宽, 40G ESSD Entry云盘, https://www.aliyun.com/activity/allinaliyun/2023ECS
- 3, 所有人: PolarDB商业版, 50几元, 近期还有返100天猫超市卡的活动, https://www.aliyun.com/database/polardb-fission
对于在生产环境使用数据库的同学, 推荐一些开源/商业的相关产品供大家选择.
4.1、云数据库服务推荐:
- RDS OLTP开源关系数据库: https://www.aliyun.com/product/rds/postgresql
- PolarDB HTAP云原生分布式数据库: https://www.aliyun.com/product/apsaradb/polardbpg
- ADB 分析型数据仓库: https://www.aliyun.com/product/apsaradb/gpdb
4.2、自建开源/商业服务/周边生态工具推荐:
- pigsty 开源PostgreSQL管控产品: https://pigsty.cc/zh/
- club 商业PostgreSQL管控产品/服务: https://www.csudata.com/clup
- kubeblocks 多云多数据库产品管控: https://kubeblocks.io/
- 莲子 实时数据融合产品: http://www.lotuseed.com/
- 九章 数据管理产品: https://www.ninedata.cloud/
- bytebase 多数据库产品安全审计/发布产品: https://www.bytebase.com/
- 武汉智核芯数 PostgreSQL数据库集成/服务/培训:
- cuug 数据库培训服务: https://www.cuug.com/cuug/index.html
- ...
- 还很多, 现在数据库这个赛道百花齐放, 八仙过海各显神通.