POLARDB v2.0 技術解讀

回顧POLARDB 1.0sql

POLARDB 1.0 主要的改進包括採用了計算存儲分離的架構,徹底兼容MYSQL,性能是原生MySQL的6倍。一個用戶集羣能夠在分鐘級彈性擴展到16個計算節點,對業務徹底透明的計算和存儲分離代理,從庫延遲僅毫秒級。存儲爲分佈式塊存儲,能夠彈性擴展至100TB的規模。存儲層面採用多副本技術,使得數據庫的RPO作到了0,徹底沒有丟失數據的風險。數據庫

POLARDB 1.0 完美的解決了傳統數據庫的以下痛點:

一、升級硬件須要遷移數據,升級週期長,沒法從容應對突如其來的業務高峯。
(POLARDB的計算節點能夠分鐘級擴容,任什麼時候刻發現業務量突變便可快速擴容。)數組

二、金融級可靠性要求RPO=0,傳統架構使用實例層同步多副本,性能損耗巨大。
(POLARDB的存儲爲多副本,底層使用RDMA、Parallel Raft、3D Xpoint等最新的軟硬件技術,性能比傳統架構最高提高6倍。)安全

三、實例層複製HA架構,主從切換時間長,沒法知足金融級連續性要求。
(POLARDB採用共享存儲,主從切換能夠作到秒級,同時在計算與業務層之間有一層代理層,代理層能夠幫助用戶識別計算節點的異常,自動切換,在大多數時候業務感知不到計算節點的切換,保證了業務連續性。)網絡

四、傳統HA架構採用主從異步複製,切換後從庫可能須要重建,耗費資源多,重建時間長,存在長時間單點故障。
(POLARDB採用共享存儲架構,主從切換不須要數據重構。)架構

五、每一個只讀節點都須要一份與主徹底同樣的副本,成本高。
(POLARDB採用共享存儲架構,增長計算節點,不須要增長存儲副本數,使得總體成本相比傳統架構低不少。)併發

六、讀寫分離採用邏輯REDO複製,主從延遲高。
(POLARDB的數據存儲爲共享存儲,不須要同步REDO數據,只須要同步REDO的位點,主從延遲在毫秒級。)less

七、sharding架構沒有想象的好,功能閹割、對業務有巨大侵入(限制SQL較多)。
(POLARDB徹底兼容MYSQL,對業務沒有任何侵入,用戶不須要修改一行代碼便可使用POLARDB。)機器學習

八、TB以上實例備份慢,每每數十小時。
(POLARDB使用快照備份技術,不管數據量多大,秒級備份)異步

POLARDB 1.0 已經發布兩年以來,贏得了不少企業級客戶的青睞。POLARDB 1.0已經很完美了,咱們爲何還要研發2.0呢?

爲何要研發 2.0

一、用戶的去O需求旺盛,卻屢試屢敗

爲何不少用戶去O會屢試屢敗呢?

一、企業有很是嚴重的歷史包袱

1.一、企業一般技術棧爲Oracle技術棧(團隊),適應其餘產品的週期長,調頭難

1.二、遷移若是涉及大量代碼改造,週期長、風險高、收益低

1.三、一般目標引擎數據庫Oracle兼容性很是差,用戶須要大量的改造

二、缺少有效的遷移方法、工具

2.一、遷移改造工做量很難評估,遷移週期很難評估,週期一般很是長(別人的成功去O經驗沒法複製)

2.二、沒有有效的數據遷移、數據校驗、仿真工具。拍腦殼去O風險很是大。

三、目標數據庫引擎衆多、選擇難

3.一、有些企業爲了去O而去O,沒有產生業務價值,企業沒有動力

3.二、目標引擎的可靠性、安全性、擴展性、兼容性、穩定性、性能、可用性等指標可能沒法達到用戶的需求

二、數據庫的企業要求,既要,又要?

企業要求數據庫既要SQL通用性,又要NoSQL擴展性,還要多模數據處理便捷性。既要高併發、又要實時複雜分析。然而傳統數據庫沒法知足既要又要還要的需求。傳統數據庫每每採用數據同步多份(就像蜘蛛網),不一樣場景使用不一樣產品解決的方案。致使的問題很是多,用戶苦不堪言:

一、軟硬件成本高,同步延遲,同步數據不一致,

二、開發成本高,排錯複雜等頭痛的問題阻礙企業業務發展!

三、企業的歷史數據象五指山同樣壓得喘不過氣。

企業的數據庫一般生命週期很是的長,在整個生命週期的過程當中,會產生不少被遺忘的「臨時」數據(例如業務的歷史數據庫,開發或DBA在數據庫中操做或產生過的臨時數據,這些臨時數據歷經數年,可能已經沒法分辨是屬於什麼業務的,還要不要被用到,還能不能刪除等等。)慢慢就像「雞肋」同樣食之無味、棄之不行。大量「雞肋」同樣的冷數據佔用大量空間,又不能刪。逐漸成爲數據庫沉重的包袱。

(數據庫存儲價格昂貴、備份消耗大、大量佔空間、恢復慢)。

四、專業的GIS處理場景,使用開源版本性能、功能沒法知足?

隨着物聯網、智能終端、移動互聯網的發展,愈來愈多的移動數據接入,應用對GIS數據的處理需求會愈來愈旺盛,據分析GIS已是千億級的市場規模,然而開源的GIS產品可能沒法知足日漸豐滿的需求。

五、高級DBA太難找、且價格昂貴

高級DBA是大型企業纔會設置的職位,價格昂貴、人才缺失。他們的平常多是喝喝茶、聊聊人生,一切盡在掌握中,問題已經防範於未然。並且這種DBA一般可遇不可求。

大多數的企業一般是SA或開發兼職DBA的工做,他們的平常多是既要又要還要了。每每是數據庫出了事情再來處理,所謂術業有專攻,SA或開發人員處理數據庫問題(不論是性能問題仍是管理問題),一般時間也可能好久。

2.0 重磅發佈新特性

POLARDB 2.0 徹底繼承了1.0的架構體系,同時兼容了另外兩個流行數據庫Oracle與PostgreSQL

POLARDB for PostgreSQL

徹底兼容PostgreSQL,支持計算與存儲分離、獨立伸縮,存儲按量付費。適合中大型企業核心業務。

【OLTP+OLAP混合負載】

支持混合負載業務,支持百萬級高併發,支持並行計算,支持會話級資源隔離。
一個實例,一份數據,同時支持在線業務、實時分析混合業務。
原來用戶須要將數據從在線數據庫同步到數倉,問題很是多,POLARDB v2.0解決了跨產品數據同步帶來的延遲、一致性、成本、使用習慣等問題。

一、技術指標:

最多支持16個計算節點,每一個階段節點88核;
每計算節點可提供百萬級QPS;
支持對業務徹底透明的並行計算,平均提速20倍以上,無懼複雜SQL;

【多模計算】

多模計算全面覆蓋GIS、時空、時序、全文檢索、圖像識別、多維查詢、向量類似、機器學習。
原來用戶須要諸多產品來解決以上不一樣業務場景遇到的問題,數據須要在各個產品之間同步,異構同步帶來延遲、一致性、成本、使用習慣等問題。
POLARDB v2.0新增引擎解決了以上問題。

一、技術指標:
ganos專業級時空組件,兼容GIS標準,MOD模型比PostGIS 50-100倍性能提高;
內置全文檢索、圖像識別、多維查詢、向量計算、工業時序等多模組件;
內置schemaless、KV等nosql特性;
支持多達8種索引接口(btree,hash,gin倒排索引,GiST空間索引,SP-GiST空間分區索引,BRIN時序索引,rum全文索引,bloom布隆索引),知足
各類多模數據的高速檢索需求;

POLARDB for Oracle

高度兼容Oracle,下降Oracle遷移風險、縮短遷移週期,助力企業快速替換Oracle,進入雲智能時代。

【深度Oracle兼容】

大幅下降用戶去O風險、縮短去O週期。用戶去O從數年下降到數週。

一、技術指標:

  • SQL語法、類型、函數、PL/SQL、包、系統視圖、OCI、PRO*C等全方位兼容Oracle;
  • 兼容Oracle分區表、異構查詢、HINT等高級功能;
  • 支持3155個函數,26個包,317種包內方法,88個系統視圖;

【智能駕駛】

POLARDB v2.0 for Oracle版,內置SQL防火牆。能夠防SQL注入與SQL誤操做。解決企業的數據庫安全問題。

POLARDB v2.0 for Oracle版,內置索引推薦功能。是企業數據庫優化的好幫手,一鍵解決索引優化難題

POLARDB v2.0,支持AAS性能洞察。在沒有專業DBA的狀況下,能夠一鍵洞悉宏觀、微觀業務問題。幫助企業及時發現業務問題。

一、技術指標:

  • SQL學習模式,防SQL注入與SQL誤操做;
  • 索引推薦,一鍵解決索引優化難題;
  • AAS性能洞察,一鍵洞悉宏觀、微觀業務問題;

【雲原生】

使用POLARDB v2.0替代ORACLE,能夠得到POLARDB強大的雲原生能力。經過oss_fdw接口能夠讀寫OSS數據,支持冷熱分離,對接雲端海量算力(函數計算、MAXCompute),得到強大的數據處理能力。企業加快推向DT時代。

一、技術指標:

  • OSS外部表,冷熱數據分離存儲,歷史數據想存多久均可以;
  • 無縫對接雲端海量算力(ADB、MaxCompute、OSS函數計算等);

2.0 適合哪些業務場景和客戶

一、適用場景

  • 替換Oracle數據庫
  • 企業核心數據庫
  • GIS時空數據庫

二、適合客戶
企業級客戶(黨政軍、醫療、新零售、新制造、科研機構、金融、互聯網、物聯網、交通、航空、地圖,氣象,測繪,LBS,國土,GIS等專業領域)

2.0 關鍵技術點解讀

一、智能駕駛

一、SQL防火牆,防SQL注入,防誤操做。

SQL防火牆背後的原理,POLARDB v2.0 for Oracle 經過開啓SQL學習模式來學習業務發起的SQL請求,數據庫將SQL請求變量化,轉換爲SQL HASH,存儲起來做爲SQL白名單。

當學習模式結束後,能夠開啓permission模式,若是有非白名單內的SQL請求,則發出警告。DBA能夠關注到這個警告,判斷是否爲異常請求。

用戶也能夠將模式改成強制模式,若是有非白名單內的SQL請求,則會拒絕這樣的請求,從而根本上防止SQL注入,防止用戶誤操做。

除此之外,POLARDB v2.0 for Oracle 還支持規則配置,例如能夠拒毫不帶WHERE條件的DML請求,拒絕WHERE 條件始終爲TRUE的DML請求,從而防止SQL注入攻擊或人爲的誤操做。

二、索引推薦,即便是數據庫小白用戶,也能一鍵優化數據庫。

用戶能夠在會話中開啓索引推薦的模塊,一旦開啓,這個會話發起的SQL請求會被後臺分析,在運行一段時間後,調用索引推薦函數,咱們能夠看到數據庫已經對到當前會話執行過的SQL進行了索引推薦的優化。

三、性能洞察,這個功能是很是強大的,經過等待時間的採集,打點,咱們能夠觀察到數據庫在過去的任意時刻是否遇到性能瓶頸,性能瓶頸是什麼?即便企業中沒有專業的DBA,也能垂手可得的發現數據庫的性能問題。

二、並行計算,多達幾十種場景,平均20倍性能提高

  • 並行計算解決了複雜查詢慢的問題,在企業中,咱們一般會有數據分析的需求,以往因爲關係數據庫的分析計算能力差,須要將關係數據庫的數據同步到大數據平臺進行分析,而同步會有延遲、會有成本開銷、會有同步問題等等。用戶苦不堪言。
  • POLARDB v2.0 內置了並行計算的功能,並行度會根據SQL的成本(複雜度的衡量)來規劃,複雜SQL會啓用並行計算,同時並行度也是自動計算的。使得用戶不須要將數據同步到外部,也能實現實時分析。
  • POLARDB v2.0 的並行計算覆蓋了數十種場景,實測性能提高平均20倍以上。

三、會話級資源隔離

  • 當用戶有OLTP業務同時混合了OLAP業務時,OLTP的併發高,要求的RT低。OLAP的併發低,可是對計算要求很高,跑OLAP業務會佔用大量的資源。
  • POLARDB 支持16個計算節點,咱們能夠採用不一樣的計算節點來隔離OLAP,OLTP業務。
  • 可是,若是用戶的TP、AP業務在同一個計算節點時,還有更好的方法,會話級資源隔離,目前支持CPU和IO的資源隔離。

四、ganos時空多模組件

ganos是阿里巴巴自研的3S引擎,兼容GIS標準,支持平面幾何模型、球面幾何模型、柵格模型、時空軌跡模型、點雲模型、拓撲網絡模型等。

ganos相比開源GIS的優點也很是明顯。

五、雲原生的冷熱分離

  • POLARDB v2.0 能夠將OSS做爲數據存儲,用戶經過建立oss_fdw外部表插件,創建OSS外部表,能夠將數據寫入OSS,也能夠從OSS讀取。採用標準的SQL接口。
  • 所以對於訪問較少的冷數據,用戶能夠將數據存儲在OSS,下降數據庫的分佈式塊存儲的成本,獲得無限的存儲空間。
  • 同時因爲OSS與雲端的MAXCompute, ADB, 函數計算等都是打通的,因此當用戶是很是大型的企業,須要對多個數據庫實例進行橫向的大數據分析時,OSS_FDW無疑是一種很是好的數據共享方法,將多個實例的數據經過OSS進行分析,打通大計算。

六、爲何2.0支持多模

一、傳統數據庫一般只支持1種索引,而POLARDB v2.0 支持8種索引

  • btree、hash、gin、brin、gist、spgist、bloom、rum

二、傳統數據庫一般僅支持幾種數據類型,而POLARDB v2.0支持大量數據類型

時間、字符串、數值,貨幣,字節流,比特,枚舉,布爾,幾何,網絡,全文檢索,UUID,JSON,XML,數組,複合,範圍,域,圖像,樹,多維立方,GIS,rb,HLL,K-V,還支持擴展類型

三、POLARDB v2.0 還支持了很是多的多模插件,大幅度的幫助用戶提升開發生產效率。

小結

POLARDB v2.0 for Oracle,高度兼容Oracle,同時支持了SQL防火牆、自動索引推薦、性能洞察、資源隔離等智能駕駛功能,支持了冷熱分離的雲原生能力,解決了企業去O難題,幫助企業快速去O。

POLARDB v2.0 for PostgreSQL,徹底兼容PostgreSQL,支持並行計算,混合負載,GIS時空等多模計算,具有冷熱分離的雲原生能力,是企業級客戶(黨政軍、醫療、新零售、新制造、科研機構、金融、互聯網、物聯網、交通、航空、地圖,氣象,測繪,LBS,國土,GIS等專業領域)核心數據庫上雲的很好選擇。


原文連接 本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索