为什么全网都在劝你在学PG,而不是MySQL?

Posted IT邦德

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么全网都在劝你在学PG,而不是MySQL?相关的知识,希望对你有一定的参考价值。

作者:IT邦德
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
(Web\\java\\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、
mysql、Oceanbase(OBCA)认证
分布式TBase\\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验

擅长主流数据Oracle、MySQL、PG 运维开发,
备份恢复,安装迁移,性能优化、故障应急处理等。

前言

开源力量与职业发展 ,写给对PostgreSQL有志趣的朋友们

1.PG简介

● PostgreSQL是加州大学伯克利分校计算机系开发的,
一个开源免费的关系式数据库管理系统,经过长达15年以上的积极开发和不断改进,
PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内相对高的声誉。
● PostgreSQL可以运行在所有主流操作系统上,
包括Linux、AIX、HP-UX、Solaris和Windows等34种平台。
● PostgreSQL是完全的事务安全性数据库,
完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。
● PostgreSQL支持了大多数SQL标准的数据类型,
包括整型、数值型、布尔型、字节型、字符型、日期型、时间型、二进制的大对像(图片、声音和视频)。
● PostgreSQL的存储过程开发可以使用众多的程序语言,
包括Java、Perl、Python、Ruby、Tcl、C/C++和自带的PL/pgSQL,
其中的PL/pgSQL与Oracle的PL/SQL很相似,内置了数百个函数,
功能从基本的算术计算和字符串处理到加密逻辑计算并与Oracle有高度兼容性。
● PostgreSQL对很多高级开发语言有原生的编程接口,
如C/C++、Java、.Net、Perl、Python、Ruby、Tcl和ODBC以及其他语言等,也包含各种文档。
● PostgreSQL有很多高级功能,像多版本并发控制(MVCC)、
按时间点恢复(PITR)、表空间、异步复制、嵌套事务、在线热备、
复杂查询的规划和优化以及为容错而进行的预写日志等。
● PostgreSQL支持国际字符集、多字节编码并支持使用当地语言进行排序、
大小写处理和格式化等操作。
● PostqreSQL有很多高品质的图形化的PostgreSQL管理工具软件,
包括开源和商业性质的。
● PostgreSQL的源代码可以自由获取,它的授权是在非常自由的开源授权下,
这种授权允许用户在各种开源或是闭源项目中使用、修改和发布PostgreSQL的源代码。
用户对源代码的可以按用户意愿进行任何修改、改进。
● 目前有不少业务系统使用PostgreSQL在实际生产环境下管理着超过4TB的数据。
● PostgreSQL的快速发展是由于MySQL被Oracle公司收购导致的,
同时在2019年微软官宣收购PostgreSQL初创公司Citus Data。

2.为什么学PG

1.PG是数据库管理系统,发展已有三十多年,
是国际内核编码者的智慧结晶,并仍在不断迭代更新,
基本每年都会有一个更完善的大版本发布(2019-10-03-PostgreSQL 12已发布);
2.PG是基础软件,不仅对企业的数据管理起着非常关键的作用,
而且随着技术的发展,能适用于多种领域、多种架构; 
3.PG是开源软件,有着友好的开源协议,
可以获取源代码深入学习(源代码是C语言实现),还可以获得乐于分享的技术前辈的资源与帮助;
4.PG可以发挥的空间比较大,可以根据自己的兴趣参与数据建模、DB运维、应用或系统开发;
说到发挥空间,谈谈PG学以致用的三个方面:
1) 会使用,用的熟练,成为运维管理、数据库应用能手;
2) 会修改,改成适合自己业务场景的数据库,变成开发能力者;
3) 会重造,重造一个更好的数据库产品,开启数据库发展的新篇章。
 我认为,技术人的追求是通过刻意的练习成为高手,
 学以致用(建议阅读《刻意练习》这本书,对于有效学习会很有帮助)。

3.PG职业发展

接下来说一下与数据库相关的职业方向:
1.DBA (数据库管理人员):
主要负责数据库架构、部署、运维、排除故障、性能优化等工作内容。
2.DEV(应用开发人员):
负责企业应用程序开发、迁移、数据库应用开发建模、数据库应用优化等。
3.系统开发人员:
系统软件的开发主要面向操作系统、中间件、数据库、虚拟化系统环境的优化、裁剪、补丁修复。
4.系统运维人员:
面向网络、系统(操作系统、中间件、数据库、虚拟化)、硬件等基础环境的运行、维护、升级等。 
5.数据分析人员:
面向企业海量数据的整合、分析,提供价值报表,实时动态,
为企业发展决策提供依据;当下热门的人工智能同样需要基于大量数据进行计算分析。
6.系统架构人员:
相对较高级的职位,负责整体架构的部署及优化,譬如虚拟化架构、
云计算平台架构、大数据平台架构等,数据库自然是架构中很重要的一环。
7.软件推广、销售人员:主要面向应用软件、系统软件的推广、营销、销售等工作
另外,国际新形势、国内新政策下,有多家知名公司已经基于PG研发自主可控的数据库产品,
其中主要包括:阿里POLARDB、亚信ANTDB、腾讯TBase、华为GaussDB、
瀚高HGDB等。其中势必蕴含了大量的技术人才需求,值得大家投入到学习PG的队伍中,
推动我们的数据库产品健康、蓬勃发展。

4.PG学习指引

1. 建议阅读《PostgreSQL学习的九层宝塔》:
https://mp.weixin.qq.com/s/i7b6FvY3PYC2JENCgiVxjQ
2.可自主学习阅读PG应用管理基础文档,
本部分内容主要是中国PG分会培训认证PGCA课程的节选,
相关链接:http://www.postgresqlchina.com/tecdoc
3.PG学习的主力站点
PG国际社区:https://www.postgresql.org/
1) PG概要:https://www.postgresql.org/about/
2) PG在线帮助文档(英文版本,多PG版本):
https://www.postgresql.org/docs/
3)也可通过PG中文手册查阅学习,访问地址:
http://www.postgres.cn/docs/10/;
http://www.postgres.cn/docs/11/
4)安装介质下载地址:
https://www.postgresql.org/download/
主要有二进制、源码编译安装两种方式,二进制安装介质对应不同的操作系统。
例外还有一种基于PG的产品发布版本的安装,
可以通过产品的公司官网获得安装介质及安装方法,
譬如阿里POLARDB、亚信ANTDB、腾讯TBase、华为GaussDB、瀚高HGDB等。
5)在线学习资源
https://www.postgresql.org/docs/online-resources/
包含丰富的教程、动手练习资源

5.PostgreSQL证书

按照等级分为PGCA、 PGCE、PGCM,大家考个PGCE就可以,工作中够用了




附本地版的PG中文手册下载地址(个人收集):
链接: https://pan.baidu.com/s/1ihx3VJOH-eW4MBii62fC7g?pwd=sbtg
提取码: sbtg

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻

以上是关于为什么全网都在劝你在学PG,而不是MySQL?的主要内容,如果未能解决你的问题,请参考以下文章

[转]所有人都在渲染程序员的中年危机,我们却在劝你重新学会学习

全网都在说一个错误的结论

全网都在说一个错误的结论

全网都在说一个错误的结论

全网最详细的新手入门Mysql命令和基础,小白必看!

数据库的类型都有哪些?本人在学mysql.