课程目标

学完本课程,可以掌握:
1. 从 PG 的历史、社区、架构、客户群、应用场景、生态角度了解 PG,同时对于 PG 与其他企业级商用数据库产品有一个大致的差异化理解,了解 PG 的学习资料,技术交流圈子;
2. 熟悉 PostgreSQL 在 Linux 中的软件安装;
3. 熟悉数据库初始化、架构、参数、防火墙、权限体系、逻辑结构;
4. 学习掌握数据库的使用,数据类型、操作符、对象类型内置函数,高级 SQL 用法;
5. 学习掌握 PG 的 btree, hash,gin,gist,spgist,brin,bloom,rum 索引接口,以及应用场景;
6. 学习掌握数据库的工业通用、定制压测方法;
7. 了解数据库的持续备份、时间点恢复,导入、导出;
8. 了解数据库的 HA 架构,流复制备库,quorum based 多副本架构,读写分离;
9. 学习掌握 PG 的逻辑订阅功能,了解通过MTK从其他数据库(Oracle, MySQL, Sybase, Mssql)迁移到 PG,了解异构数据库增量同步到PG;
10. 了解 PG 的 sharding 的使用、生态;
11. 学习掌握 PG 的 SQL 审计配置、PG 的日常维护,监控,排错,PG 的优化方法;
12. 学习掌握 PG 的 Oracle 兼容插件,PLPGSQL 的开发,了解 PG 的其他存储过程语言,了解 PG 的商用版本 PPAS 的 Oracle 兼容性,差异性;
13. 学习掌握 ADAM 去O方法论;
14. 学习掌握 PG 的 OLTP, OLAP 混合负载的场景,并行计算算法;
15. 学习掌握为什么需要连接池,以及连接池的配置和用法;
16. 了解 PG 的多模应用;
17. 了解 PG 的应用案例;
18. 了解数据库原理;
19. 了解数据库开发、管理规约;
20. 了解 PG 的技术圈子,继续学习 PG 的方法。

适用人群

开发者、DBA、运维、架构师、企业去O决策者。

课程概述


【课程大纲】

第一章:掀开 PostgreSQL 的盖头 

内容概要:

1、历史介绍;2、社区介绍;3、特性介绍;4、常见架构介绍;5、国内外常见客户介绍;6、常见应用场景介绍;7、流行衍生产品介绍;8、基于 PG 的数据库、云厂商介绍;9、相比其他开源、商业数据库差异化介绍;10、技术交流圈子、学习资料介绍。

目标:

1、从 PG 的历史、社区、架构、客户群、应用场景、生态角度了解 PG,同时对于 PG 与 其他企业级商用数据库产品有一个大致的差异化理解,了解 PG 的学习资料,技术交流圈 子。


第二章:安装

内容概要:

1、介绍 Linux 环境的数据库相关内核参数、存储、文件系统、资源限制、CGROUP 资源 隔离等相关配置与优化;

2、介绍 Linux 下 PostgreSQL 的编译安装;3、介绍 Linux 下 PostgreSQL 的 rpm 安装。目标:1、熟悉 PostgreSQL 在 Linux 中的软件安装。

练习:

在自己的环境中,比如 Windows、Linux、MAC 中安装 PostgreSQL 软件。


第三章:实例初始化、基本配置 

内容概要:

1、初始化数据库实例;2、数据库架构;

3、PG 参数介绍、优化;4、数据库防火墙介绍与配置;5、数据库权限体系、逻辑结构介绍;6、连接数据库。

目标:

1、熟悉数据库初始化、架构、参数、防火墙、权限体系、逻辑结构。

练习:

1、初始化数据库实例;2、完成参数配置;3、远程连接数据库。


第四章:应用开发者指南 

内容概要:

1、基本 SQL 语句用法;2、数据类型、操作符;3、数据库对象类型;4、内置函数;5、自定义函数 sql, plpgsql;6、高级 SQL 用法与应用场景。目标:

1、学习数据库的使用,数据类型、操作符、对象类型内置函数,高级 SQL 用法。

练习:

1、建表,写入测试数据,聚合查询,递归查询,分解查询,自定义函数,自定义并行函数。


第五章:备份、恢复、容灾

内容概要:

1、备份的几种方式(逻辑全量、数据文件+归档,数据文件增量,快照)介绍;2、异地持续备份(pg_receivewal、standby);3、异地容灾;4、还原点概念;5、时间点恢复;6、pg_dump 逻辑备份、导出,服务端 COPY 和客户端 COPY;7、TOC 概念,pg_restore 数据导入、批量数据入库(insert 批量,服务端和客户端 COPY批量)。

目标:

1、了解数据库的持续备份、时间点恢复,导入、导出。

练习:

1、配置数据库参数,并完成一次全量备份,归档备份;2、对数据库进行一些读写,记录时间,XID,创建恢复点,完成一次时间点恢复;3、完成一次服务端 COPY 导入导出;4、完成一次客户端 COPY 导入导出;5、完成一次逻辑备份全库,并恢复到目标库。


第七章:HA、replica、复制、读写分离、多副本

内容概要:

1、HA 架构(基于流复制,基于共享存储),常用的 HA 软件(patroni, rhcs);2、基于流复制的 active standby;3、多副本,两地三中心环境部署介绍;4、基于 pgpool 的透明读写分离。

目标:

1、了解数据库的 HA 架构,流复制备库,quorum based 多副本架构,读写分离。

练习:

1、搭建一个流复制备库;2、搭建一个 quorum based 的流复制备库,并模拟一个、多个备库 DOWN 机,观察同 步事务的状态;3、压测,观察同步复制带来的延迟、异步复制带来的延迟。


第八章:单元化、逻辑订阅 

内容概要:

1、基于流复制协议的逻辑订阅;2、多向复制(multi-master)的方法;3、异构数据库迁移(mtk);4、异构数据库增量准实时同步(x replication)。

目标:

1、学习 PG 的逻辑订阅功能,了解通过 MTK 从其他数据库(Oracle, MySQL, sybase, mssql)迁移到 PG,了解异构数据库增量同步到 PG。

练习:

1、建立两个 PG 实例,练习使用逻辑订阅,发布表、订阅表。


第九章:Sharding

内容概要:

1、PG 的 sharding 用法、不同 sharding 用法的差异、应用场景:citus, antdb, sharding sphere, pg-xl, gpdb。

目标:

1、了解 PG 的 sharding 的使用、生态。

练习:

1、配置和使用 citus。


第十章:日常维护、监控、排错、优化

内容概要:

1、配置审计,以及审计日志的报告用法(pgBadger);2、PG 的日常维护;3、监控指标,常用监控软件(pgmetric, pgstatsinfo, nagios, zabbix 等);4、排错;5、PG 的优化方法。

目标:

1、学习 PG 的 SQL 审计配置、PG 的日常维护,监控,排错,PG 的优化方法。

练习:

1、配置审计日志,观察审计日志;2、观察膨胀,垃圾回收,在线索引重建,DDL 操作防雪崩,AB 表切换;3、性能压测,同时观察 TOP SQL;4、制造一些错误,观察报错的源码。


第十一章:Oracle 兼容、迁移

内容概要:

1、Oracle 兼容插件 orafce;2、plpgsql 存储过程介绍,pl/sql 转换到 PLPGSQL 的例子;3、其他存储过程语言(pljava, plperl, pltcl, pllua 等);4、PG 兼容 ORACLE 的商用版本 PPAS 介绍,兼容点有哪些,有哪些差异化特色;5、ADAM 去 O 方法论。

目标:

1、学习 PG 的 ORACLE 兼容插件,PLPGSQL 的开发,了解 PG 的其他存储过程语言,了 解 PG 的商用版本 PPAS 的 ORACLE 兼容性,差异性;2、学习 ADAM 去 O 方法论。

练习:

1、安装 ppas;2、配置 PPAS 的 PG 兼容模式和 ORACLE 兼容模式;3、使用 ADAM 评估去 O。


第十二章:创新能力(HTAP、混合负载、多模)、应用案例

内容概要:

1、介绍 PG 的混合负载配置(并行计算相关的参数配置),并行计算的并行度算法;2、连接池的介绍,为什么需要连接池,会话级缓存(长连接,分区表需要注意的问题);3、介绍 PG 的多模插件(多维、中文分词、模糊查询、图像查询、相似搜索、时空、时 序、空间、流计算、列存、机器学习、异构数据外部表、GPU 加速),阿里云的 ganos, varbitx, roaringbitmap, 冷热分离 oss_fdw 等插件;4、案例介绍。

目标:

1、学习 PG 的 OLTP,OLAP 混合负载的场景,并行计算算法;2、学习为什么需要连接池;3、了解 PG 的多模应用;4、了解 PG 的应用案例。

练习:

1、强制并行计算练习;2、练习中文分词插件的安装和使用;3、练习多维向量相似搜索的使用;4、练习模糊查询的使用;5、练习流计算的使用;6、练习 GIS 的使用。


第十三章:PG 数据库原理 

内容概要:

1、堆存储原理;2、记录存储原理;3、类型压缩原理;4、切片存储原理;5、索引数据结构、存储结构;6、扫描\JOIN 方法;7、HINT;8、垃圾回收原理。

目标:

1、了解数据库原理。

练习:

1、优化器开关,观察不同的扫描、JOIN 方法;2、观察垃圾回收的详情。


第十四章:管理、开发规约 

内容概要:

1、规约;2、社区官网、官微、PG 钉钉技术群(每周直播、专家问答)、讲师微信、学习资料(git);3、问答。

目标:

1、了解数据库开发、管理规约;2、了解 PG 的技术圈子,继续学习 PG 的方法。


【讲师简介】


周正中(德哥)

阿里云高级产品专家,PostgreSQL 中国社区发起人之一PostgreSQL 象牙塔 发起人之一;DBA+社群 联合发起人之一;10 余项数据库相关专利; 曾就职于斯凯网络,负责数据库部门。主导了集团数据库系统、存储、主机、操作系统、 多 IDC 的架构设计和建设;完成了对数据库 HA、容灾、备份、恢复、分布式、数据仓库 架构设计和建设;数据库管理和开发的标准化体系建立。于纳斯达克上市前成功使用PostgreSQL 完成去 O,并顺利通过 SOX 审计。现就职于阿里云数据库内核技术组。




课程目录

1 第1章:掀开 PostgreSQL 的盖头
2 第2章:安装
3 第3章:实例初始化、基本配置
5 第5章:备份、恢复、容灾
6 第6章:replica(流复制)、多副本、读写分离、HA
7 第7章:逻辑订阅、单元化,同构、异构迁移、同步
8 第8章:Sharding
9 第9章:日常维护、监控、排错、优化
10 第10章:Oracle兼容、迁移
11 第11章:创新能力(HTAP、混合负载、多模)、应用案例
12 第12章:数据库原理
13 第13章:管理、开发规约

课程评价

课程讲师

DTCC大会
  • 课程数
    48
  • 学生数
    6477
中国数据库技术大会(简称DTCC)是国内数据库及大数据领域专业的技术交流盛会。DTCC每年邀请百余位行业专家,就热点技术话题进行分享,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。

最近学习用户 146人报名试学

  • sh1121

  • chaonuli

  • 周舟_32306