王永

早年的互聯網,當面對電商、視頻、社交、出行類場景時,無論是客戶并發,還是處理數據級別等角度,這并不是一個傳統的關系型數據庫就能處理的。因此,伴隨整個互聯網、移動互聯網應用開發浪潮的崛起,大量的NoSQL數據產生,驅動著云原生關系型數據庫的出現。
與此同時,越來越多的用戶希望把自己的應用架構在開源的數據庫引擎上,無論是MySQL還是PostgreSQL,而不愿意再把自己的應用架構在一個有嚴苛標準且會被鎖定的數據庫引擎。
這就好比公司的開發人員把所有時間都花在核心業務的應用開發上,不需要浪費任何時間去開發跟核心業務無關的代碼。這當然是一個非常美好的愿望,其背后的含義就是:客戶希望把無法讓自己在市場競爭中脫穎而出的“臟活累活”盡量拋掉,讓開發人員專注于應用和數據。而這一改變也驅動更多客戶向全托管式的云數據庫服務進行轉型。
另外,從早期的PC、互聯網、移動互聯網,到現在的萬物互聯,軟件架構基本上都是從Server到SOA再到微服務,這樣一個軟件架構的迭代和轉型,也在驅動著數據庫選型的變化。
“所以,伴隨客戶業務體量越來越大,復雜度越來越高,它會在這種情況下選擇將超級復雜的單體應用拆分成多個微服務和多個大的功能模塊。當客戶做了應用重構之后,必然會做數據的拆分,根據這個應用所使用的數據類型以及數據訪問特點,來決定究竟應該選擇云上的哪一個專門構建的數據庫。”亞馬遜云科技大中華區產品部總經理顧凡在接受筆者的采訪時表示,從應用端可以看到應用開發領域的變化是如何驅動整個數據庫技術的變化。對于亞馬遜云科技來說,也希望未來能夠結合專庫專用,極致性能、無服務器,敏捷創新、全球架構,一鍵部署、平滑遷移,加速上云、AI賦能,深度集成五大理念,從產品端解構,為客戶提供專業、可靠的產品和服務。
從客戶需求開看,在數據爆炸式增長,微服務架構與DevOps愈發流行的今天,一個數據庫打天下的時代早就過去了。真正需要的,是為開發者在不同的應用場景下針對不同的數據類型和不同的數據訪問特點,提供專門構建的工具。
這也是亞馬遜云科技在構建數據庫時第一個要構建的核心理念:專庫專用。目前,亞馬遜云科技專門構建數據庫的產品家族主要包括:托管的關系型數據庫Amazon RDS,開啟托管數據庫服務的新模式;開源的數據庫Amazon Aurora;非關系型數據庫Amazon DynamoDB以及圖數據庫Amazon Neptune等。
“亞馬遜電商其實當年是Oracle的數據庫客戶之一,不過隨著亞馬遜電商整個應用重構,包括微服務化,包括業務體量的發展,我們在2019年將存儲在7500個Oracle數據庫中的75PB內部數據全部遷移到亞馬遜云科技自己的數據庫服務。”顧凡表示,現在,亞馬遜電商已經是亞馬遜云科技在全球的第一大客戶。在這樣一個遷移的過程中,有100多個團隊參與了遷移工作,遷移所覆蓋的都是亞馬遜電商的關鍵系統,無論是采購、目錄管理、訂單執行、廣告、財務系統、錢包、視頻流,所有工作負載全都從Oracle遷出來。
實際上,從Oracle切換到亞馬遜云科技以后,亞馬遜電商也節省了60%的成本,同時面向消費者端的應用程序的延遲降低了40%,數據庫的管理支出減少了70%。
從業務的角度來看,絕大多數的企業應用都會有業務波峰波谷,如果做一些妥協,按照企業80%、90%的業務峰值去規劃數據庫的存儲容量以及計算資源的話,勢必會給應用帶來一定的業務連續性上的妥協或者挑戰。
雖然當前已經可以做到手動或者自由調整數據庫計算資源,但是這背后如果要真的實現在生產上面根據業務需求去擴展數據庫規模的話,背后還需要非常多的技術上的努力,才能夠真正將它實現。
企業上云的第一步,通常都是從自建數據庫選擇了托管的關系型數據庫,通過云服務、云原生數據庫解決大部分運營上的困難,比如,故障修復、補丁、軟件升級等。那么作為無服務器的模式還能帶來什么?
“當我們想要自動擴展數據庫規模的時候,無服務器模式都可以再進一步幫助我們做資源選型,同時還能自動設置我們擴展的相應規則。” 亞馬遜云科技大中華區產品部數據類產品高級經理王曉野表示,從運維的層面來解讀,無服務器模式背后所代表的和云計算的概念是非常相近。也就是說,將云廠商多年對于大規模數據庫運維、伸縮擴展的經驗,和團隊整個的技術能力最大化開放給客戶,使客戶受益。
目前,亞馬遜云科技在無服務器領域發布了最新的一款產品Amazon Aurora Serverless V2,它與Amazon DynamoDB的核心區別在于,Amazon Aurora是亞馬遜云科技推出核心的關系型數據庫。一般關系型數據庫做擴展,比NoSQL要難非常多,背后還要去考慮交易事故、已有鏈接如何中斷,以及保持機型擴展的數據的一致性。
Amazon Aurora Serverless V2核心提供的能力是瞬間擴展,真正把擴展能力發揮到極致。在不到一秒的時間內,將幾百個事務擴展到數十萬的級別。同時在擴展的時候,每一次調整的增量都是非常精細化的去管理,如果按照峰值這樣去規劃數據庫資源,能夠實現大概90%的成本節省。
更重要的是,Amazon Aurora Serverless V2真正是生產可用。它將會包含Aurora標準版,基于虛擬機實例的版本,包括全球數據庫、多可用區部署以及只讀副本,這些高可用的所有生產級別可用的性能。
“在全球化的今天,無論是手機、視頻娛樂還是智能汽車,客戶群體往往分布到全球,同時災難恢復對于現代化、全球化的分布式應用架構來說也提出了新的挑戰。” 王曉野認為,現在支持全球業務的應用,包括數據庫,需要實現支撐全球業務擴展所必要的全球業務的連續性,同時對于分布在全球不同的這些客戶,需要把它的一致的用戶體驗以最低的延遲帶給到他自己的終端客戶。
在亞馬遜云科技的產品里,通過能夠提供全球數據庫能力的數據庫服務,包括Amazon Aurora關系型數據庫的Global Database、Amazon DynamoDB、NoSQL數據庫、Amazon ElastiCache內存數據庫以及文檔數據庫Amazon DocumentDB,都能夠利用亞馬遜云科技的骨干網絡提供比互聯網更穩定的網絡支撐,以一鍵部署的方式,幫助客戶實現幾千公里跨區域數據庫災備。
據了解,目前已經有超過45萬的數據庫通過亞馬遜云科技的數據庫遷移服務實現了遷移到亞馬遜云科技云平臺,并且每年遷移的客戶數量還在不斷增長。
從工具角度上,亞馬遜云科技希望客戶能夠通過Amazon DMS、Amazon Database Migration Service,進行自助式的云遷移。對于遷移過程中可能會需要的人才以及相應的規劃,包括遷移之后的優化、相應的流程。通過專業服務團隊和合作伙伴網絡成員,為客戶提供專家方面的支持。
回到技術本身,亞馬遜云科技希望通過這兩個工具幫助客戶實現自助式的體驗數據庫上云平滑遷移。
通常,數據庫遷移分為兩部分:數據庫的格式轉換和數據遷移,但這并不意味著遷移的完成。以SQL Server商業數據庫遷移到云上為例,有一個非常關鍵的步驟,就是因為數據庫驅動整體的上云遷移。過去因為企業的整體應用遷移,會涉及到數據庫向云上異構的數據庫遷移之后,還是要做一個應用程序代碼改造的過程。對于SQL Server向PostgreSQL遷移的過程,需要重新去寫應用代碼邏輯,將T-SQL進行轉換改寫,這對企業來說也是一筆昂貴的成本開銷。
為了更好的幫助客戶實現平滑遷移,加速上云的需求,2021年11月份, Babelfish for Amazon Aurora PostgreSQL在全球并且在中國兩個區域已經正式可用的。它允許企業在已經熟悉Microsoft的T-SQL語法的情況下,包括協議、驅動,在不需要或者極少改動的情況下,讓Amazon Aurora PostgreSQL去理解原有語句所寫的針對于T-SQL的代碼。

對客戶來說,能夠加速企業上云的遷移,真正實現讓企業可以利用原有的技術棧、原有的SQL Server T-SQL的工程人員可以利用到云數據庫直接進行創新。
在現代化應用,尤其是用數據驅動去做創新的時候,許多場景下已經無數次的證明,用機器學習的方式要比傳統方式更好。
以欺詐檢測的為例,可能個人在銀行里面會有相應的一些記錄,通過這些信息可以對其是否有欺詐行為做風險判斷。但是這背后卻沒有考慮到作為個人,包括家庭成員,人與人之間的一些關系信息。如今在金融領域,非常多的企業已經開始大量利用人與人之間的關系進行風險控制、欺詐檢測。
“從場景來看,關系型數據庫已經不能滿足這樣一個關系的存儲,因為它不是為這個場景設計的,以圖數據結構去存儲數據的數據庫更合適。”王曉野表示,需要用圖數據庫和機器學習來共同完成任務,勢必會碰到挑戰:對于機器學習相關的人才我們缺乏技能;此外,開展機器學習,需要把數據進行預處理,挪到機器學習平臺,并進行模型訓練,這背后還耗費大量的時間和工作。同時,小數據量的驗證,如何在大數據量、成千萬、上億級之間的節點的關系,進行機器學習,都是在數據庫與機器學習結合相對應所帶來的挑戰。
為了更好地幫助客戶業務的深度集成,亞馬遜云科技推出了Amazon Neptune,專門構建的針對于圖數據結構,存儲物品、人物、各種事物之間的關系的數據庫。
在Amazon Neptune,最新推出了在今年8月份同時也在中國區域可用的Neptune ML的功能,允許數據工程師不需要掌握機器學習的技能,直接從圖數據庫里導出數據,轉換格式,訓練模型并發布,用gremlin語句調用訓練成的模型在數據庫里實現推理,進行欺詐檢測,進行物品推薦。