《2019年云原生數據庫Amazon Aurora技術架構詳解與遷移實戰.pdf》由會員分享,可在線閱讀,更多相關《2019年云原生數據庫Amazon Aurora技術架構詳解與遷移實戰.pdf(42頁珍藏版)》請在三個皮匠報告上搜索。
1、2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Amazon Aurora 為云計算而生的關系型數據庫2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會議程Aurora特性Aurora技術架構遷移至AuroraAurora客戶案例2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會議程Aurora特性Aurora技術架構遷移至AuroraAurora客戶案例2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Amazon Aurora的與眾不同高性能和高可擴展性高可用性和高耐用性高度安全完全托管5 倍于標準 MySQL 的吞吐量3
2、倍于PostgreSQL 的吞吐量性能相當而成本僅為商用DB的1/10可以跨3個AZ,最多 15 個可讀副本存儲自增長,單實例可達 64TB可用性高于 99.99%具有容錯及自我修復能力跨3個AZ復制6個數據副本數據持續備份到 S3實例故障轉移小于3 秒通過VPC 進行網絡級隔離,支持靜態存儲及傳輸時加密,集群中的備份、快照和副本自動加密無需擔心硬件、軟件補丁、設置、配置或備份等數據庫管理任務。會自動持續監控并將其備份到 S3,可以實現精細的時間點恢復。兼容 MySQL 和 PostgreSQL 的關系數據庫,為云打造。性能和可用性與商用數據庫相當,成本只有 1/10。2019中中 國國 數數
3、 據據 智智 能能 管管 理理 峰峰 會會與MYSQL寫性能比較SysBench Write-Only(writes/sec)DB Size Amazon Aurora MySQL1 GB 107,000 8,40010 GB 107,000 2,400100 GB 101,000 1,5001 TB 41,000 1,200SysBench OLTP(writes/sec)Connections Amazon Aurora MySQL50 40,000 10,000500 71,000 21,0005,000 110,000 13,0002019中中 國國 數數 據據 智智 能能 管管 理理
4、 峰峰 會會與MYSQL讀性能比較2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會 Four client machines with 1,000 threads eachWRITE PERFORMANCEREAD PERFORMANCE Single client with 1,600 threadsMySQL SysBenchR3.8XL with 32 cores and 244 GB RAM性能測試更多的測試可以看:https:/amazonaws- 國國 數數 據據 智智 能能 管管 理理 峰峰 會會更少IO減少網絡傳輸緩存計算和存儲分離減少不必要工作異步處理減少延
5、遲優化鎖機制批量處理提高效率如何實現高性能?數據庫取決于數據庫取決于IO網絡存儲依賴流量網絡存儲依賴流量2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會AWS全球區域https:/www.infrastructure.aws/2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會AWS基礎架構組件2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會AWS可用區(AZ)設計通過一個或多個數據中心,在基礎架構層面進行完全隔離兩個AZ之間相隔幾十公里每個數據中心具有各自獨立的電源系統高達10萬臺服務器的規模不同的數據中心之間通過高速網絡進行連接通過訪問in
6、frastructure.aws 了解更多的AWS全球基礎架構設施2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Availability Zone AAvailability Zone BBeijing Region 北京區域Availability Zone 可用區可用區每個region區域至少有兩個可用區每個可用區都由多個數據中心組成可用區之間地理與網絡都是獨立設計與運營可用區間網絡延時保持在3ms以下可用區內延時保持在0.3ms以下跨可用區的高可用部署極低成本的城市圈級別的實時異地容災方案Availability Zone AAvailability Zone BNi
7、ngxia Region 寧夏區域Availability Zone A2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會議程Aurora特性Aurora技術架構遷移至AuroraAurora客戶案例2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Amazon Aurora體系結構(橫向擴展)AZ 1AZ 1AZ 3AZ 3PrimaryInstanceAmazon S3AZ 2AZ 2ReplicaInstanceASYNC4/6 QUORUMDISTRIBUTED WRITESReplicaInstanceLogging+StorageSQLTransac
8、tionsCaching控制層面控制層面數據層面數據層面Amazon S3DynamoDBAmazon SWFRoute 53將日志記錄和存儲層移入多租戶,橫向擴展為數據庫優化的存儲服務與EC2VPC、DynamoDB、SWF、Route 53等其他AWS服務集成,用于控制層面的操作持續備份與S3集成,并具有11個9的持久性2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Aurora只讀副本的不同之處Log RecordsBinlogDataDouble-Write BufferFRM Files,MetadataMySQL With ReplicaAmazon Aurora
9、AZ 1AZ 2PrimaryInstanceReplicaInstanceAmazon Elastic Block Store(EBS)S3EBSmirrorEBSEBSmirrorPiTRSequentialwriteSequentialwriteAZ 1AZ 3PrimaryInstanceS3AZ 2ReplicaInstanceasync4/6 quorumDistributed writes主要改進日志結構化存儲對異常值的一致性容忍度顯著提高網絡I/O的使用效率2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Aurora存儲節點的I/O處理LOG RECORDSP
10、rimary InstanceINCOMING QUEUESTORAGE NODES3 BACKUP12345678UPDATE QUEUEACKHOTLOGDATABLOCKSPOINT IN TIMESNAPSHOTGCSCRUBCOALESCESORTGROUPPEER TO PEER GOSSIPPeerStorageNodes 所有步驟都是異步的 僅有步驟1與2處于前臺延時過程中 輸入隊列比MySQL少46倍 有利于延時敏感型操作 使用磁盤空間緩沖活動中的峰值實際運行效果實際運行效果I/O I/O 控制流控制流 接收記錄并添加到內存隊列中 持久化日志記錄并確認 組織日志記錄并鑒別日志
11、中的縫隙 通過Gossip協議填補對等節點中縫隙 將日志記錄合并到新版本的數據塊中 定期將日志和新塊中轉到S3 定期垃圾回收舊塊 定期對塊進行CRC校驗2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Amazon Aurora 存儲引擎概述數據在3 Availability Zones中復制6份持續備份到Amazon S3(11個9的持久性)持續監視節點和磁盤并自動修復10GB 的區段作為修復和存儲根據用量自動增長的基礎,存儲最大擴展到64 TBQuorum system 讀寫;Quorum membership 變更不會阻塞寫AZ 1AZ 2AZ 3Amazon S3Dat
12、abaseNodeStorage NodeStorage NodeStorage NodeStorage NodeStorage NodeStorage NodeStorage Monitoring2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會可能問題?Segment 損壞(磁盤)節點損壞(主機)AZ 損壞(網絡或數據中心)優化4 out of 6 write quorum3 out of 6 read quorumPeer-to-peer replication for repairsSQLTransactionAZ 1AZ 2AZ 3CachingAmazon 存儲引擎
13、容錯SQLTransactionAZ 1AZ 2AZ 3Caching2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Amazon Aurora 只讀副本可用性可用性 自動檢測并替換失敗的database nodes 自動檢測并重啟失敗的database processes 只讀副本在主節點故障時自動提升(failover)客戶可以指定fail-over 順序AZ 1AZ 3AZ 2PrimaryNodePrimaryNodePrimaryDatabaseNodePrimaryNodePrimaryNodeRead ReplicaPrimaryNodePrimaryNodeR
14、ead ReplicaDatabase and Instance Monitoring性能性能 客戶程序可以將讀流量指向只讀副本 讀負載在多個只讀副本間均衡2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會 支持15個只讀副本 自動添加或刪除只讀副本 自動故障轉移 集群讀寫與只讀終端節點Availability Zone 1橫向擴展讀取性能Availability Zone 2Availability Zone 3ApplicationRead Replica 1Read Replica 2Master NodeShared distributed storage volume
15、Amazon Aurora擴展與高可用2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會AppRunningFailure DetectionDNS PropagationRecoveryRecoveryDBFailureMYSQLAppRunningFailure DetectionDNS PropagationRecoveryDBFailureAURORA WITH MARIADB DRIVER5-6 sec5-10 secAurora自動故障接管過程2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會SEGMENT SNAPSHOTLOG RECORDSRE
16、COVERY POINTSEGMENT 1SEGMENT 2SEGMENT 3TIMEAurora數據庫備份與恢復 并行為每個段定期拍快照,將重做日志流傳輸到S3存儲桶 持續進行備份,并不影響性能或可用性 在還原時,從S3返回相應的段快照與重做日志流到存儲節點 以并行和異步方式應用重做日志流到段快照2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會傳統數據庫傳統數據庫需要從last checkpoint重放所有日志一般來說從checkpoints開始5分鐘內在MySQL 和 PostgreSQL上是Single-threaded需要大量的disk accessesAmazon
17、Aurora啟動時無需重放,存儲系統 事務感知底層存儲由多個segment組成,不同segment有自己的重做日志應用日志操作是并行,分布和異步的Checkpointed DataLogCrash at T0requiresa re-application of theSQL in the log sincelast checkpointT0T0Crash at T0will result in logs being applied to each segment on demand,in parallel,asynchronouslyAmazon Aurora 緊急崩潰恢復2019中中 國國
18、 數數 據據 智智 能能 管管 理理 峰峰 會會Aurora只讀副本自動伸縮技術MASTERREADREPLICAREADREPLICAREADREPLICASHARED DISTRIBUTED STORAGE VOLUMEREADER END-POINT 跨多個可用區最多可提升15個只讀副本 基于重做日志復制的副本低延時-通常10毫秒 讀取器端點具有負載平衡和自動縮放(CPU及連接數)Availability Zone 1Availability Zone 2Availability Zone 32019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會克隆數據庫而不復制數據克隆數據
19、庫而不復制數據瞬間創建一個數據庫克隆僅在發生寫入時復制數據(COW)當原始數據和克隆卷數據不同時應用場景應用場景克隆生產數據庫以運行測試數據庫重組為分析提供一個時間點快照,不影響生產環境PRODUCTION DATABASECLONECLONECLONEDEV/TEST APPLICATIONSBENCHMARKSPRODUCTION APPLICATIONSPRODUCTION APPLICATIONSAurora數據庫克隆技術2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會存活 caches 將 cache 從數據庫進程中分離出來 數據庫重啟時Cache 可以依舊保持熱度
20、 更快地恢復全量加載操作 實例崩潰恢復+可存活cache=更快速容易地從DB失敗中恢復SQLTransactionsCachingSQLTransactionsCachingSQLTransactionsCachingCaching process 和DB process 分離開來并在數據庫重啟時保持 warm2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會數據回溯快速恢復用戶的錯誤操作使用 Backtrack 允許您將數據庫回退到以前的某個時間點,無需從備份還原,即使是大型數據庫也只需要幾秒鐘時間??梢远啻位謴?,直到需要的時間點t0t1t2t0t1t2t3t4t3t4Rew
21、ind to t1Rewind to t3InvisibleInvisible2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會 按需自動啟停 無服務器化、自動擴展 僅為您使用的資源按秒付費Aurora無服務器架構(Serverless)Warm CapacityPoolApplicationDatabase EndpointScalable Database Capacity(Compute+Memory)Shared Distributed StorageServerless 是一種面向 Aurora 的按需擴展配置,數據庫將根據您的應用程序的需求來自動啟動、關閉以及縱向和
22、橫向擴展數據庫容量??稍谠浦羞\行關系數據庫,而無需管理數據庫實例或集群。2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會議程Aurora特性Aurora技術架構遷移至AuroraAurora客戶案例2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Aurora適用場景 Mysql/PostgreSQL即使優化仍然遇到瓶頸 優化索引 優化SQL 主從讀寫分離 拆分數據庫 高并發讀寫,尤其寫操作的負載很高 需要快速恢復 最小化讀副本的延遲 免去手動sharding或者使用sharding中間件帶來的復雜性和運維成本2019中中 國國 數數 據據 智智 能能 管管
23、理理 峰峰 會會Amazon RDS遷移至Aurora的不同場景 同構數據庫 有一定的停機時間 最小停機時間 異構數據庫 有一定的停機時間 最小停機時間 詳細過程可參考:https:/ 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Amazon RDS遷移至Aurora創建RDS快照根據快照創建Aurora數據庫應用程序開始使用Aurora數據庫 同構數據庫 有一定的停機時間2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Amazon RDS遷移至Aurora創建Aurora只讀副本把Aurora只讀副本提升為主庫應用程序開始使用Aurora數據庫 同構數據庫 最小停機
24、時間2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會自建數據庫遷移至Aurora為自建數據庫創建備份把數據庫備份上傳到S3根據備份創建Aurora數據庫應用程序開始使用Aurora數據庫 同構數據庫 有一定的停機時間2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會自建數據庫遷移至Aurora創建Aurora從庫自建數據庫與Aurora從庫進行數據同步主從切換,使得Aurora從庫變成新的主庫應用程序開始使用Aurora數據庫 同構數據庫,以MySQL為例 有一定的停機時間2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會自建數據庫遷移至Aur
25、ora 同構或者異構數據庫 最小停機時間 遷移關鍵業務系統 遷移數據倉庫到Amazon Redshift 歸檔老數據 升級小版本 合并多個數據分片到Amazon Aurora 復制數據從而在云端分析數據 從NoSQL遷移到SQL,或者從SQL遷移到NoSQL,或者從NoSQL遷移到NoSQLAmazon RDSAmazon RedshiftAmazon AuroraAmazon DynamoDBAmazon S3遷移2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會AWS Schema Conversion Tool轉換你的數據倉庫把你的數據倉庫,包括Oracle,SQL Se
26、rver,Netezza,Greenplum,Vertica或Teradata,轉換為 Amazon Redshift 轉換Amazon AuroraAmazon Redshift轉換你的數據庫把你的數據庫,包括Oracle,SQL Server,或者DB2 LUW,轉換為PostgreSQL,MySQL,or Amazon AuroraMySQL PostgreSQL PostgreSQL 異構數據庫和Aurora之間的差異問題2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會客戶端應用程序用戶AWSInternetVPN啟動復制實例連接到源數據庫和目標數據庫選擇table、
27、schema或數據庫使用 AWS DMS 創建表、加載數據并使其保持同步可隨時將應用程序切換到目標自建數據庫遷移至AuroraAWSDMS 同構或者異構數據庫 最小停機時間2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會議程Aurora特性Aurora技術架構遷移至AuroraAurora客戶案例2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會AWS top 100客戶中的3/4使用AuroraAurora 客戶AWS增長最快的服務2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會Aurora技術要點回顧 專為云環境設計(Cloud Native)實現計算與存儲分離 核心觀念-日志即數據庫 全面兼容MySQL與PostgreSQL引擎 與AWS服務無縫對接(IAM、S3Lambda、Kinesis)各種遷移到Aurora的方式,滿足不同的遷移需求2019中中 國國 數數 據據 智智 能能 管管 理理 峰峰 會會THANK YOU!