postgresql 分区视图_PostgreSQL架构集中式到分布式主流架构总结
文章目錄
一、PG未來主流架構為什么是分布式二、PostgreSQL集中式到分布式架構總結一、PG未來主流架構為什么是分布式
如果說5年前DB的分布式還只是一種趨勢,如今分布式數據庫正逐漸從趨勢變成主流。說到分布式,我想我們不能不提一下集中式和分庫分表。
01
集中式和分布式
集中式數據庫架構可以理解為CA模型,具備良好的單體可用性和一致性,但隨著高速互聯時代的發展,當到達單體容量瓶頸的時候,集中式架構在縱向擴容及橫向擴展上的缺陷會越來越明顯。而分布式數據庫架構,主要就是為了解決橫向擴展問題出現的,分布式首先要解決的就是保障AP模型下分區容錯及可用性,如數據分配、跨中心、自愈能力、彈性擴縮容等,并且在此基礎上盡可能地提高CP模型能力。
02
偽分布式和原生分布式
橫向擴展能力的實現,可以使用中間件+分庫分表的方案實現,也可以采用原分布式數據庫的方案實現。前者(如采用proxy中間件+分庫分表),由于在SQL解析和執行計劃等方面和存儲節點存在重復性工作,效率相對低效,單個分片之間傳統的主備復制協議(如MySQL中的半同步)還無法完全保障數據的一致性。而原生分布式數據庫,在cn節點可以利用全局元數據進行全局的SQL解析及全局執行計劃的生成,分片主副本之間通過paxos或Raft一致性協議保障一致性。
03
未來已來,分布式1.0到分布式2.0,云原生分布式架構。
PostgreSQL技術生態在分布式上已經有比較成熟的方案,如原生的Citus、PGXL,嚴格來說,第一代分布式數據庫未能做到完全的計算和存儲分離,云原生分布式架構則是在云上實現了分布式下的共享存儲的存儲與計算分離。
二、PostgreSQL架構演變
首先,是最簡單的noshard單體架構,這個是Postgresql和其他rdbms都共有的架構:
又或者是為了讀寫分離、容災的而做的主從架構,也屬于單體集中式架構。該架構可以做到一主多從跨IDC,比如我目前接手的一套MySQL系統,1主10從,對于讀多寫少又不想引入cache層的場景,該架構沒太大的問題。
為了防止主庫的單點瓶頸,提高整改系統的讀寫吞吐能力及系統可用性,Oracle引入了RAC集群,是一種share everything的集中式架構,多個實例共享一份數據存儲,實例節點均可讀寫。該架構理論上實例的數量可以橫向擴展,底層共享的disk存儲縱向擴容,擴容的成本高昂。
目前PostgreSQL沒有上面這種架構的,在個人看來,這種架構對PostgreSQL在云架構的發展有很大的啟發意義。
接著,在高并發及海量數據場景下,迎來了我們目前的分布式架構,該架構應該是一種過渡階段,最終會向云架構轉變。
相對于Oracle中Rac的share everything,PostgreSQL這種分布式中DN節點之間數據是無共享的,是一種share nothing架構:
1、每個DN節點根據分布算法存儲邏輯表的數據分片?
2、CN節點接收SQL請求、解析SQL并生成執行計劃、下推分發請求。
3、拋開gtm之間的區別,這個就是目前citus和pgxl的核心架構。
最后,就是云原生分布式架構,是一種分布式和共享存儲的結合體,比如亞馬遜AWS Aurora,阿里PolarDB。
這種架構primary實例的寫請求只寫日志而不寫數據頁,redo邏輯下沉到存儲節點,Pg實例架構層只處理計算請求,不存儲數據,多個實例共享一個存儲集群。
該架構最大的特點就是"log is database":
1、計算集群與存儲集群之間只傳遞日志,而不傳遞臟頁,日志數據頁面的合并由存儲端在適當的時機來完成。
2、存儲集群內部多個數據副本之間通過一致性協議進行復制。
I Love PG關于我們
中國開源軟件推進聯盟PostgreSQL分會(簡稱:中國PG分會)于2017年成立,由國內多家PostgreSQL生態企業所共同發起,業務上接受工信部中國電子信息產業發展研究院指導。中國PG分會是一個非盈利行業協會組織。我們致力于在中國構建PostgreSQL產業生態,推動PostgreSQL產學研用發展。
歡迎投稿
做你的舞臺,show出自己的才華 。
投稿郵箱:partner@postgresqlchina.com
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——愿能安放你不羈的靈魂
技術文章精彩回顧PostgreSQL學習的九層寶塔PostgreSQL職業發展與學習攻略搞懂PostgreSQL數據庫透明數據加密之加密算法介紹一文讀懂PostgreSQL-12分區表一文搞懂PostgreSQL物化視圖PostgreSQL源碼學習之:RegularLockPostgresql源碼學習之詞法和語法分析2019,年度數據庫舍 PostgreSQL 其誰?Postgres是最好的開源軟件PostgreSQL是世界上最好的數據庫從Oracle遷移到PostgreSQL的十大理由從“非主流”到“潮流”,開源早已值得擁有PG活動精彩回顧創建PG全球生態!PostgresConf.CN2019大會盛大召開首站起航!2019“讓PG‘象’前行”上海站成功舉行走進蓉城丨2019“讓PG‘象’前行”成都站成功舉行中國PG象牙塔計劃發布,首批合作高校授牌儀式在天津舉行群英論道聚北京,共話PostgreSQL相聚巴厘島| PG Conf.Asia 2019 ?DAY0、DAY1簡報相知巴厘島| PG Conf.Asia 2019 DAY2簡報獨家|硅谷Postgres大會簡報PostgreSQL線上沙龍第一期精彩回顧PostgreSQL線上沙龍第二期精彩回顧PostgreSQL線上沙龍第三期精彩回顧PostgreSQL線上沙龍第四期精彩回顧PostgreSQL線上沙龍第五期精彩回顧PostgreSQL線上沙龍第六期精彩回顧直播回顧 | Bruce Momjian:原生分布式將在PG 14版本發布PG培訓認證精彩回顧中國首批PGCA認證考試圓滿結束,203位考生成功獲得認證!中國第二批PGCA認證考試圓滿結束,115位考生喜獲認證!重要通知:三方共建,中國PostgreSQL認證權威升級!近500人參與!首次PGCE中級、第三批次PGCA初級認證考試落幕!通知:PostgreSQL技術能力電子證書上線!2020年首批 | 中國PostgreSQL初級認證考試圓滿結束總結
以上是生活随笔為你收集整理的postgresql 分区视图_PostgreSQL架构集中式到分布式主流架构总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux怎么安装python包(lin
- 下一篇: 执行标准备案(国家标准备案)