溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PostgreSQL學(xué)習(xí)的九層寶塔

發(fā)布時間:2020-08-11 03:14:33 來源:ITPUB博客 閱讀:202 作者:數(shù)據(jù)和云 欄目:關(guān)系型數(shù)據(jù)庫

活動預(yù)告: 在即將到來的  2019 數(shù)據(jù)技術(shù)嘉年華大會上,來自 PostgreSQL 方面的主題同樣豐富多彩,既有來自云廠商的數(shù)據(jù)庫研發(fā)成果,新版本新特性介紹,還有來自于用戶的最佳實踐。

這些主題包括來自 華為智能數(shù)據(jù)與存儲領(lǐng)域總裁  周躍峰 , 阿里巴巴以及PostgreSQL社區(qū)首席布道師的  周正中(德哥),華為GaussDB生態(tài)與標(biāo)準(zhǔn)CTO  王偉民,PostgreSQL社區(qū)核心成員  張文升,騰訊云的技術(shù)專家  孫旭,云和恩墨的研究員  劉偉,阿里云的技術(shù)專家  周振興,騰訊云技術(shù)專家  李躍森  等的主旨分享。這些專家將為大家展示 Postg reSQL 數(shù)據(jù)庫蓬勃的生命力和廣泛的數(shù)據(jù)庫生態(tài),以及最佳應(yīng)用場景。詳情: http://www.modb.pro/dtc(復(fù)制到瀏覽器中打開)  

前言

武俠世界,9是個神奇的數(shù)字,武學(xué)秘籍有《九陽真經(jīng)》《九陰真經(jīng)》,凡武功修煉到第九層,闖蕩江湖將獨孤求敗,快意恩仇。以文昌塔為喻,我把學(xué)習(xí)PG劃分九層,希望可以對玩轉(zhuǎn)數(shù)據(jù)江湖的同學(xué),有所參照,逐層遞進(jìn),直至達(dá)到高手行列,闖蕩職場,游刃有余。

PostgreSQL學(xué)習(xí)的九層寶塔


第一層:初識PG,開闊心胸


數(shù)據(jù)庫不只有Oracle、DB2、SQLSERVER,還有PostgreSQL(簡稱PG),PG是最強大的開源數(shù)據(jù)庫,PG開源友好,學(xué)習(xí)PG可以從事DBA/應(yīng)用開發(fā)/系統(tǒng)內(nèi)核開發(fā)等工作,而且會有很大的發(fā)揮空間,使用PG可以為企業(yè)提供有效的數(shù)據(jù)庫管理,也可以自主可控、節(jié)約成本。當(dāng)今職場,多懂幾個數(shù)據(jù)庫,會讓我們有更多的機會。

初識PG,主要是學(xué)習(xí)認(rèn)知PG的起源發(fā)展,主要版本特性,應(yīng)用領(lǐng)域;了解國際PG社區(qū)組織、資源、動態(tài),與中國PG分會、PG社區(qū)建立聯(lián)系,積極互動,獲取學(xué)習(xí)資源,嘗試分享,展示自我。

第二層: 安裝使用,動手操練


“安裝部署、服務(wù)管理、體系結(jié)構(gòu)、初始化配置、數(shù)據(jù)庫對象管理”,這是PG的應(yīng)用管理基礎(chǔ),DBA要會,應(yīng)用開發(fā)也要會。當(dāng)然兩種角色關(guān)注重點稍有不同,譬如DBA關(guān)注架構(gòu)部署、運行穩(wěn)定性和高效性,而應(yīng)用開發(fā)更多的是掌握數(shù)據(jù)庫對象的創(chuàng)建及管理。

第三層: 把握要點,提綱挈領(lǐng)


PG作為關(guān)系型數(shù)據(jù)庫承擔(dān)著管理企業(yè)數(shù)據(jù)的重任。功能、性能很重要,穩(wěn)定性更重要,這也是作為DBA首要考慮的問題。PG數(shù)據(jù)庫發(fā)展30多年,國際、國內(nèi)的眾多應(yīng)用案例表明穩(wěn)定性可以信賴。關(guān)注學(xué)習(xí)與穩(wěn)定性相關(guān)的知識點,能夠?qū)G的穩(wěn)定性發(fā)揮的更好:

PG穩(wěn)定性要點:

  • 內(nèi)存配置

  • 日志配置

  • 磁盤管理

  • 并發(fā)控制

  • 進(jìn)程控制

  • ……

PG的功能強大、繁多,可以系統(tǒng)化、模塊化的選擇性學(xué)習(xí)。譬如PG有地理信息數(shù)據(jù)處理功能(GIS),暫時用不到可以先放過,除非很有志趣。DBA和應(yīng)用開發(fā)人員可以根據(jù)工作需要深入學(xué)習(xí)不同功能要點。

PG功能列表:

  • 安全控制

  • 基準(zhǔn)測試

  • 監(jiān)控功能

  • 審計功能

  • 并發(fā)控制

  • 并行處理

  • 臨時表

  • 觸發(fā)器

  • 函數(shù)、存儲過程

  • 執(zhí)行計劃

  • 物理連接

  • 數(shù)據(jù)緩存

  • 物化視圖

  • 分區(qū)表

  • 主從流復(fù)制

  • 邏輯復(fù)制

  • 訪問外部數(shù)據(jù)

  • ……

第四層:熟練操作,得心應(yīng)手


學(xué)習(xí)了穩(wěn)定性要點、功能列表后,PG基本可以用來服務(wù)于工作了。通過不斷的自我練習(xí),滿足工作業(yè)務(wù)需求,會看到自己的水平會不斷的進(jìn)步。

第五層: 透視功能,探究原理


PG功能點繁多,獨特的功能適用于不同的業(yè)務(wù)場景,而且隨著PG版本的更新迭代,重要的功能點也會不斷得到優(yōu)化,無論是使用上的便捷性還是性能的增強,無不體現(xiàn)著源碼內(nèi)核貢獻(xiàn)著的智慧與追求:使PG不斷完善,更好的服務(wù)于業(yè)務(wù)。

譬如分區(qū)表,PG V9版本中是通過表繼承+觸發(fā)器的方式實現(xiàn),因觸發(fā)器本身的限制,數(shù)據(jù)的插入性能并不高;PG V10實現(xiàn)了內(nèi)置分區(qū)表,創(chuàng)建的分區(qū)實質(zhì)上也是普通的表結(jié)構(gòu),從而管理分區(qū)方便,數(shù)據(jù)插入效率得以提高;PG V11增加哈希分區(qū)、默認(rèn)分區(qū)、支持更新分區(qū)鍵等,完善了分區(qū)的功能。

探究原理能從內(nèi)部機理深入理解,面對問題也能透過現(xiàn)象看本質(zhì),發(fā)現(xiàn)問題的誘因是使用不當(dāng)還是系統(tǒng)bug,從而能更好的處理問題。

第六層: 問題處理,性能優(yōu)化


習(xí)得第五層是為了更好的使用PG,遇到問題可以快速定位、分析處理。處理問題需要平時多積累整理,一方面是技術(shù)群、網(wǎng)站論壇拋出的問題,主動思考、整理,學(xué)習(xí)總結(jié),以備不時之需,有些問題平常不經(jīng)常遇到,但一旦出現(xiàn),之前沒有處理過會比較棘手;另一方面是工作中的問題,通常會有應(yīng)急處理辦法,問題處理后,盡量形成問題分析報告,對有些問題選擇深度思考、討論,探究根本原因,進(jìn)而歸檔或分享,這都是寶貴的經(jīng)驗。

性能優(yōu)化一直是數(shù)據(jù)庫大腦的重點,也是運維、開發(fā)者工作價值的體現(xiàn)。通過對內(nèi)幕的探索,能夠撥云見日,配合相關(guān)工具通過配置或SQL的優(yōu)化,來提升數(shù)據(jù)庫的訪問性能。

第七層: 讀懂源碼,快速定位


大學(xué)計算機相關(guān)專業(yè)的同學(xué),一般會有C語言的課程,C語言可以算是世界上最偉大的編程語言之一,可以用來編寫UNIX/Linux的內(nèi)核,也可以實現(xiàn)Python/Ruby解析器、Apache中間件等,很多關(guān)系數(shù)據(jù)庫都能看到C語言的影子。

PG源代碼也是用C編寫,嘗試學(xué)習(xí)源碼是件有挑戰(zhàn)性的事,就如同駕駛手動擋汽車,如能操作熟練,必能體會其中的樂趣。不用任何解讀,就能快速定位到源代碼直接理解PG的工作邏輯,幫助我們更好的使用PG。

第八層: 編寫源碼,完善優(yōu)化


編寫PG源碼是有志于從事系統(tǒng)編程工作同學(xué)的追求或方向,PG的強大凝聚了世界各地PG內(nèi)核編碼工程師的智慧,遺憾的是,PG國際社區(qū)的貢獻(xiàn)者檔案中還沒有出現(xiàn)中國人的名字。當(dāng)然,國內(nèi)也不乏優(yōu)秀的系統(tǒng)編碼者,期待通過大家共同的努力,將會涌現(xiàn)更多、更優(yōu)秀的系統(tǒng)編碼工程師出現(xiàn)在列表中!

PG國際社區(qū)貢獻(xiàn)者列表鏈接:

https://www.postgresql.org/community/contributors/

第九層:融會貫通,自由馳聘


學(xué)習(xí)任何技能,最終的境界是融匯貫通,以無招勝有招。

無論大家從事DBA、DEV或者系統(tǒng)內(nèi)核開發(fā),通過有效的方法,堅持不懈的積累都可以達(dá)到這一層,自由揮灑。

后記


以上內(nèi)容只是在PG的學(xué)習(xí)角度做的一些總結(jié),用好PG還需要有良好的系統(tǒng)、數(shù)據(jù)庫原理知識,這也是基礎(chǔ),猶如地基,地基穩(wěn),寶塔立。PG學(xué)習(xí)的九層寶塔,是為了更形象具體的描述,學(xué)習(xí)過程不是說必須按此一層一層進(jìn)行,大家可以根據(jù)自己興趣或工作需要有所選擇的開展學(xué)習(xí)。

最后,說兩點學(xué)習(xí)的方法體會:

第一:多交流、多閱讀、多練習(xí)。

多與前輩交流,科學(xué)問答,多閱讀優(yōu)秀書籍,自己多做實驗。書是人類進(jìn)步的階梯,學(xué)習(xí)最好的伙伴,可以根據(jù)學(xué)習(xí)階段或工作需要選擇閱讀。

參考書目

《PostgreSQL修煉之道-從小工到專家》

《PostgreSQL 9X之巔》

《PostgreSQL實戰(zhàn)》

《PostgreSQL指南:內(nèi)幕探索》

《PostgreSQL服務(wù)器編程》

……

第二:投資學(xué)習(xí),向?qū)熃枇Α?/span>

培訓(xùn)是件專業(yè)的事,優(yōu)秀的培訓(xùn)導(dǎo)師可以幫你快速把握要領(lǐng)、修正方法;幫你節(jié)約時間、能更快速有效的提升技能;還能夠提供更多的資源,譬如良好的學(xué)習(xí)環(huán)境、就業(yè)機會、技術(shù)支持等,人生多一良師,也是一大幸事。

PostgreSQL學(xué)習(xí)的九層寶塔

讀罷本文,想必有讀者會問我是幾層,我只能這么回答您“路漫漫其修遠(yuǎn)兮,吾將上下而求索”。如果本文對您有所幫助,也不枉費腦力一場;如果您有不同意見也可以借PG分會平臺發(fā)表或進(jìn)一步交流。

作者:魏波,中國PG分會培訓(xùn)認(rèn)證執(zhí)行總監(jiān)、資深數(shù)據(jù)庫工程師,十多年的數(shù)據(jù)庫運維管理及培訓(xùn)經(jīng)驗,掌握PostgreSQL架構(gòu)部署、性能優(yōu)化等,致力于推動PostgreSQL在中國的發(fā)展。

延伸閱讀...

關(guān)于中國PostgreSQL分會


中國開源軟件聯(lián)盟PostgreSQL分會于2017年成立,由多家國內(nèi)主要PG生態(tài)企業(yè)共同發(fā)起,是PostgreSQL數(shù)據(jù)庫作為開源聯(lián)盟重點發(fā)展和支持對象所產(chǎn)出的重要成果。受工信部中國電子信息產(chǎn)業(yè)發(fā)展研究院、中國開源軟件聯(lián)盟共同指導(dǎo),以提高中國PostgreSQL發(fā)展和應(yīng)用水平為宗旨,致力于構(gòu)建PG產(chǎn)業(yè)生態(tài)、推動PG技術(shù)產(chǎn)學(xué)研用發(fā)展。作為國內(nèi)唯一的PG行業(yè)協(xié)會組織,分會承擔(dān)著在國內(nèi)推廣和發(fā)展PostgreSQL技術(shù)的職能。

關(guān)于中國PostgreSQL產(chǎn)業(yè)發(fā)展基金


中國PostgreSQL發(fā)展基金是由中國開源軟件聯(lián)盟PostgreSQL分會發(fā)起并管理,致力于在國內(nèi)推動PostgreSQL生態(tài)發(fā)展的產(chǎn)業(yè)基金,PostgreSQL發(fā)展基金吸收多家PG技術(shù)應(yīng)用企業(yè)捐助,基金總規(guī)模1000萬。

分會使命:依托PG技術(shù),催化產(chǎn)業(yè)共贏。

分會職能與任務(wù):提升PG在中國影響力、促進(jìn)PG產(chǎn)業(yè)生態(tài)發(fā)展

分會重點工作:

  1. PostgresConf.CN(PCC)大會——中國地區(qū)規(guī)模最大,國際嘉賓最多的PG生態(tài)大會,PGconf全球正式會議。

  2. PostgreSQL中國培訓(xùn)認(rèn)證體系——國內(nèi)唯一的體系化、規(guī)范化PG培訓(xùn)與認(rèn)證體系

  3. PostgreSQL中國象牙塔計劃——聯(lián)合各會員單位和PG產(chǎn)業(yè)鏈企業(yè),依托中國PG產(chǎn)業(yè)發(fā)展基金,致力于推動高等院校PG產(chǎn)學(xué)研用生態(tài)發(fā)展,培養(yǎng)更多高水平PG技術(shù)人才的計劃。該計劃主要通過全國范圍100所高等院校共建開源數(shù)據(jù)庫創(chuàng)新實驗室,PG分會高校實訓(xùn)基地,PG創(chuàng)新研究啟動基金等方式落地,目標(biāo)在未來5年培養(yǎng)5萬以上PG專業(yè)技術(shù)人才。

  4. PostgreSQL中國貢獻(xiàn)者計劃——依托中國PG產(chǎn)業(yè)發(fā)展基金和PG分會國際技術(shù)交流橋梁的職能,引導(dǎo)、培育更多的中國PG技術(shù)人員向國際社區(qū)核心開發(fā)者,源碼貢獻(xiàn)者方向發(fā)展,培育出一支以上世界級的核心社區(qū)貢獻(xiàn)者團(tuán)隊。幫助中國數(shù)據(jù)庫內(nèi)核研究跨越式發(fā)展。

  5. PostgreSQL生態(tài)基礎(chǔ)建設(shè)——除PG培訓(xùn)認(rèn)證體系外,通過PG人才供需平臺、高等院校象牙塔計劃、PG中國Support平臺等打造推動PG生態(tài)發(fā)展的基礎(chǔ)設(shè)施。為產(chǎn)業(yè)發(fā)展提供必要支撐與支持。

會員單位(截止2019.11):

  • 阿里云計算有限公司

  • 瀚高基礎(chǔ)軟件股份有限公司

  • 騰訊云計算(北京)有限公司

  • 北京百度網(wǎng)訊科技有限公司

  • 云和恩墨(北京)信息技術(shù)有限公司

  • 平安科技(深圳)有限公司

  • 平安壹錢包電子商務(wù)有限公司

  • 山大地緯軟件股份有限公司

  • 國家電網(wǎng)全球能源互聯(lián)網(wǎng)研究院

  • 北京許繼電氣有限公司

  • 亞信科技(南京)有限公司

  • 武漢大學(xué)計算機學(xué)院

  • 惠而浦(中國)股份有限公司

  • 北京海量數(shù)據(jù)技術(shù)股份有限公司

  • 北京晟數(shù)科技有限公司

  • 北京優(yōu)技教育科技有限公司

  • 北京今日智能科技有限公司

  • 南京柯普瑞信息技術(shù)有限公司

  • 成都文武信息技術(shù)有限公司

  • 北京優(yōu)炫軟件股份有限公司

  • 天曦網(wǎng)絡(luò)科技(北京)有限公司

  • 廣州云徙科技有限公司

  • 北京優(yōu)帆科技有限公司

  • 上海佳軟信息科技有限公司

  • 上海云貝網(wǎng)絡(luò)科技有限公司

  • 北京太陽塔科技有限公司

  • 杭州乘數(shù)科技有限公司

了解 PostgreSQL 數(shù)據(jù)庫生態(tài),了解那些從 O2P 的故事和歷程,誠邀參與 『2019 數(shù)據(jù)技術(shù)嘉年華』大會! 現(xiàn)在加入,盡享超低票價優(yōu)惠:

PostgreSQL學(xué)習(xí)的九層寶塔

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI