【学习资料】第1期Oracle DBA 增值 PostgreSQL,Greenplum 学习计划 - 珍藏级

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 大家好,这里是Oracle DBA 增值 PostgreSQL,Greenplum 学习计划 - 珍藏级

背景


去O很大程度上是战略考虑,比如斯诺登事件,最近xx摩擦的ZxE事件,使得去O成为一个不可不做的事情。

但是去O喊了若干年,并没有真正意义上成为轻松愉快的全民运动,比较大的原因可能是

1、去O的成本

2、去O后的责任方

3、利益

随着云计算的兴起,第2,3点应该可以得到很好的解决(有问题找O转换为有问题找云厂商)。而去O的成本就成为一个比较痛的点,到底需要花多少人力物力可以完成去O,过去基本上都是拍脑袋的,每个项目因人而异。同时大部分的成本又来自于对应用的改造。(因为目标库不具备Oracle兼容性,需要大改)

不过成本的问题,也已经解决,阿里云RDSPG,基于PostgreSQL的Oracle兼容版PPAS,不仅在“功能、性能、可靠性、扩展性”等方面可以满足业务的需求。同时很大程度上解决了ORACLE在SQL语法、表、视图、物化视图、类型、操作符、内置函数、PL/SQL存储过程、PACKAGE的兼容问题,使得迁移成本降到了非常低的水平。

采用阿里云提供的Oracle评估软件"ADAM",甚至可以做到精确的衡量 (报告会明确告诉:有多少对象,有多少兼容,多少不兼容,不兼容的如何修改等) 。

作为Oracle DBA,学习PostgreSQL,Greenplum是非常有必要的。

学习计划

九阳神功。

第一重、概念了解 (30天)

可以看这几本书

https://momjian.us/main/writings/pgsql/aw_pgsql_book/

https://www.postgresql.org/docs/online-resources/

http://www.postgresqltutorial.com/

http://www.tutorialspoint.com/postgresql/

http://www.interdb.jp/pg/ 这本比较深,建议在90天后再看。

<SQL进阶教程>

目标:

学习PG的一些基本知识,SQL的用法等。

第二重、安装PostgreSQL (1天)

看你的兴趣选择

https://www.postgresql.org/docs/devel/static/installation.html

《PostgreSQL 10 on ECS 实施 流复制备库镜像+自动快照备份+自动备份验证+自动清理备份与归档 - 珍藏级》

《PostgreSQL 10 + PostGIS + Sharding(pg_pathman) + MySQL(fdw外部表) on ECS 部署指南(适合新用户) - 珍藏级》

《PostgreSQL on Linux 最佳部署手册 - 珍藏级》

《HAWQ 集群部署 on ECS》

《CentOS 7.x x64 部署 HAWQ》

《CentOS 6.x x64 部署HAWQ》

《Greenplum 源码安装》

目标:

学习如何安装软件。

第三重、了解几个常用command (1天)

建议看一下man command,详细的了解他们

https://www.postgresql.org/docs/devel/static/reference-client.html

https://www.postgresql.org/docs/devel/static/reference-server.html

psql

pg_ctl

pgbench

pg_basebackup

pg_dump

pg_dumpall

pg_test_fsync

目标:

了解PG软件的几个常用命令

第四重、初始化数据库,了解配置文件 (1天)

使用initdb命令初始化数据库集群

同时你需要了解3个配置文件,建议每一个配置都详细的了解清楚

postgresql.conf

pg_hba.conf

如果你需要配置standby,流复制备库、或将数据库恢复到时间点,需要配置recovery.conf

recovery.conf

第五重、场景把玩 (60天)

了解场景,以及数据库特性,加深对PG的了解。

建议看这篇文档中的PPT

《阿里云 PostgreSQL 产品生态;案例、开发实践、管理实践、学习资料、学习视频 - 珍藏级》

同时看一下这一系列的文档,并了解每一个场景,以及上手玩一下每一个场景。

《HTAP数据库 PostgreSQL 场景与性能测试之 47 - (OLTP) 空间应用 - 高并发空间位置更新、多属性KNN搜索并测(含空间索引)末端配送、新零售类项目》

《HTAP数据库 PostgreSQL 场景与性能测试之 46 - (OLTP) 大json字段的高并发更新》

《HTAP数据库 PostgreSQL 场景与性能测试之 45 - (OLTP) 数据量与性能的线性关系(10亿+无衰减), 暨单表多大需要分区》

《[未完待续] HTAP数据库 PostgreSQL 场景与性能测试之 44 - (OLTP) 空间应用 - 空间包含查询(输入多边形 包含 表内空间对象)》

《HTAP数据库 PostgreSQL 场景与性能测试之 43 - (OLTP+OLAP) unlogged table 含索引多表批量写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 42 - (OLTP+OLAP) unlogged table 不含索引多表批量写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 41 - (OLTP+OLAP) 含索引多表批量写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 40 - (OLTP+OLAP) 不含索引多表批量写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 39 - (OLTP+OLAP) 含索引多表单点写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 38 - (OLTP+OLAP) 不含索引多表单点写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 37 - (OLTP+OLAP) 含索引单表批量写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 36 - (OLTP+OLAP) 不含索引单表批量写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 35 - (OLTP+OLAP) 含索引单表单点写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 34 - (OLTP+OLAP) 不含索引单表单点写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 33 - (OLAP) 物联网 - 线性字段区间实时统计》

《HTAP数据库 PostgreSQL 场景与性能测试之 32 - (OLTP) 高吞吐数据进出(堆存、行扫、无需索引) - 阅后即焚(JSON + 函数流式计算)》

《HTAP数据库 PostgreSQL 场景与性能测试之 31 - (OLTP) 高吞吐数据进出(堆存、行扫、无需索引) - 阅后即焚(读写大吞吐并测)》

《HTAP数据库 PostgreSQL 场景与性能测试之 30 - (OLTP) 秒杀 - 高并发单点更新》

《HTAP数据库 PostgreSQL 场景与性能测试之 29 - (OLTP) 空间应用 - 高并发空间位置更新(含空间索引)》

《HTAP数据库 PostgreSQL 场景与性能测试之 28 - (OLTP) 高并发点更新》

《HTAP数据库 PostgreSQL 场景与性能测试之 27 - (OLTP) 物联网 - FEED日志, 流式处理 与 阅后即焚 (CTE)》

《HTAP数据库 PostgreSQL 场景与性能测试之 26 - (OLTP) NOT IN、NOT EXISTS 查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 25 - (OLTP) IN , EXISTS 查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 24 - (OLTP) 物联网 - 时序数据并发写入(含时序索引BRIN)》

《HTAP数据库 PostgreSQL 场景与性能测试之 23 - (OLAP) 并行计算》

《HTAP数据库 PostgreSQL 场景与性能测试之 22 - (OLTP) merge insert|upsert|insert on conflict|合并写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 21 - (OLTP+OLAP) 排序、建索引》

《HTAP数据库 PostgreSQL 场景与性能测试之 20 - (OLAP) 用户画像圈人场景 - 多个字段任意组合条件筛选与透视》

《HTAP数据库 PostgreSQL 场景与性能测试之 19 - (OLAP) 用户画像圈人场景 - 数组相交查询与聚合》

《HTAP数据库 PostgreSQL 场景与性能测试之 18 - (OLAP) 用户画像圈人场景 - 数组包含查询与聚合》

《HTAP数据库 PostgreSQL 场景与性能测试之 17 - (OLTP) 数组相似查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 16 - (OLTP) 文本特征向量 - 相似特征(海明...)查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 15 - (OLTP) 物联网 - 查询一个时序区间的数据》

《HTAP数据库 PostgreSQL 场景与性能测试之 14 - (OLTP) 字符串搜索 - 全文检索》

《HTAP数据库 PostgreSQL 场景与性能测试之 13 - (OLTP) 字符串搜索 - 相似查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 12 - (OLTP) 字符串搜索 - 前后模糊查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 11 - (OLTP) 字符串搜索 - 后缀查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 10 - (OLTP) 字符串搜索 - 前缀查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 9 - (OLTP) 字符串模糊查询 - 含索引实时写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 8 - (OLTP) 多值类型(数组)含索引实时写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 7 - (OLTP) 全文检索 - 含索引实时写入》

《HTAP数据库 PostgreSQL 场景与性能测试之 6 - (OLTP) 空间应用 - KNN查询(搜索附近对象,由近到远排序输出)》

《HTAP数据库 PostgreSQL 场景与性能测试之 5 - (OLTP) 空间应用 - 空间包含查询(表内多边形 包含 输入空间对象)》

《HTAP数据库 PostgreSQL 场景与性能测试之 4 - (OLAP) 大表OUTER JOIN统计查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 3 - (OLAP) 大表JOIN统计查询》

《HTAP数据库 PostgreSQL 场景与性能测试之 2 - (OLTP) 多表JOIN》

《HTAP数据库 PostgreSQL 场景与性能测试之 1 - (OLTP) 点查》

第六重、辅助的参考学习视频或文档 (90天)

在线视频1

http://pan.baidu.com/s/1pKVCgHX

在线视频2

《阿里云 PostgreSQL 产品生态;案例、开发实践、管理实践 PDF》

https://edu.aliyun.com/course/836/lesson/list

第七重、生命周期管理 (180天)

自己摸索、慢慢熟悉

《[未完待续] 数据库生命周期管理》

第八重、如来神掌,进阶 (360天)

《PostgreSQL、Greenplum 《如来神掌》 - 目录 - 珍藏级》

https://momjian.us/

精华:

《阿里云 PostgreSQL 产品生态;案例、开发实践、管理实践、学习资料、学习视频 - 珍藏级》

《PostgreSQL 多场景 阿里云沙箱实验 预告》

第九重、源码 (至少2年)

辅助1、了解官方文档的结构,随时可以查阅 (7天)

https://www.postgresql.org/docs/devel/static/index.html

https://greenplum.org/

辅助2、找一个靠谱的团队

经常开展内部交流,

经常接客,深入了解应用。

辅助3、经常参与社区活动

国内外社区的活动,分享交流。

PostgreSQL hacker邮件列表,参与讨论。

Greenplum是基于PG的MPP数据库,大多数用法与PG类似,可以了解一下Greenplum的原理,深入学习可以看代码。

其他参考文档

https://github.com/topics/postgres?l=c&o=desc&s=stars

https://github.com/dhamaniasad/awesome-postgres

推荐给大学生的PostgreSQL书单

1、概念

http://momjian.us/main/writings/pgsql/aw_pgsql_book/0.html

2、应用开发

《PostgreSQL 服务器编程》

http://www.postgresqltutorial.com/

3、数据库管理

《PostgreSQL 实战》

《PostgreSQL 修炼之道》

4、数据库内核开发

《PostgreSQL 指南 内幕探索》

http://www.interdb.jp/pg/

《PostgreSQL 技术内幕(查询优化器深度探索)》

《PostgreSQL 数据库内核分析》

5、案例

https://github.com/digoal/blog/blob/master/201706/20170601_02.md

6、Bruce的资料库

http://momjian.us/

http://momjian.us/main/writings/

招聘信息

https://github.com/digoal/blog/blob/master/class/33.md

阿里云数据库DBA、内核研发、服务端研发岗位传输门

把云端数据库打造好,为全世界的企业服务,相信云端是未来DBA的一个非常好的归宿。

数据库专家岗位:

职位描述
1.精通SQL Server/MySQL/Postgresql/Redis/MongoDB数据库(之一)的运行机制和架构体系,精通数据库架构与设计,对数据库解决方案的优劣和适用场景有深入的理解,能够根据具体场景合理进行数据库选型和模型设计。
2.熟悉Linux/Unix操作系统,熟练掌握Java/Python/Perl/Golang等语言中的一种,可以通过编写程序解决工作中遇到的问题,具备良好的编程风格。
3.熟练掌握数据库性能优化技巧,能够定位全链路上的性能瓶颈(网络、CPU、IO、操作系统等),并解决问题。
4.具有3年以上项目需求分析、方案架构设计工作经验,具有大型行业应用架构经历以及较强的客户需求调研和需求分析能力者优先。
5.具有强大的内心,具备强烈的抗压能力,具有优秀的客服第一的意识。
6.良好的团队协作能力,善为人师,渴望突破,喜欢有挑战的工作。
7.良好的沟通表达能力,具备优秀的文档能力,使用文字、图示清楚地表达架构意图,能够熟练编写各类技术文档。

数据库产品内核研发岗位:

职位描述:
开发PostgreSQL生态的RDS和HybridDB数据库内核;
拥抱开源,为数据库开源社区贡献力量,提升社区影响力;
参与云数据库产品的客户支持工作;
职位要求:
必备条件:
精通C/C++/JAVA等至少一种开发语言,有良好的算法和数据结构基础;
有数据库、网络、操作系统、高并发系统、分布式系统等至少一个领域的工作经验,并深入理解该领域技术;
热爱底层技术,有追求极致性能和工程质量的热情;
有良好的沟通能力和团队意识,以及追根究底、认真负责的态度;
优先条件(满足下面一条或多条优先考虑):
有PostgreSQL、Greenplum、DB2、Teradata、MySQL、国产数据库、NoSQL数据库等数据库内核开发经验;
深入理解数据库的优化器、执行器、MVCC、锁、日志、缓存区、存储、主备高可用等一个或多个模块原理;
深入理解分布式数据库架构、查询计划、事务等原理;
有数据库内核Oracle兼容性功能开发的经验;
有网络协议、RDMA技术等开发经验;
有Linux内核、驱动等开发经验;
有高性能、高并发服务器开发经验;
有在Linux进行profiling、性能问题分析的经验;

数据库产品服务端开发岗位:

职位描述
1. 至少熟悉Java/Python/Go/Ruby等语言的一种或多种,理解该语言涉及的基础框架,对你使用过的框架能够了解到它的原理和机制;
2. 熟悉linux内核基本原理,常用工具和命令,较好的诊断调优技能;
3. 熟练掌握多线程等高并发系统编程和优化技能;熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息等机制;能对分布式常用技术进行合理应用,解决问题;
4. 熟悉OpenStack/Kubernetes/CloudFoundry等开源云平台者优先,熟悉Docker容器技术、对cgroup/namespace等隔离技术有经验者优先;熟悉Hadoop/Spark/Storm等数据分析平台和经验者优先。
5. 熟悉MySQL/SQLServer/PG等关系型数据库,熟悉Redis/Mongo/HBase/Cassendra/Kafka/Elasticsearch等开源数据库、队列产品,并了解其原理或有运维经验者优先。
6. 快速学习能力,较强的团队沟通和协作能力,较强的自我驱动能力;
通过“阿里巴巴编码规范” 认证的同学优先录取,认证地址:https://edu.aliyun.com/certification/cldt02


简历发送至: dege.zzz@alibaba-inc.com 获得内部推荐机会

请注明应聘岗位。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
|
Oracle 关系型数据库 网络安全
Oracle 19c 安装教程学习
Oracle 19c 安装教程学习
70 2
|
4月前
|
SQL 存储 关系型数据库
新手如何入门学习PostgreSQL?
新手如何入门学习PostgreSQL?
|
4月前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
53 3
|
5月前
|
SQL 存储 关系型数据库
关系型数据库PostgreSQL学习
【7月更文挑战第4天】
459 2
|
6月前
|
存储 关系型数据库 数据库
经验大分享:PostgreSQL学习之【用户权限管理】说明
经验大分享:PostgreSQL学习之【用户权限管理】说明
105 0
|
SQL Oracle 关系型数据库
oracle学习
oracle学习
67 0
|
关系型数据库 C语言 PostgreSQL
PostgreSQL服务端开发学习 -- fmgr.h
fmgr按官方的解释就是Postgres函数管理器和函数调用接口,在使用C语言开发PostgreSQL后端应用时,所以与backend交互时必须遵循fmgr.h中定义的一些规范。
|
7月前
|
Oracle 关系型数据库 数据库
Oracle 11gR2学习之三(创建用户及表空间、修改字符集和Oracle开机启动)
Oracle 11gR2学习之三(创建用户及表空间、修改字符集和Oracle开机启动)
|
7月前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
|
7月前
|
Oracle 关系型数据库 数据库
Oracle 11gR2学习之一(安装篇)
Oracle 11gR2学习之一(安装篇)