成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

RDS PostgreSQL一鍵大版本升級技術(shù)解密

數(shù)據(jù)庫 PostgreSQL
阿里云RDS PG大版本升級在覆蓋面、可用性、效率、可驗證可回滾能力方面取得顯著成果。

 一、PostgreSQL行業(yè)位置

(一)行業(yè)位置

在討論PostgreSQL(下面簡稱為PG)在整個數(shù)據(jù)庫行業(yè)的位置之前,我們先看一下阿里云數(shù)據(jù)庫在全球的數(shù)據(jù)庫行業(yè)里的位置。

魔力象限領(lǐng)導者

Gartner 2020,阿里云數(shù)據(jù)庫挺進 全球數(shù)據(jù)庫魔力象限領(lǐng)導者

PG年度最佳產(chǎn)品獎

2020 PG亞洲大會上,阿里云數(shù)據(jù)庫專屬集群MyBase榮膺“PG年度最佳產(chǎn)品獎”

接下來,我們看一下PG數(shù)據(jù)庫在行業(yè)中的位置。

全球數(shù)據(jù)庫排行

PostgreSQL連續(xù)3年獲得的最佳數(shù)據(jù)庫在開源數(shù)據(jù)庫排名TOP2位置,全球流行度趨勢排名TOP4

廣泛應用

P廣泛運用于各行各業(yè),包含:計算機軟件、信息技術(shù)及服務、醫(yī)療及健康、金融服務、高等教育、通訊服務等領(lǐng)域

(二)RDS PG VS 自建PG

在大致了解PG在行業(yè)的位置后,接下來再看看阿里云RDS PG和自建PG相比有哪些方面的優(yōu)點。

 

如上圖所示,相對于自建PG,RDS PG的優(yōu)勢主要體現(xiàn)在:可靠性、安全性、智能化和豐富插件四個方面

1.可靠性

RDS PG提供了Logical Slot Failover能力,在主備模式下,當實例發(fā)生HA切換以后,Logical Slot可以繼續(xù)為用戶提供數(shù)據(jù)同步,這解決了自建PG在HA切換時無法做到數(shù)據(jù)增量同步的問題。

RDS PG的Standby支持多上游結(jié)點,當HA切換以后,依然可以保持只讀實例讀寫分離功能, 不影響只讀節(jié)點的數(shù)據(jù)同步。

一鍵大版本升級使得我們的用戶可以產(chǎn)品化地一鍵升級到更高版本的PG,享受PG更新版本的特性與穩(wěn)定性。

2.安全性

安全性主要分為三個方面。

首先,RDS PG提供云盤加密功能,用戶只需要提供一個Key,RDS PG就可以使用這個用戶自定義的Key對數(shù)據(jù)進行落盤加密。

其次,我們發(fā)布了SSL自定義證書功能,提供客戶端以及服務端的自定義證書,提供客戶端和服務端防偽裝,提升數(shù)據(jù)庫安全性。

最后,RDS PG提供SGX全加密,這個功能是基于硬件的加密技術(shù),使數(shù)據(jù)在全鏈路上進行加密。

3.智能化

阿里云RDS的整個產(chǎn)品系列都提供了DAS服務。幫助用戶在使用數(shù)據(jù)庫的過程提供診斷優(yōu)化能力,DAS可以幫助用戶自發(fā)現(xiàn)、自診斷、自優(yōu)化、自決策地解決用戶數(shù)據(jù)庫的問題。

4.豐富插件

RDS PG的Ganos時空引擎插件提供了時空數(shù)據(jù)的存儲、檢索、查詢以及分析能力。

第二個插件是PASE高效向量檢索插件。

第三個插件是oss_fdw,實現(xiàn)數(shù)據(jù)冷熱分離的場景,將冷數(shù)據(jù)存儲在更為低價的OSS上,在RDS PG上可以對OSS上的數(shù)據(jù)進行查詢分析。

通過以上可以發(fā)現(xiàn),相較自建PG,RDS PG在可靠性、安全性、智能化、插件豐富度方面優(yōu)勢明顯。

二、PostgreSQL版本升級背景

PostgreSQL的升級功能源于用戶使用中遇到的一些問題,在升級中我們也面臨許多挑戰(zhàn)。

1.遇到的問題

老版本:過時不維護

過低的數(shù)據(jù)庫版本,穩(wěn)定性挑戰(zhàn), 比如:

1)PG 9.4,版本過老2)低版本,供應鏈問題3)社區(qū)不維護,無人兜底

高版本:新特性

用戶對于高版本、新特性的強力需求, 比如:

1)增量排序2)并行索引垃圾回收3)索引deduplicate能力4)分區(qū)表、聚合性能提升

2.面臨的挑戰(zhàn)

彈性能力:極致彈性

PG 9.4和PG 10.0本地盤版本是跑在物理機形態(tài)上的,導致彈性能力相對較弱,比如:

1)秒級快照2)彈性伸縮能力3)更大存儲空間支持4)備份操作無性能損耗

平滑割接: 應用感知小

在一鍵大版本升級過程中,如何使得用戶應用盡可能的感知小,平滑的割接是另外一個巨大的挑戰(zhàn), 比如:

1)保證插件兼容性

2)割接、非割接模式3)可回滾、可驗證能力4)應用零改動、感知小5)一鍵大版本升級產(chǎn)品化能力

總結(jié)而言,我們期望RDS PG能夠產(chǎn)品化一鍵大版本升級、平滑割接、提供可驗證、可回滾能力。

三、PostgreSQL版本升級解密

(一)設計原則

基于以上對產(chǎn)品的思考,我們在設計RDS PG的過程中主要遵循以下四大原則。

1.驗證回滾:可驗證、可回滾-版本回滾:大版本回滾-DNS地址:連接字符串回滾-可驗證: 高版本可驗證能力

2.限制要少:場景全覆蓋-DDL限制-表結(jié)構(gòu)限制-數(shù)據(jù)類型限制-版本全系覆蓋

3.一鍵升級:一鍵升級產(chǎn)品化-拒絕升級手冊-一鍵產(chǎn)品化能力-插件兼容性適配

4.平滑割接:應用不停服零宕機-升級過程應用不停服-升級過程速度快-連接地址平滑割接

這四大設計原則的出發(fā)點在于,我們希望將復雜留給自己,把簡單留給用戶,為用戶帶去極致的產(chǎn)品使用體驗。

(二)方案選擇

基于上方的設計原則,我們就要對升級方案進行選擇。對于PG大版本升級,行業(yè)內(nèi)主要有如下存在三種方案。

方案一:邏輯復制

優(yōu)點:

兼容性好、平滑割接

缺點:

1)庫級別的發(fā)布、訂閱

2)表必須有PK / UK3)不支持DDL、大對象4)外鍵和觸發(fā)器禁用5)可能導致到WAL日志堆積

方案二:pg_upgrade

優(yōu)點:

1)不拷貝數(shù)據(jù), 僅元數(shù)據(jù)升級

2)效率高, 2TB數(shù)據(jù),升級 < 10s

缺點:

1)升級預檢查

2)回滾驗證策略3)參數(shù)、插件兼容性4)復雜度高、工作量大、挑戰(zhàn)大

方案三:pg_dump

優(yōu)點:

1)兼容性好

2)實現(xiàn)簡單、工作量小

缺點:

1)僅適用全量遷移

2)效率低下3)應用停服時間長

RDS PG最終選擇限制少、兼容性好、效率高、平滑割接的pg_upgrade方案。

(三)升級預檢查

用戶升級之前需要先對實例進行升級預檢查,檢查流程可以讓用戶知道實例是否可以升級,升級會存在什么問題,然后用戶再根據(jù)錯誤的信息做相應的修改或適配,使得升級可以順利完成。升級預檢查流程如下:

升級預檢查流程圖

首先,用戶到前端控制臺,根據(jù)源端實例的版本選擇目標實例的版本,然后提交升級預檢查流程,我們的后臺會創(chuàng)建一個升級檢查報告。接著初始化用戶選擇的高版本數(shù)據(jù)目錄,然后生成高版本參數(shù)模板。

然后執(zhí)行pg_upgrade--check,最終上傳檢查報告到控制臺上,用戶在RDS控制臺就可以查看報告,如下是一個典型的升級預檢查報告。

升級預檢查結(jié)果

可以看到,報告包括非常多的檢查項,是否可以升級結(jié)果一目了然,幫助用戶升級前屏蔽升級風險。

(四)正式升級

升級預檢查完成且無誤后,就進入了正式升級流程,流程圖如下所示。

如上圖所示,流程圖的每個步驟都包含兩個角色,分別是用戶升級前的源實例和升級后的目標實例。

升級之前,用戶通過DNS連接到源實例。當用戶在控制臺發(fā)起一個大版本升級以后,我們會在后臺幫用戶創(chuàng)建一個和源實例同版本的目標實例的master節(jié)點,并且搭建復制鏈路。等待復制鏈路搭建好了,所有的數(shù)據(jù)同步完畢以后,待用戶的切換時間。時間點到了以后,我們就會對源實例做Readonly。

第4步是把源實例和目標實例進行斷連,斷連后把目標實例提升為主庫。

第5步是進行pg_upgrade操作,做元數(shù)據(jù)的升級,所以效率非常高,然后把用戶的DNS地址切到目標實例上,此時用戶應用就可以進行讀和寫。

第6步重搭備庫,利用秒級快照能力,可以快速搭建備庫,最終將整個實例平滑升級到高版本。

整個升級流程有以下幾個關(guān)鍵的地方:

應用不停服

1)不停服:用戶應用全程可讀

2)平滑性: 第5步,通過連接地址交換來實現(xiàn),用戶應用無需修改代碼

可驗證可回滾

1)可驗證: 非割接模式,源實例零干預

2)可回滾: 第5步之前,零代價回滾,連接地址隨時可回滾

效率高

1)速度快: 第5步pg_upgrade2T數(shù)據(jù)在10秒內(nèi)可以升級完畢

2)重搭快: 秒級快照,10分鐘左右重搭備庫,與數(shù)據(jù)量大小無關(guān)

用戶影響

1)第 3-5 步,僅分鐘級RO時間

總結(jié):應用不停服,零宕機,僅分鐘級的RO。

(五)應用不停服零宕機

升級的過程做到應用不停服零宕機,主要是通過以下四點實現(xiàn)。

1.克隆目標實例目標實例采用類克隆實例方案,源端實例一直可用。

2.可驗證、可回滾非割接模式提供驗證能力,連接地址切換之前,均可回滾。

3.DNS地址切換切換用戶連接DNS地址到目標實例上,避免應用改動。

4.pg_upgrade元數(shù)據(jù)升級pg_upgrade僅元數(shù)據(jù)升級,耗時與數(shù)據(jù)量大小無關(guān),實測2TB數(shù)據(jù),少于10秒。

通過以上四點,最終一鍵平滑地完成大版本升級。

四、PostgreSQL版本升級成果

(一)成果展示

阿里云RDS PG大版本升級在覆蓋面、可用性、效率、可驗證可回滾能力方面取得顯著成果。

(二)行業(yè)對比

阿里云RDS PG一鍵大版本升級在產(chǎn)品化、用戶體驗、可驗證可回滾能力上引領(lǐng)行業(yè)

原文鏈接:http://click.aliyun.com/m/1000283547/

責任編輯:梁菲 來源: 阿里云云棲號
相關(guān)推薦

2020-12-11 10:40:13

PostgreSQL數(shù)據(jù)庫GitLab

2020-10-15 14:05:30

PostgreSQL升級開發(fā)

2024-04-08 13:59:03

大模型Replicate

2015-02-09 15:25:52

換膚

2024-08-07 08:08:42

2025-03-20 11:12:50

2012-10-18 14:41:31

2018-12-18 17:25:15

程序員

2021-11-30 08:09:52

PostgreSQLPGTune工具數(shù)據(jù)庫

2015-11-03 15:29:49

ONOS開放網(wǎng)絡操作系統(tǒng)SDN

2009-07-07 08:44:52

微軟Windows 7新功能

2024-08-02 14:50:00

數(shù)據(jù)AI

2009-06-23 09:37:29

2023-06-15 10:00:00

Jenkins任務操作

2025-04-17 04:00:00

2019-07-05 09:43:33

AI數(shù)據(jù)科技

2015-06-01 15:17:35

阿里云RDSPostgreSQL

2011-05-30 20:48:12

聯(lián)想一體機

2018-03-14 18:31:27

12315支付寶小程序
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产做a爱片久久毛片 | 91色网站| 免费精品久久久久久中文字幕 | 日韩av手机在线观看 | 日韩在线精品视频 | 日韩欧美一级 | 中文字幕第一页在线 | 久久久噜噜噜www成人网 | 在线高清免费观看视频 | 亚洲中午字幕 | 中国免费黄色片 | 麻豆国产精品777777在线 | 亚洲一二视频 | 亚洲精品一二三 | 一本一道久久a久久精品蜜桃 | 欧美一区二区三区在线观看 | 亚洲欧美在线观看 | 欧美激情久久久久久 | 亚洲成人综合社区 | 97伊人| 中文字幕一区二区三区四区五区 | 日韩欧美不卡 | 日韩一区在线观看视频 | 欧美最猛黑人 | 日本a级大片 | 亚洲成人一区二区在线 | 99热热热| 91精品国产自产在线老师啪 | 亚洲国产欧美91 | 一二区视频 | 国产精品一区在线观看 | 欧美亚洲国语精品一区二区 | 国内久久 | 成人午夜电影在线观看 | 91精品国产91久久久久久不卞 | 精品成人佐山爱一区二区 | 国产精品揄拍一区二区 | 久草电影网 | 日日干日日色 | 在线观看亚洲 | 久久国产精品免费一区二区三区 |