關於資料庫、資料倉儲等多種儲存與分析服務的發展,是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)

 相關報導  AWS後疫新戰略

 

報名台灣唯一超規格資安盛會

 

熱門新聞


Advertisement