摘要: 2018第九屆中國數據庫技術大會,阿里雲數據庫產品專家蕭少聰帶來以阿里雲如何打破Oracle遷移上雲的壁壘爲題的演講。Oracle是指「數據庫管理系統」,面對Oracle遷移上雲的壁壘,阿里雲如何可以打破它呢?本文提出了Oracle 到雲數據庫PPAS遷移的方案,這種遷移方案爲何比Oracle到 MySQL系列的遷移容易推進呢?答案即將揭曉。數據庫
2018第九屆中國數據庫技術大會,阿里雲數據庫產品專家蕭少聰帶來以阿里雲如何打破Oracle遷移上雲的壁壘爲題的演講。Oracle是指「數據庫管理系統」,面對Oracle遷移上雲的壁壘,阿里雲如何可以打破它呢?本文提出了Oracle 到雲數據庫PPAS遷移的方案,這種遷移方案爲何比Oracle到 MySQL系列的遷移容易推進呢?答案即將揭曉。服務器
Oracle數據庫遷移方案運維
數據業務架構中都會有服務器、應用及數據庫系統和存儲系統三大塊,服務器與存儲系統上雲是相對容易解決的,但在解決應用及數據庫系統方面是有些難度的。因而,阿里雲給出了上面的解決方案。在這個解決方案中,用戶能夠經過不一樣的方式,將數據庫遷移到雲上,咱們能夠繼續在ECS中運行Oracle,也能夠遷移到MySQL。固然也能夠將應用及數據庫系統遷移到雲數據庫PPAS版,藉助其高度兼容Oracle的能力,下降用戶遷移上雲的難度,並下降系統長期運維的複雜性。分佈式
阿里雲不只有同城容災、自動備份、時間點恢復等這些部分會爲雲的用戶去提供。阿里雲數據庫還會加入高可用的HA,它通常須要兩個或兩個以上的節點,進行復雜配置。而在阿里雲,用戶僅需點一下按鈕就能夠有高可用的HA,並且這樣的HA集羣不單能夠在同一數據中心上構建,同時也支持同城雙中心異地容災,一樣一鍵部署完成。同時,阿里雲還爲用戶提供ADAM(Advanced Database & Application Migration 「亞當」)工具,以協助用戶藉助PPAS的Oracle兼容性進行快速遷移。那麼接下來怎樣去遷移的各步驟應該如何進行呢? 函數
將ADAM採集器安裝在Oracle上面,ADMA將起到三個方面的做用:
ADAM起到採集的做用,它將採集Oracle上的表、視圖、存儲過程等數據庫結構定義的信息,它會收集脫敏後的SQL (DML/Trans),它還會採集數據庫運行的狀態信息,好比CPU/SGA/表容量等等。
ADAM起到源庫保護的做用,ADAM在只讀模式下不會產生髒數據。ADAM在自動切片時,將進行單線程遠程訪問,所以消耗源庫負載極小。每一個切片採集前,均判斷源庫負載是否超閾值。ADAM在專用守候線程中,會按期檢查源庫負責,超閾值時將自動暫定採集。
ADAM起到信息保護做用,ADAM會保護主機名稱、IP等敏感信息,ADAM會自動完成一級脫敏,ADAM還選擇完成二級脫敏,將全部表名稱、字段名稱進行加密,密鑰文件將由客戶保管。工具
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 數據庫到 MySQL系列的遷移難以推進呢?緣由是Oracle 數據庫到 MySQL系列的遷移會致使ISV及企業遷移風險增大,在整個遷移過程當中代碼、存儲過程以及構架需作出大的改動,這會致使研發從新學習、DBA從新學習、代碼的語法重寫甚至業務構架重寫,最終形成業務風險增大、人力成本變高以及產品成本變高。學習
而Oracle 數據庫到雲數據庫PPAS版是相對容易推進的,在推進過程當中提升了Oracle遷移上雲的成功率。研發可繼續寫Oracle語法從而下降遷移難度及工做量,阿里雲可自動運維提升DBA SQL優化能力,代碼的語法幾乎不需改動,ADAM協助得以精準分析。優化
爲何說PPAS兼容Oralce會更好呢?由上圖能夠看到MySOL與Oracle的交集面積比PostgreSQL與Oracle的交集面積都很小,這並不能達到預期的效果。指望中雲數據庫PASS版效果應當是Oracle的面積與PostgreSQL的面積幾乎達到重合。
爲何會須要這麼多的兼容部分呢?由於這樣才能讓企業的開發團隊、原有的開發成果以及已有的應用快速的放到雲上面去。例如,若是開發商開發的軟件都是線下的,但客戶要求上雲,到雲上面又須要用到互聯網思惟,那麼原有的存儲模式都須要改動,爲了維護雲的架構線上、線下的結構都須要改動,這樣會須要大量的人力成本。若是有一個功能直接兼容Oracle 的語法,這個時候放到雲上面去會減小總體的負擔。
雲數據庫PPAS 到Oracle兼容的數據類型有許多種,例如,BLOB、CLOB、DATE等等。它們各自又有各自的別名與類型,例如 BLOB 的別名是LONG RAW,其類型是二進制數據。
ADAM能夠協助用戶Oracle數據庫經過全量以及增量進行上雲遷移,若是Oracle數據量很大,這裏可能須要一個星期甚至一個月才能傳輸完。這時就能夠經過高速鏈接以及高速通道增長帶寬,不須要經過Internet,防止傳輸錯的數據,同時也不會影響生產庫。 經過ADAM平臺Oracle數據到雲數據庫還會提供30天的迴流機制,爲用戶提供遷移割接過程的最大保障。
雲數據庫PPAS不只是高可用,還支持同城容災,在不增長任何費用成本的狀況下,用戶能夠選擇使用單可用區集羣,或是使用多可用區(同城容災)集羣,以提供更有保障的企業級容災需求保護。
雲數據庫PPAS 不僅是自動備份,還送50%免費備份空間。例如用戶購買實例存儲空間爲1TB,將直接贈送500GB免費備份空間。
雲數據庫PPAS雲化管理是按時間點進行實例克隆的,實例克隆功能將於2018年7月提供,並支持長達730天數據備份,當前只提供臨時實例。
阿里雲PostgreSQL生態系統
Oracle的應用能夠遷移到雲數據庫PPAS版,PPAS經過高性能本地存儲空間,以存儲熱點OLTP業務數據。歷史信息存儲到外部的OSS上面,OSS上面的數據能夠直接被HybridDB for PostgreSQL讀取使用,也就是說OLTP能夠進行業務處理,OLAP能夠直接經過基於開源Greenplum Database分佈式MPP架構的阿里雲數據倉庫服務HybridDB for PostgreSQL進行。
同時用戶也能夠保留原有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混合分區
儲存可分爲三種儲存,分別爲行式存儲、列式存儲以及OSS暖存儲,這三種存儲的介紹以下:
行式存儲不只對於須要查詢某行詳細信息的性能好,並且對於須要進行update及delete操做的數據集性能更好,而且還能夠經過Index索引優化查詢性能。
列式存儲能夠得到更高的壓縮比、節省存儲空間、靈活地設定每行不一樣的壓縮比基於gzip以及進行分析操做時列存模型減小等優勢。
OSS暖存儲器經過OSS存放不常用的歷史歸檔數據,實現「暖存儲」支持直接查詢,無需從新進行導入並支持CSV、gzip格式。