帶你輕松遷移數據庫到亞馬遜云科技
原創如今,企業上云離不開數據庫上云。然而,云上有很多數據庫類型,企業該如何選擇?將數據庫遷移到云端,該有哪些步驟呢?不同的業務場景下,企業該如何選擇?本文將介紹 亞馬遜云科技 各種常用數據庫特性,以及如何滿足客戶不同業務需求,并列舉數據庫遷移案例為大家演示如何輕松便捷地把數據庫遷移上云。
一、亞馬遜云科技 數據庫概覽
在這個互聯網極其發達的時代,我們每個人會接收以及生產各式各樣的信息,數據的重要性已經滲透到每個角落,成為每個行業發展和變革的必要元素。我們日常使用的手機應用,比如微信、支付寶、微博等,里面的數據都是需要數據庫來進行存儲,不同的應用會使用不同類別的數據庫,甚至同一個應用可能同時使用多種數據庫。
應用離開了數據庫就像魚兒離開了水,由此可見數據庫在當今互聯網的重要性。我們甚至可以說當今世界最寶貴的資源不再是石油,而是數據。隨著業務的快速發展,全球化業務新興需求增加,本地傳統數據庫已經無法為快速發展的業務提供支持,我們需要探索一種新的方式,把本地數據庫遷移到云中,利用云中數據庫的優勢來解決本地數據庫中遇到的瓶頸問題。
我對各家云廠商數據庫種類做了一個比較,發現 亞馬遜云科技 為用戶提供的數據庫種類最為豐富,幾乎把所有數據庫相關的應用場景都捕捉到了。下面通過一個列表,來瀏覽一下 亞馬遜云科技的數據庫種類,其中關系型數據庫最為豐富,也是目前應用使用最多的數據庫。
圖片來源于亞馬遜云科技全球網站截圖
以上這些數據庫由 亞馬遜云科技 完全托管,用戶不用去管理底層硬件系統升級維護等相關工作,這也是推薦使用全托管數據庫而非自建數據庫的原因。為了方便客戶數據庫遷移上云,亞馬遜云科技還為客戶提供了非常方便的遷移工具 DMS,幫助用戶輕松經濟高效的完成遷移任務。
那么面對這么多種類的數據庫,尤其是一些新型數據庫,我們從來沒有使用過,我們該如何選擇?我們需要從業務場景為出發點來分析使用哪種數據庫,下面我對 亞馬遜云科技數據庫的使用場景做個簡單的介紹,也讓大家對 亞馬遜云科技各種數據庫的應用場景有一個大致了解。
數據庫種類 |
應用場景 |
---|---|
關系數據(RDS) |
傳統應用程序、ERP、CRM 、電子商務 |
鍵值數據(DynamoDB) |
高流量 Web 應用、電子商務系統、游戲應用程序、微服務 |
寬列數據(Keyspaces) |
用于設備維護、隊列管理和路線優化的大規模工業應用程序 |
文檔數據(DocumentDB) |
內容管理、目錄、用戶配置文件、移動和 Web 應用程序 |
內存數據(ElasticCache) |
緩存、會話管理、游戲排行榜、地理空間應用程序 |
圖數據(Neptune) |
欺詐檢測、社交網絡、推薦引擎、知識圖譜 |
時序數據(Timestream) |
IoT 應用、開發運營和工業遙測 |
分類賬數據(QLDB) |
系統記錄、供應鏈、注冊、銀行事務 |
初步了解 亞馬遜云科技各項數據庫的應用場景之后,我們詳細介紹 亞馬遜云科技各項數據庫特性,以及 亞馬遜云科技數據庫如何滿足用戶在各種業務場景下面的需求。
數據庫家族
關系型數據庫
關系型數據庫是起源非常早的數據庫,也是目前各種應用使用最多的數據庫。我們使用各種應用都需要注冊用戶,這些用戶數據存放在關系型數據庫里面;你在電商網站下了一個訂單,訂單也是存放在關系型數據庫里面;我們訪問的網站,其后臺數據也是存放在關系型數據庫里面。所以說關系型數據庫無所不在。
說到 亞馬遜云科技的關系型數據庫,那不得不說一下 Amazon Aurora,Aurora 是 亞馬遜云科技 專為云而打造的云原生數據庫,它兼容 MySQL 和 PostgreSQL,它可以支撐我們各種關系型數據庫的應用場景,性能好、易擴展、安全、便于管理,Aurora 如此好用,也依托于它下面的一些特性:
- 性價比:吞吐量為標準 MySQL 的五倍,標準 PostgreSQL 的三倍,成本只有商業數據庫的十分之一。
- 擴展性:基于共享存儲,主從復制延遲很低,可跨三個可用區擴展至最多 15 個只讀副本。
- 可用性與持久性:具有容錯能力的自我修復存儲;跨三個可用區建立六個數據副本;持續備份至 S3。
- 安全性:VPC 網絡隔離、靜態/傳輸數據加密、滿足大多數地區合規性要求。
- 全球數據庫:數據庫跨越多個 亞馬遜云科技地區同步復制,將數據庫置于用戶端,可以實現低延遲(典型延遲小于 1 秒)的本地讀取和跨區域災難恢復。
- 無服務器:可以根據工作負載自動擴容縮容,無需關心底層硬件擴展,適合業務波動的應用。
Aurora 具有很多傳統數據庫不具有的特性,這樣讓 Aurora 成為關系型數據庫的首選。不過如果你不想更換數據庫類型,把本地現有的數據庫遷移到云中,亞馬遜云科技還為用戶提供 MySQL、MariaDB、PostgreSQL、SQL Server、Oracle 等關系型數據庫,客戶可選擇相同的數據庫引擎進行遷移。并且這些數據庫依托于 亞馬遜云科技強大的基礎設施和管理,同樣安全穩定。
如果 Aurora 非常吸引你,而你現在用的是 SQL Server 或者 Oracle,那該怎么辦?不用擔心,亞馬遜云科技為客戶提供了 Schema Conversion Tool、DMS這2個服務,可以幫助客戶評估并且轉換數據庫對象,非常便捷地將本地數據庫遷移到 Aurora。
鍵值數據庫
互聯網發展到今天,數據表越來越大,有的應用要求寫得快、讀的快等需求。關系型數據庫已經無法滿足我們的需求,因此 NoSQL 數據庫也就誕生了。我們把一些不需要關系查詢,要求讀寫快的應用數據放置在 NoSQL 數據庫里面來解決性能問題。
考慮到客戶的需求,亞馬遜云科技也為客戶提供了自研的 NoSQL 數據庫 Amazon DynamoDB,它支持鍵值存儲,也支持文檔存儲,特別以鍵值存儲為核心,面對海量數據,性能非常強悍。因其由 亞馬遜云科技完全托管,所以也是無服務器架構中的重要一員。
- 擴展性:可自動縱向擴展和縮減表,以針對容量做出調整并保持性能,提供任意級別的請求流量。
- 高性能:對于一般的請求,DynamoDB 在個位數毫秒內可以完成,而且處理請求的速度不會隨著數據量的增加而減慢。
- 分布式:無中心化架構,一個表上的數據可以分布到幾百臺機器上。
我也在 亞馬遜云科技官方渠道了解到,匯量科技是一家廣告公司,他們也大量使用了 亞馬遜云科技的服務,尤其是對廣告點擊的數據,正是采用了 DynamoDB 數據存儲,可以支撐 2019 年日均廣告請求量 600 億次,峰值高達 1000 億次。如此巨大的請求量,放在關系型數據庫將無法支撐,由此可見 DynamoDB 在這種應用場景性能多么強悍。
文檔數據庫
JSON 數據無數不在,它是一種非常靈活的格式,你可以很方便地修改一條數據的 Schema。它是一種輕量級的數據交換格式,目前使用最廣泛的 API 標準 RESTfull API,它的輸出標準也是 JSON。使用 JSON 進行數據建模最符合人類語言的邏輯。以上這些使用場景,我們都需要一種文檔數據庫來存儲 JSON 數據,它既不是關系型數據庫,也不是鍵值數據庫。
哪些應用場景會用到文檔數據庫呢?因為 JSON 數據的靈活,文檔數據已經滲透到各個領域,比如在游戲中,存儲用戶信息,裝備積分等;在物流中,存儲訂單信息,訂單狀態;在社交中,存儲用戶信息以及用戶發表的朋友圈信息;在視頻直播中,存儲用戶信息和禮物信息等。
為了滿足客戶這些使用場景,亞馬遜云科技為客戶提供了 DocumentDB 數據庫,見名知意,它是一個云原生的文檔數據庫,與 MongoDB 兼容,你可以把現有的 MongoDB 數據庫通過 DMS 或 mongodump/mongorestore 等原生方式遷移上 亞馬遜云科技。
DocumentDB 擴展性很強,水平擴展在分鐘級別,最多可以擴展到 15 個讀副本;垂直擴展也在分鐘級,最高擴展至 768 GiB 內存;存儲可以自動擴展,最高支持 64TB。這些特性都是我們在自建數據庫很難實現的。
內存數據庫
如今的應用越做越大,很多都已經開始進行分布式或者微服務架構,這時候就需要一個存儲庫來儲存用戶的會話信息,不然用戶可能處于頻繁的登陸狀態;還有應用要求提升數據查詢速度,這就需要給數據庫添加緩存層等。以上這些應用場景都會需要內存數據庫。
那么 亞馬遜云科技 同樣在云中為客戶提供了完全托管的內存數據庫 Amazon ElastiCache,客戶可以把一些熱數據、會話數據、消息數據、排行數據等存放在其中,以加速數據的存取速度。它支持兩種存儲引擎,Memcached 和 Redis。
- 極致性能:能夠支持要求最嚴苛且需要亞毫秒級響應時間的應用程序。
- 輕松擴展:通過使用 亞馬遜云科技管理控制臺或者簡單的 API,用戶可以根據應用需要添加或刪除緩存集群中的節點。
- 安全性:支持 Amazon VPC,可以進行網絡隔離。通過安全組來管理集群的訪問權限。
- 高可用:可將 2 到 6 個節點歸入一個具有副本的集群,如果一個節點出于任何原因發生故障,您不會丟失所有數據。
圖數據庫
關系型數據庫有了,鍵值和內存數據庫也有了,已經基本滿足大部分應用的日常需求,對于 亞馬遜云科技來說,這還不夠。用戶還會面臨性能和schema變更不易的問題,因此 亞馬遜云科技推出了圖數據庫 Neptune。
使用圖形數據庫處理社交網絡數據非常高效,Amazon Neptune 可以快速輕松地處理大量的用戶配置文件和交互,從而構建社交網絡應用程序。
時序數據庫
顧名思義,時序數據庫是和時間相關的數據庫。因為很多對數據的查新都是以時間段為基礎的, 適用于 IoT 和運營應用程序。因此 亞馬遜云科技為用戶提供了 Amazon Timestream,專門處理時序數據,目前還處于注冊預覽版。
分類賬數據庫
分類賬數據庫的使用場景也很好理解,最適合的場景是“記賬本”。“賬本”是不能被更改的,每一筆記錄都不能被改動,被忠實的記錄下來,以備查詢。Amazon Quantum Ledger Database 就應運而生了。
這聽起來和“區塊鏈”有點關系,不過 QLDB 是有中心的,而“區塊鏈”是去中心化的,那么你可能會問,亞馬遜云科技有沒有去中心化的數據庫,回答是有的,那就是 Amazon Managed Blockchain。我們很難去想 亞馬遜云科技到底不存在什么數據庫,用戶需要的它有,用戶用不到的它也有,可以說達到了“應有盡有”的程度。
遷移工具
介紹了這么多的數據庫,以及各種數據庫的使用場景和特性,幾乎滿足日常應用的所有需求,那我們肯定是想知道如何使用這些數據庫,以及如何把目前本地自建的數據庫遷移到云中。下面我們將介紹 亞馬遜云科技為客戶提供的遷移神器 Amazon Database Migration Service,以及 DMS 如何幫助客戶便捷高效地把數據遷移到云中的數據庫。
同樣 DMS 也是完全托管的,這讓我們把主要精力放在遷移任務上面來。DMS 支持多種數據庫作為遷移的源,也支持多種數據庫作為遷移的目標,從下面的表格可以詳細了解支持哪些數據庫:
數據遷移的源 |
數據遷移的目標 |
---|---|
Oracle、SQL Server、MySQL、MariaDB、PostgreSQL、SAP ASE、MongoDB、DB2 LUW、Azure SQL、Amazon RDS、S3 |
Oracle、SQL Server、MySQL、MariaDB、PostgreSQL、SAP ASE、Amazon RDS、Amazon Redshift、Amazon S3、Amazon DynamoDB、Amazon Elasticsearch Service、Amazon Kinesis Data Streams、Amazon DocumentDB、Amazon Neptune、Apache Kafka |
我們可以從表格中看到各種數據庫引擎,Amazon DMS 支持同構數據庫遷移,如 MySQL 遷移到 MySQL,也支持異構數據遷移,如 Oracle 到 MySQL,在進行異構數據庫遷移的過程,亞馬遜云科技還為用戶提供一款工具 Amazon Schema Conversion Tool,可以使用 Amazon SCT 將源數據庫架構和大部分對象自動轉換為與目標數據庫兼容的格式。
對 DMS 的總結,可以簡單概括為下面幾個小特性:
- 簡單易用
- 最少停機時間
- 持續數據復制
- 多數據源支持
- 運行可靠
Amazon DMS 可以成為復制和遷移數據庫的最佳工具,它可以幫助用戶將數據庫工作負載遷移到 亞馬遜云科技并更改數據庫引擎,同時最大程度地減少停機時間。根據 亞馬遜云科技的說明,使用 Amazon DMS 已經進行了 20,000 個數據庫到 亞馬遜云科技的遷移。由于使用該產品獲得了如此廣泛的成功,因此沒有理由不將數據庫遷移到 亞馬遜云科技 ,那么下面就開始我們的數據庫遷移之旅吧。
遷移方式
所有的數據庫都有自己的備份還原工具,使用這些工具我們可以方便的進行數據離線遷移,但是會造成較長的停機時間,主要看數據量的大小。如果需要最小的停機時間,那 DMS 是最佳選擇。下面大致列舉了各種遷移方式對業務的一個影響程度,可以根據自己的實際情況進行選擇。
因素 |
離線(轉儲) |
混合 |
在線(DMS) |
---|---|---|---|
復雜度 |
非常簡單 |
復雜 |
中等 |
速度 |
快 |
中等 |
慢 |
停機時間 |
高 |
中 |
低 |
二、云上數據庫遷移實踐
遷移解決方案
我們在本地數據中心有各式各樣的自建數據庫,如果對數據庫遷移上云,我們該如何選擇云中的數據庫呢,我下面簡單整理了一個列表,針對不同的場景,我們可以選擇對應的解決方案。
- 現有應用程序
- MySQL ---> Amazon Aurora for MySQL,RDS for MySQL
- PostgreSQL ---> Amazon Aurora for PostgreSQL,RDS for PostgreSQL
- MariaDB ---> Amazon Aurora for MySQL,RDS for MariaDB
- Oracle ---> 利用 Amazon SCT 檢測復雜性因素 ---> Amazon Aurora,RDS for Oracle
- SQL Server ---> 利用 Amazon SCT 檢測復雜性因素 ---> Amazon Aurora,RDS for SQL Server
- MongoDB ---> DocumentDB
- 新的應用程序
- 如果不需要關系類功能 ---> Amazon DynamoDB
- 如果需要關系類功能 ---> Amazon Aurora
- 內存存儲/緩存
- Redis ---> Amazon ElasticCache
- Memcached ---> Amazon ElasticCache
- 時序數據
- Amazon Timestream(注冊預覽版)
- 跟蹤各應用程序變更、加密可驗證性,具備中央可信權威
- Amazon Quantum Ledger Database
遷移須知
數據庫是任何應用程序的主要組件之一,因此我們必須謹慎地進行遷移。您需要知道數據庫的大小,數據庫內部表的大小以及數據庫模式。
使用 Amazon DMS 將數據遷移到亞馬遜云科技 很簡單。首先在 亞馬遜云科技 環境中創建復制實例,然后 Amazon DMS 連接源數據庫端點和目標數據庫端點。遷移開始時,Amazon DMS 會創建表,加載數據并同步數據庫。整個復制任務都由復制實例承擔,建議創建配置比較大的復制實例。
使用 Amazon DMS 執行遷移的總體流程如下:
- 創建目標數據庫。
- 復制架構。
- 創建 Amazon DMS 復制實例。
- 定義源數據庫和目標數據庫的終端節點。
- 創建并執行遷移任務。
將 MySQL 數據遷移到 Aurora MySQL
這個案例是一個同構數據庫遷移,相對來說比較簡單,遷移的方案有三種,可以直接使用mysqldump導出數據,然后再導入到 Aurora,適合數據量不大的數據庫,另外一種是直接把數據庫的源文件復制到 S3 存儲桶,可以使用 Xtrabackup 備份數據庫然后傳到 S3 中,然后用這些文件還原到 Aurora 數據庫,適合比較大量的數據,不過這兩種數據庫都是離線傳輸,需要停機遷移。
針對實時在線遷移數據庫,我們需要用到 Amazon DMS,下面我將演示如何從一臺 MySQL 數據庫,實時遷移數據到 Aurora,對于源數據庫,我們可以使用 Amazon RDS,或者在 EC2 上面的自建數據庫,或是其他云廠商的 MySQL 數據庫,下面我選擇使用在 EC2 上面自建的數據來進行演示,所以操作均在 Amazon us-east-1 區域。
1、配置源數據庫
源數據庫我們已經有了,你可以創建一個只讀權限的臨時賬戶用于數據遷移,我們這里就直接用具有讀寫權限的賬戶演示。
2、創建 Aurora 數據庫
首先我們在 亞馬遜云科技控制臺中創建一個 Aurora MySQL 數據庫作為我們的目標數據庫,因為不是主要介紹創建數據庫,所以創建過程這里不再演示,創建完成之后,需要記錄下數據庫地址,賬戶密碼,當然為了安全,你也可以單獨創建一個用于遷移的臨時賬戶。
3、創建復制實例
Amazon DMS 復制實例執行源和目標之間的實際數據遷移。復制實例負責整個數據的遷移,對更改的數據進行緩存,所以說大一點的實例性能更好,縮短遷移時間。打開 Amazon DMS 控制臺,選擇創建復制實例,注意網絡方面的限制,需要復制實例可以連接到兩個數據庫。
圖片來源于亞馬遜云科技全球網站截圖
4、創建 MySQL 終端節點
在 Amazon DMS 控制臺中,在導航窗格中選擇 Endpoints (終端節點)。
圖片來源于亞馬遜云科技全球網站截圖
5、創建 Aurora 終端節點
目標終端節點會更簡單一寫,因為是 Amazon RDS,我們可以直接勾選。
圖片來源于亞馬遜云科技全球網站截圖
6、創建遷移任務
遷移任務中的遷移類型我們選擇復制現有數據以及持續復制變更的數據,記得源數據庫開啟 binlog 日志。
在表映射選項里面,選擇告知 DMS 應該遷移哪些表,遷移過程中還可以對表名進行一些轉換,我們這里就選擇完全復制整個數據庫。
圖片來源于亞馬遜云科技全球網站截圖
7、監控遷移任務
再等待一段時間之后,我們可以在任務詳情里面看到數據遷移完成,并且目標數據庫數據檢查沒有問題。
圖片來源于亞馬遜云科技全球網站截圖
我們可以看到,通過 DMS 僅僅需要簡單幾步就可以把數據庫遷移到亞馬遜云科技,并且源數據庫變更數據會實時的更新到目標數據庫中。
將 SQL Server 數據庫遷移到 Aurora MySQL
這個案例是一個異構數據庫遷移,我們會用到 Amazon SCT 進行 Schema 轉換,Amazon DMS 支持從 RDS 遷移到 RDS,所以這次的源數據庫 SQL Server 是 Amazon RDS for SQL Server(Enterprise Edition)。
Schema 轉換
1、在本地計算機安裝 Amazon SCT
需要在自己的電腦上面安裝 Amazon SCT 工具,以及連接 SQL Server 的 JDBC 驅動和 Aurora MySQL 的 JDBC 驅動。
然后啟動 SCT,配置一下剛剛下載的 JDBC 驅動。
圖片來源于亞馬遜云科技全球網站截圖
2、創建遷移項目
打開 Amazon SCT,選擇創建一個新項目,選擇源和目標數據引擎。
圖片來源于亞馬遜云科技全球網站截圖
分別連接 SQL Server 和 Amazon Aurora 數據庫。
圖片來源于亞馬遜云科技全球網站截圖
勾選我們要遷移的數據庫,右鍵選擇 Create report。
圖片來源于亞馬遜云科技全球網站截圖
查看報告,看看有沒有問題,如果沒有問題,我們就可以直接進行轉換了。
圖片來源于亞馬遜云科技全球網站截圖
我這邊遇到一個存儲過程 MySQL 不支持,我這邊忽略掉,比較懂數據庫的人員可以進行修正。
圖片來源于亞馬遜云科技全球網站截圖
3、Schema 轉換
問題處理掉之后,我們就可以進行 Schema 轉換了,和前面一樣,右鍵數據庫,選擇 Convert schema。
圖片來源于亞馬遜云科技全球網站截圖
執行之后,很快我們在目標數據庫看到了轉換的 Schema。
圖片來源于亞馬遜云科技全球網站截圖
數據遷移
對于 SQL Server 的數據遷移方式,我們選擇一次性遷移,不進行持續復制,持續復制配置過程稍微復雜一些,需要對源數據庫進行一些配置,需要持續復制的用戶,可以參照 亞馬遜云科技官方文檔配置。
1、創建復制實例
打開 DMS 控制臺,創建復制實例,同樣注意網絡情況,復制實例需要鏈接源和目標數據庫。
圖片來源于亞馬遜云科技全球網站截圖
2、創建 Amazon DMS 源和目標終端節點
創建完終端節點之后,首先運行一下測試,可以連接成功即可。
圖片來源于亞馬遜云科技全球網站截圖
圖片來源于亞馬遜云科技全球網站截圖
3、創建遷移任務
可以按照我下面的表格選擇來配置遷移任務。
Parameter |
Value |
---|---|
Task identifier |
AuroraMigrationTask |
Replication instance |
replication-server |
Source database endpoint |
sqlserver |
Target database endpoint |
dst-mysql-instance-1 |
Migration type |
Migrate existing data |
Start task on create |
Checked |
Target table preparation mode |
Do nothing |
Include LOB columns in replication |
Limited LOB mode |
Max LOB size (KB) |
32 |
Enable validation |
Unchecked |
Enable CloudWatch logs |
Checked |
在表映射方面,我們可以這樣設定,就不進行表名的轉換了,然后創建任務即可。
圖片來源于亞馬遜云科技全球網站截圖
4、檢查目標庫數據
可以看到,遷移任務完成,數據也都轉移過來了。
圖片來源于亞馬遜云科技全球網站截圖
至此我們完成了異構數據庫遷移,整個過程會比同構數據庫遷移麻煩一些,不過整體也是比較簡單了。DMS 完全托管、按量付費、圖形界面操作,是數據庫上云的利器,推薦大家使用 DMS 對數據庫遷移上云。
三、總結
亞馬遜云科技 數據庫優勢
在眾多的云廠商中,我們為什么選擇 亞馬遜云科技 數據庫服務,亞馬遜云科技還有哪些獨特的優勢呢?我主要總結以下幾點:
成本優勢
使用自建數據,企業首先需要支付一筆資金購買服務器,一些商業數據庫的授權,需要再次支付一筆費用。如果遷移到 亞馬遜云科技的自研數據庫,客戶不必再支付高昂的商業數據庫授權,也不必再去花費大量資金去購買服務器,在云中,客戶只需要按量付費,因此很多企業由于把數據庫遷移到 亞馬遜云科技而節省巨大費用支出。
從最近的 亞馬遜云科技公告中,看到 亞馬遜云科技幫助三星把數據從商業數據庫 Oracle 遷移到了 Aurora,為三星每月的數據庫成本降低了 44%,并讓三星的數據庫運行更加穩定。
完全托管
以上所說的幾種數據庫都是 亞馬遜云科技完全托管的數據庫,完全托管意味著零運維。首先客戶不需要去維護硬件的生命周期、系統的補丁更新、高可用的部署、備份等。如果需要對數據庫擴展,也只需點幾下鼠標而已,非讓方便,讓 DBA 從復雜的數據庫運維中解脫出來,專注于數據庫性能調優。
全球優勢
過去我們需要借助非常復雜的技術手段,花費大量的成本、甚至犧牲一定的可用性,才能實現快速、穩定、安全的跨區域的數據復制,現在只要在 亞馬遜云科技中輕輕點幾下鼠標即可完成。
亞馬遜云科技現已在全球 24 個地理區域內運營著 77 個可用區,180個邊緣站點等,為 亞馬遜云科技相應全球數據庫提供了基礎保障。依托于 亞馬遜云科技強大的基礎設施,目前已經有三款數據庫支持全球同步,延遲通常不超過 1 秒,可以滿足目前大部分應用的需求。
對于關系型數據庫的全球同步需求,Amazon Aurora Global Database 能夠允許用戶輕松實現跨區域的數據庫部署,讓用戶輕松在區域之間復制數據和解決更新沖突,從而更加專注于應用程序的業務邏輯。
亞馬遜云科技還提供了 Amazon DynamoDB Global Tables。它基于 DynamoDB 的全球覆蓋范圍構建,具有多區域、多主表的特性,可讓全局分布式應用程序實現快速的本地讀寫性能,為用戶提供一個完全托管的、多區域、多主的 Key-Value 類型數據庫。
針對緩存數據庫,在眾多組織都在利用 Redis 為全球用戶提供低延遲訪問的背景下,亞馬遜云科技為更好滿足客戶的需求,亞馬遜云科技 推出了 Amazon ElastiCache Global Datastore for Redis 全球緩存數據庫,為用戶提供數據跨區域復制,可以在一個區域寫入數據,同時在其他區域讀取數據,使緩存的數據更接近用戶,減少網絡延遲,并提高應用程序的響應能力。
心得與建議
當然,數據庫遷移是一個龐大而復雜的工程,尤其將數據庫遷移上公有云,除了數據庫知識更需要了解公有云上網絡,存儲,虛擬化等一系列知識。但是,我們不應該僅僅將數據庫上云看做一個復雜的任務,更應該把它當做一個優化我們數據庫的契機,那么上云過程中有哪些注意事項和建議呢?
對于一些允許停機的應用,這部分數據我們推薦使用離線遷移,整個操作比較簡單,速度快,不容易出問題。
如果業務需要在線遷移,那么推薦使用 DMS 進行遷移,需要注意的是,在數據庫切換之前先停掉源數據庫寫入,帶數據完全同步到目標數據庫之后進行數據庫切換。
如果遷移的數據量比較大,建議選擇配置比較大的復制實例,這樣可以加速我們的復制速度。
如果您想要轉換數據庫引擎,在使用 SCT 進行 Schema 轉換的時候可能會遇到一些目標數據庫不支持的地方,請先聯系 DBA 人員,對這些地方進行更改,滿足之后再進行轉換。
亞馬遜云科技黑客松參賽秘籍重磅來襲,8月14日晚8點,亞馬遜云科技專家傳授秘籍心法!直播地址:http://live.bilibili.com/21988917
PS:亞馬遜云科技云計算社群成立啦!在這里可以幫助你快速了解亞馬遜云科技云計算最新動態、獲取相關技術資料哦~想要進群的小伙伴請掃碼回復【亞馬遜云科技】,24h內審核進群。