阿里雲如何打破Oracle 遷移上雲的壁壘

weixin_34321977發表於2018-05-23

摘要:2018第九屆中國資料庫技術大會,阿里雲資料庫產品專家蕭少聰帶來以阿里雲如何打破Oracle遷移上雲的壁壘為題的演講。Oracle是指“資料庫管理系統”,面對Oracle遷移上雲的壁壘,阿里雲如何能夠打破它呢?本文提出了Oracle 到雲資料庫PPAS遷移的方案,這種遷移方案為什麼比Oracle到 MySQL系列的遷移容易推動呢?答案即將揭曉。

Oracle資料庫遷移方案

阿里雲如何打破Oracle 遷移上雲的壁壘

資料業務架構中都會有伺服器、應用及資料庫系統和儲存系統三大塊,伺服器與儲存系統上雲是相對容易解決的,但在解決應用及資料庫系統方面是有些難度的。於是,阿里雲給出了上面的解決方案。在這個解決方案中,使用者可以通過不同的方式,將資料庫遷移到雲上,我們可以繼續在ECS中執行Oracle,也可以遷移到MySQL。當然也可以將應用及資料庫系統遷移到雲資料庫PPAS版,藉助其高度相容Oracle的能力,降低使用者遷移上雲的難度,並降低系統長期運維的複雜性。

阿里雲如何打破Oracle 遷移上雲的壁壘

阿里雲不僅有同城容災、自動備份、時間點恢復等這些部分會為雲的使用者去提供。阿里雲資料庫還會加入高可用的HA,它一般需要兩個或兩個以上的節點,進行復雜配置。而在阿里雲,使用者僅需點一下按鈕就可以有高可用的HA,而且這樣的HA叢集不單可以在同一資料中心上構建,同時也支援同城雙中心異地容災,同樣一鍵部署完成。同時,阿里雲還為使用者提供ADAM(Advanced Database & Application Migration “亞當”)工具,以協助使用者藉助PPAS的Oracle相容性進行快速遷移。那麼接下來怎樣去遷移的各步驟應該如何進行呢?

阿里雲如何打破Oracle 遷移上雲的壁壘

將ADAM採集器安裝在Oracle上面,ADMA將起到三個方面的作用:

·ADAM起到採集的作用,它將採集Oracle上的表、檢視、儲存過程等資料庫結構定義的資訊,它會收集脫敏後的SQL (DML/Trans),它還會採集資料庫執行的狀態資訊,比如CPU/SGA/表容量等等。

·ADAM起到源庫保護的作用,ADAM在只讀模式下不會產生髒資料。ADAM在自動切片時,將進行單執行緒遠端訪問,因此消耗源庫負載極小。每個切片採集前,均判斷源庫負載是否超閾值。ADAM在專用守候執行緒中,會定期檢查源庫負責,超閾值時將自動暫定採集。

·ADAM起到資訊保護作用,ADAM會保護主機名稱、IP等敏感資訊,ADAM會自動完成一級脫敏,ADAM還選擇完成二級脫敏,將所有表名稱、欄位名稱進行加密,金鑰檔案將由客戶保管。

阿里雲如何打破Oracle 遷移上雲的壁壘

Oracle遷移到PPAS相對遷移到其他資料庫更為平滑,因為有許多相容的地方。Oracle資料庫到PPAS快速上雲的過程中應做到相容SQL、儲存過程、包、DBMS等,因此適合複雜事務事業務的遷移。雲資料庫PPAS版,提供最高 3TB的本地高效能儲存(據悉這一空間有機會在年內突破到10TB以上)。如果業務資料超過本地儲存容量大小,則可以通過OSS儲存做外部表處理,如歷史資料就可以存放到OSS外部表中,這些資訊並不常使用,但對於資料分析很重要。因此我們可以通過阿里雲HybridDB for PostgreSQL,從OSS中直接獲取資料進行業務分析。HybridDB for PostgreSQL是基於開源Greenplum Database分散式MPP資料庫的阿里雲自有釋出版,可實現業務實時分析,計算節點、空間橫向擴充套件到PB級、特定場景下百億記錄order by < 10ms*,支援行列混合、CUBE、ROLLUP、MADlib學習等。

Oracle 資料庫到 MySQL、PPAS的比較

阿里雲如何打破Oracle 遷移上雲的壁壘

為什麼Oracle 資料庫到 MySQL系列的遷移難以推動呢?原因是Oracle 資料庫到 MySQL系列的遷移會導致ISV及企業遷移風險增大,在整個遷移過程中程式碼、儲存過程以及構架需做出大的改動,這會導致研發重新學習、DBA重新學習、程式碼的語法重寫甚至業務構架重寫,最終造成業務風險增大、人力成本變高以及產品成本變高。

阿里雲如何打破Oracle 遷移上雲的壁壘

而Oracle 資料庫到雲資料庫PPAS版是相對容易推動的,在推動過程中提高了Oracle遷移上雲的成功率。研發可繼續寫Oracle語法從而降低遷移難度及工作量,阿里雲可自動運維提高DBA SQL優化能力,程式碼的語法幾乎不需改動,ADAM協助得以精準分析。

阿里雲如何打破Oracle 遷移上雲的壁壘

為什麼說PPAS相容Oralce會更好呢?由上圖可以看到MySOL與Oracle的交集面積比PostgreSQL與Oracle的交集面積都很小,這並不能達到預期的效果。期望中雲資料庫PASS版效果應當是Oracle的面積與PostgreSQL的面積幾乎達到重合。

為什麼會需要這麼多的相容部分呢?因為這樣才能讓企業的開發團隊、原有的開發成果以及已有的應用快速的放到雲上面去。例如,如果開發商開發的軟體都是線下的,但客戶要求上雲,到雲上面又需要用到網際網路思維,那麼原有的儲存模式都需要改動,為了維護雲的架構線上、線下的結構都需要改動,這樣會需要大量的人力成本。如果有一個功能直接相容Oracle 的語法,這個時候放到雲上面去會減少整體的負擔。

阿里雲如何打破Oracle 遷移上雲的壁壘

雲資料庫PPAS 到Oracle相容的資料型別有許多種,例如,BLOB、CLOB、DATE等等。它們各自又有各自的別名與型別,例如 BLOB 的別名是LONG RAW,其型別是二進位制資料。

阿里雲如何打破Oracle 遷移上雲的壁壘

ADAM可以協助使用者Oracle資料庫通過全量以及增量進行上雲遷移,如果Oracle資料量很大,這裡可能需要一個星期甚至一個月才能傳輸完。這時就可以通過高速連線以及高速通道增加頻寬,不需要通過Internet,防止傳輸錯的資料,同時也不會影響生產庫。 通過ADAM平臺Oracle資料到雲資料庫還會提供30天的迴流機制,為使用者提供遷移割接過程的最大保障。

阿里雲如何打破Oracle 遷移上雲的壁壘

雲資料庫PPAS不僅是高可用,還支援同城容災,在不增加任何費用成本的情況下,使用者可以選擇使用單可用區叢集,或是使用多可用區(同城容災)叢集,以提供更有保障的企業級容災需求保護。

阿里雲如何打破Oracle 遷移上雲的壁壘

雲資料庫PPAS 不只是自動備份,還送50%免費備份空間。例如使用者購買例項儲存空間為1TB,將直接贈送500GB免費備份空間。

阿里雲如何打破Oracle 遷移上雲的壁壘

雲資料庫PPAS雲化管理是按時間點進行例項克隆的,例項克隆功能將於2018年7月提供,並支援長達730天資料備份,當前只提供臨時例項。

阿里雲PostgreSQL生態系統

阿里雲如何打破Oracle 遷移上雲的壁壘

Oracle的應用可以遷移到雲資料庫PPAS版,PPAS通過高效能本地儲存空間,以儲存熱點OLTP業務資料。歷史資訊儲存到外部的OSS上面,OSS上面的資料可以直接被HybridDB for PostgreSQL讀取使用,也就是說OLTP可以進行業務處理,OLAP可以直接通過基於開源Greenplum Database分散式MPP架構的阿里雲資料倉儲服務HybridDB for PostgreSQL進行。

阿里雲如何打破Oracle 遷移上雲的壁壘

同時使用者也可以保留原有Oracle系統,只將分析業務轉為使用HybridDB for PostgreSQL,其 OLAP效能優勢如下如下:

·通過HDB PG承接OLAP業務。

·Oracle生產庫無需調整。

·HDB PG提供高效能MPP。

·HDB PG支援20+ Oracle函式。

·HDB PG可擴充套件到PB。

·支援IoT所需的JSON/GIS/IP。

·基於OSS實現與PPAS/PG下的OLTP及OLAP打通。

HybridDB for PostgreSQL混合分割槽

阿里雲如何打破Oracle 遷移上雲的壁壘

儲存可分為三種儲存,分別為行式儲存、列式儲存以及OSS暖儲存。

·行式儲存不僅對於需要查詢某行詳細資訊的效能好,而且對於需要進行update及delete操作的資料集效能更好,並且還可以通過Index索引優化查詢效能。

·列式儲存可以獲得更高的壓縮比、節省儲存空間、靈活地設定每行不同的壓縮比基於gzip以及進行分析操作時列存模型減少等優點。

·OSS暖儲存器通過OSS存放不經常使用的歷史歸檔資料,實現“暖儲存”支援直接查詢,無需重新進行匯入並支援CSV、gzip格式。

作者簡介:蕭少聰,花名鐵庵,Postgres中國使用者會創始人之一,2015-2018屆輪任主席。阿里雲高階資料庫產品專家,主要負責雲資料庫RDS及PostgreSQL產品線。擁有多年開發、架構設計及專案管理經驗,協助中國眾多企業實現Oracle資料庫到Postgres系列資料庫的遷移。

相關文章