為什麼全網都在勸你在學PG,而不是MySQL?

2022-01-01 15:00:01
作者: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

大家點贊、收藏、關注、評論啦 、檢視👇🏻👇🏻👇🏻微信公眾號獲取聯絡方式👇🏻👇🏻👇🏻