More  

收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

小編的世界 優質文選 主機

AWS添加微軟數據庫應用程序搬遷輔助,無服務器能擴至更大規模


字體大小:
2020年12月24日 -
:       
 

十輪網

關於數據庫、數據倉庫等多種存儲與分析服務的發展,是AWS這幾年力推企業上雲的重頭戲。

他們在2018年全球用戶大會提出Database Freedom口號,抨擊Oracle、微軟SQL Server這類舊型商業等級數據庫,認為它們成本昂貴、高度捆綁、采用專屬設計,並非聚焦於用戶需求,因此,AWS鼓吹企業采用開放式的資料引擎與可移植能力,以及強調他們可提供商業等級的關系型數據庫性能,因而主推兼容於MySQL和PostgreSQL的Amazon Aurora,還可以選擇商用等級軟件Oracle、SQL Server,以及開放源碼軟件PostgreSQL、MySQL、MariaDB,而這些都隸屬於他們的數據庫雲計算服務Amazon RDS。

此外,AWS母公司Amazon在11月1日宣布全面改用自家數據倉庫服務Redshift,而不再使用Oracle。

到了2019年全球用戶大會,AWS將重點擺在數據倉庫,宣布推出更多Redshift系列服務與功能,像是Redshift RA3執行實例、AQUA for Amazon Redshift高端加速查詢、Redshift Data Lake Export資料湖導出,以及Redshift Federated Query聯合查詢、具現化查看(虛擬資料表)Materialized views,其中的RA3、Redshift Data Lake Export當時已上線提供、Materialized views的支持提供預覽版,AQUA for Amazon Redshift今年12月終於發布預覽版,Materialized views與Federated Query,則陸續在3月、4月正式推出。

今年AWS全球用戶大會的相關技術應用發布,又將目光重新聚焦在數據庫,他們也發布協助數據庫系統遷移的新功能,這次鎖定的對象是微軟SQL Server,而非以往針對的Oracle,同時,也強化Aurora的無服務器應用服務。

關於SQL Server數據庫遷移,AWS將推出Babelfish for Aurora PostgreSQL功能,希望能以此協助用戶,讓他們將既有SQL Server數據庫系統,更簡易地搬遷至AWS的數據庫雲計算服務Aurora PostgreSQL,用戶可在Aurora PostgreSQL環境,繼續執行既有SQL Server的應用程序,而且僅需小幅修改程序代碼即可、甚至不用修改程序代碼,同時,AWS也計劃開放這套軟件功能的程序源碼,采用Apache 2.0授權許可,並公布在程序代碼協作與共享社群平台GitHub。

另一項消息,則是他們針對隨需執行的關系型數據庫服務Aurora Serverless,宣布將推出第二版。針對那些不打算自行管理數據庫容量的用戶,Aurora Serverless v2能在一秒之內,大幅擴展執行規模,而能處理數十萬筆交易,相較於基於尖峰容量設置的數據庫環境,AWS宣稱,最高可節省90%的成本。目前,AWS已針對兼容於MySQL 5.7版本的Aurora,推出預覽版本供用戶測試。

在大數據分析的部分,除了上述AQUA for Amazon Redshift本月宣布推出預覽版的消息,AWS還針對資料搬移與准備服務Glue,發布了匯集與複制多個人信息料源的Elastic Views功能,同時,也在商業智能雲計算服務QuickSight,增設了自然語言輸入查詢的功能Q。

取代SQL Server成AWS拓展數據庫市場新目標,積極強化遷移能力

為了吸引更多用戶將數據庫系統遷移到公有雲,AWS提供數據庫綱要轉換工具Schema Conversion Tool(SCT),以及數據庫遷移服務Database Migration Service(DMS),但除了數據庫綱要的轉移,應用程序的資料訪問邏輯該如何因應搬遷,又會是另一項大工程,因為通常需要大費周章地手動調整程序代碼,而且這裏面又涉及到數據庫各自專屬的指令使用。

過去AWS針對Oracle數據庫應用程序的部分,可通過SCT將PL/SQL轉換到PL/pgSQL,但並未涵蓋到SQL Server應用程序,而影響遷移數據庫的工程。另一方面AWS這邊也接到越來越多用戶想將SQL Server遷移至Aurora需求──這主要是因為微軟對於授權的做法越來越積極,增加更多操縱機制,例如,他們將自有授權帶入雲計算服務(BYOL),局限在2019年10月1日購買的用戶,使用的軟件也只能升級到這個日期之前可用的版本,使得遷移上雲的成本變高。

對此,AWS決定開發一套名為Babelfish for Aurora PostgreSQL的功能,能讓原先可在SQL Server執行的應用程序,也能在PostgreSQL其中直接執行,而且只需修改少量程序代碼即可。這項功能會替Aurora PostgreSQL提供轉換層,讓雲計算服務能夠理解專為SQL Server撰寫的應用程序的T-SQL指令。

基本上,Babelfish可支持相關的SQL分支語法、指標、目錄查看(catalog views)、資料類型、觸發程序(trigger)、預存程序(stored procedure)、函數(function),以及Tabular Data Stream(TDS)通信協議,用戶不需改寫應用程序的資料訪問請求方式,也不需沿用既有SQL Server驅動程序。

用戶在運用AWS DMS遷移數據庫之後,只需更新他們的應用程序組態,將數據庫的指向從原本的SQL Server改為Aurora即可。由於Aurora會通過Babelfish for Aurora PostgreSQL理解SQL Server與PostgreSQL專屬的查詢語言,之後用戶即可改用PostgreSQL來撰寫數據庫應用程序的功能,並且能同時執行既有的SQL Server的T-SQL語法敘述程序代碼。

作為Aurora即將發布的功能之餘,AWS也預告,將在2021年公開Babelfish for PostgreSQL的程序源碼,將受益的對象擴大至整個PostgreSQL使用社群,而非局限在Aurora用戶。任何人能夠參與這項軟件開發計劃,並加入更多功能,屆時Babelfish for PostgreSQL將采用Apache 2.0的授權模式,讓各種企業或組織基於這樣的授權條款,能夠自由使用、散播、修改,相關的工作與規劃都會公布在程序代碼協作平台GitHub。

發布新版數據庫無服務器應用服務,能更快擴展執行規模

在2018年,AWS的無服務器數據庫應用服務Aurora Serverless正式推出,雖然用戶不需自行管理數據庫容量,但有越來越多的情況,需要快速、更精確地擴展數據庫容量,例如,執行更多生產環境的工作負載,以及運用Aurora的多種功能,像是激活多個可用區域(Multi-AZ)實現高可用性、構建全球數據庫來達到低延遲、運用讀取副本(Read Replicas)以獲取高性能、采用時間回溯(Backtrack)來快速恢複,或是提供平行查詢來加快查詢速度。此時,用戶若要擴展Aurora Serverless數據庫容量1倍,每次需耗費5到50秒。

而在即將推出的Aurora Serverless v2,能在1秒以內大幅擴展數據庫工作負載規模,使其能夠處理數十萬筆交易。相較於現行每次在工作負載需要擴展規模時增加1倍容量的做法,Aurora Serverless v2會根據應用程序的需求來細部調整每次增益的容量,提供最合適的數據庫資源容量。

而且,此時用戶只需根據他們使用的容量,來支付服務費用。

若是對照基於尖峰容量而配置的數據庫資源,由於難免會有過度提供或閑置的狀況,而如今Aurora Serverless v2能夠變動態擴展與縮減執行規模,在數據庫服務的使用上,有望節省更多成本。

而有了這類精細擴展規模的能力,Aurora Serverless預計可支持更多種企業應用系統的需求,甚至也適用於軟件即服務(SaaS)供應商,能因應於多租戶環境,以及本身需管理大量關系型數據庫的環境。

針對用量起伏較大的關系型數據庫雲計算服務應用,例如線上搶票或暴量商品或服務訂購,AWS原本就有Aurora Serverless的執行模式,今年推出第二版的功能,能在更短時間內擴展與縮減數據庫執行容量規模,最低可擴展0.5個數據庫容量單位(Aurora Capacity Unit,ACU),最高可到256個ACU。
(圖片來源/AWS)

提供更多加速數據倉庫查詢的應用服務與功能

在大數據分析的應用上,AWS旗下有多種雲計算服務,可針對不同用途的資料處理需求,例如,Athena能用於無服務器形態的資料查詢(以SQL語法分析存放在S3的資料);Elasticsearch Service可用於資料搜索與圖表化呈現(集成Elasticsearch、Logstash、Kibana);Kinesis能處理即視頻流媒體與時資料流;Redshift專攻數據倉庫;EMR可執行多種大數據框架軟件的工作負載,像是Spark、Hive、Presto、Flink、HBase;Glue提供無服務器執行形態的資料准備服務;QuickSight則是支持商業智能分析應用的服務。

而在今年全球用戶大會期間,AWS特別針對其中三項服務,也就是Redshift、Glue、QuickSight,發布新的消息。

AQUA for Amazon Redshift

首先是去年發布的分布式硬件加速緩存技術AQUA for Amazon Redshift,在今年12月開放預覽版試用,預計在2021年1月正式推出,而且將依附在RA3執行實例其中免費提供,因此,租這項服務的用戶不需變更程序代碼,即可享受到AQUA的好處。

Glue Elastic Views

第二個則是針對資料匯集的需求,AWS在Glue這項無服務器ETL資料准備服務其中,即將推出名為Elastic Views的集成功能,目前已發布預覽版,用戶可通過具現化查看表(materialized views)的構建,而能運用多種來源資料。基本上,這項功能可橫跨存儲系統、數據倉庫、數據庫等多個人信息料存儲服務,執行自動結合與複制資料的作業。

為了要匯聚分散在多個人信息料孤島上的內容,雖然我們可以構建資料湖來進行集成,但考慮到訪問延遲與實際IT運營挑戰,放置在專屬存儲的資料量仍在大量增加,因此,企業仍須在這些分散或集中的存儲服務之間,進行資料搬移(Data Movement)的工作,而在Glue Elastic Views其中,用戶可使用SQL語法,針對想要從不同來源存儲服務複制資料、進行匯總,以便創建具現化查看。

而除了將不同來源數據庫的內容複制到目標數據庫,Glue Elastic Views還會自動更新目標數據庫的內容──AWS會持續監控來源數據庫的變更,並在幾秒之內更新目標數據庫,一旦某個來源的資料模型有變動,Glue Elastic Views會主動警告開發人員,讓他們更新手上的具現化查看來反映變更。

當然,Glue本身是無服務器架構的資料准備服務,Glue Elastic Views可隨著工作負載加重或減輕,自動擴展或縮減服務容量,確保目標數據庫存放的具現化查看表內容,維持最新狀態。

Glue Elastic Views目前能匯集哪些數據源?AWS表示,可支持多種AWS環境的數據庫雲計算服務,像是NoSQL數據庫DynamoDB、Elasticsearch Service,關系型數據庫RDS、數據倉庫Redshift,以及資料存儲服務,像是S3。

在資料分析之前的准備與匯集作業上,AWS Glue添加了Elastic Views的功能,可讓企業運用SQL語法來創建虛擬資料表,以此來結合與複制多個來源的資料,而在這其中,使用了AWS在2019年推出的SQL兼容查詢語言PartiQL,可支持DynamoDB、S3、Redshift等數據庫與存儲服務。
(圖片來源/AWS)

QuickSight Q

關於企業環境大數據處理需求,除了數據倉庫、資料准備(ETL),另一個關鍵則是資料分析,對此AWS在2015年推出主打商業智能用途的QuickSight,2019年增設了機器學習與自然語言功能,名為ML Insights,用戶可執行異常偵測、趨勢預測,以及自動化內容分析陳述(Auto-narrative)。

在今年全球用戶大會上,AWS發布另一項結合自然語言應用的資料查詢功能,稱為QuickSight Q,用戶可針對所有現存的資料,在QuickSight Q的搜索框其中,以自然語言的問句形式鍵入內容,幾秒鐘之內就會得到答案(目前以英文為主,但AWS並未提及是否能以其他語言提問)。

值得注意的是,QuickSight Q支持自動完成的關鍵字詞與商業用語建議功能,以及自動執行的拼字檢查、縮寫、同義詞的比對,用戶無需擔心拼錯字,或是資料確切的商業用語。這套雲計算服務使用了深度學習與機器學習技術,像是自然語言處理、資料綱要理解、語義分析,支持SQL語法程序代碼的產生,再以此產生能理解問句意義與商業資料關系的資料模型,用戶就能很快地接收到高精准的回答,不必耗費幾天或幾周的時間等待資料模型構建完成之後,才能得到答案。

相較於BI團隊構建資料模型、分析預先被決定好模型的資料集的做法,AWS認為,QuickSight Q並不會局限用戶提問範圍,而且查詢分析的範圍是全部的資料,可提供更完整、精確的解答。不過,在深度學習與機器學習的技術應用上,QuickSight Q使用的是預先訓練的資料,而這些資料源自不同領域與產業,因此,QuickSight Q的自然語言處理,可被調校成理解複雜的商業語言。

關於提問與回答精准度的部分,QuickSight Q會從用戶交互過程其中來學習,而能隨著時間持續提升。此外,如果QuickSight Q無法理解用戶輸入的問題,他們也可以在搜索框,借由建議選項的下拉式菜單來得到提示、引導問題的描述,而在下一次查詢交互時,QuickSight Q會記住這詞匯,提示給用戶選擇。

為了簡化企業將SQL Server搬遷至數據庫雲計算服務Aurora的工程,AWS發布了Babelfish for Aurora PostgreSQL的功能,可讓SQL Server專屬的相關應用程序,在少量或不需修改程序代碼的狀況下,移植到Aurora執行。同時,他們也宣布將在2021年發布Babelfish for PostgreSQL開放源碼項目,讓更多PostgreSQL系統也能具備這項功能。
(圖片來源/AWS)