




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
阿里云數據庫解決方案合集2022云數據庫解決方案歷史性突破! 序言阿里云成為首家進入Gartner數據庫魔力象限領導者的國內企業。今年Gartner“TheresOnlyOneSOPDBM(事務處理)DMSA(管理與分析)CloudDatabaseManagementSystemdCHALLENGERSLEADERSCHALLENGERSLEADERSAmazonWebServicesMicrosoftGoogleOracleSnowflakeRedisLabsSAP IBMAlibabaCloud Marklogic InterSysternsDatabricksClouderaHuaweiNICHEPLAYERSVISIONARIES
阿里云智能數據庫產品團隊一直致力于不斷健全產品體系,提升產品性能,打磨產品功能,從而幫助客戶實現更加極致的彈性能力、具備更強的擴展能力、并利用云設施進一步降低企業成本。以云原生分布式為核心技術抓手,打造以自研的在線事務型OLP)PoarDB和在線分析型(LAP)nalticBNoSQL數據庫、數據庫生態工具、云原生智能化數據庫管控平臺,為阿里巴巴經濟體以及各個行業的企業客戶和開發者提供從公共云到混合云再到私有云的完整解決方案,提供基于云基礎設施進行數據從處理、到存儲、再到計算與分析的一體化解決方案。憑借于此,阿里云數據庫產品在云計算這個賽道上的快速演進,已經成長為全球前三的云數據庫廠商,根據DC數據庫市場分析報告統計,209H250%;根據Gartner2019219Garner2020Forrester2019DBaaSWave里強勁表現者位置。在軟件領域,阿里云是中國第一家arter無論是個人開發者,中小企業,還是全球化大規模企業,阿里云數據庫服務,都是您可靠、高效的選擇。目錄01 游戲行業多場景云數據庫解決方案
04 異地多活場景數據庫解決方案78問題和挑戰06游戲行業的整體特點及其對數據庫的需求79解決方案07游戲行業細分場景與解決方案93成功案例23方案優勢96常見問題解答25客戶案例97參考資料32附錄98附錄在線教育行業數據庫解決方案 05 服飾行業數據庫解決方案34在線教育行業對數據庫的需求100服飾行業典型業務場景35K12教育行業細分場景與解決方案102解決方案49方案優勢117方案優勢51客戶案例119客戶案例(特步)54附錄122附錄大促營銷數據庫解決方案 06 用電信息采集和主站應用系統數據庫解決方案56大促面臨的技術挑戰124電力用采系統的現狀57解決方案126解決方案(用電信息采集業務場景)72方案優勢132成功案例73成功案例134常見問題解答75附錄136附錄5 云數據庫解決方案
游戲行業的整體特點及其對數據庫的需求通過深入調研,游戲行業的整體特點以及相關企業在使用數據庫時常見需求包括以下幾方面:1游戲行業場景多,對技術架構定制化要求高很難歸納出一套可復制到所有游戲產品中的單一數據庫解決方案,必須根據游戲類
游戲合服需要平滑的數據遷移3當游戲進入平穩期后,出于提升玩家游戲體驗和控制成本的目的,會有游戲合服的需求。數據庫需要關注的重點就是保證數據的平滑遷移,整個遷移過程不能影響到玩家體驗,且數據合并要保證完整準確,符合業務邏輯,解決沖突數據。3多場景云數據庫解決方案
2突發高峰訪問情況挑戰數據庫承載能力游戲新開服,或有重大活動時,會有難以精確預期的玩家訪問壓力。傳統的解決方案就是部署盡可能多的數據庫來承載高峰訪問,其問題是可能因為預測樂觀,導致昂貴數據庫資源的浪費,或因為預測保守,導致數據庫資源準備不足,高峰期超載影響游戲業務,立即擴容時間又來不及,最終影響用戶體驗。
游戲例行回檔需要敏捷的數據恢復能力4游戲運營過程中,可能出現有玩家利用游戲漏洞,批量復制虛擬道具或其他嚴重破壞游戲公平性的行為,這時就需要業務緊急修復漏洞,同時將受影響數據恢復到漏洞被利用前的狀態(所謂回檔),如何提升數據恢復的速度成為挑戰。4放眼全球市場,游戲產業收入增長迅速,且有明顯的反經濟周期特征。相較于日美等游戲ARPU(每用戶平均收入)值都有很大的提升空間。加強精細而精細化運營和用戶體驗提升,均需要穩定可靠的技術架構支撐,尤其是處于技術架構核心位置的數據庫技術的保障。阿里云的游戲行業數據庫解決方案通過使用云數據庫的產品組合,應對游戲行業多種細分場景,充分利用阿里云數據庫高性能、低成本、高可用、易維護的優勢,幫助游戲客戶適應當前和未來業務發展的需要。游戲行業細分場景與解決方案數據庫的選型跟游戲分區方式息息相關,市面網絡游戲(移動游戲)可分為兩大類:
分區分服:因為在游戲機制上就已經把負載打散,一般一個分區數據存儲不超過10w玩家的數據,因此游戲平穩期,分區數據庫壓力不會太大,但也衍生出了合服時的數據合并需求。集群部署架構2000-10000及以上玩家同時在線SLB集群部署架構2000-10000及以上玩家同時在線SLBECS網關服務器ECS網關服務器1ECS游戲服器1ECS游戲服務器2~NECS戰國服務器N+1RDS游戲數據庫注:網關服務器與邏輯服務器數量可以不對等游戲1區2~NECS游戲服務器2~N1全區全服游戲1所有玩家數據在一個數據庫中,只會在游戲進行時撮合玩家進入游戲房間,像MOBA游戲如“吃雞”,或是玩家直接自己玩的休閑游戲如“開心消消樂”。此類游戲進行中或結束后,游戲狀態數據會回寫數據庫實現持久化保存。2分區分服游戲2游戲客戶端不同區玩家數據在不同數據庫中,游游戲客戶端游戲1區游戲2區游戲3~N區ECS游戲1區游戲2區游戲3~N區ECS游戲服務器1ECS游戲服務器2ECS游戲服務器3~NRDS游戲數據庫1RDS游戲數據庫2RDS游戲數據庫3~NECS登錄服務器
戲有很明顯的活躍玩家周期,會經歷開服、活躍玩家到峰值、活躍玩家進入平穩期、合服這樣的過程,如“部落戰爭”、“陰陽師”等。針對兩種類型的游戲的數據庫架構截然不同。全區全服:因為玩家數據大集中,對數據庫性能要求高;應用上一般采用多級緩存,分布式緩存技術,利用緩存承載高并發讀請求,對數據庫進行保護。
RDS游戲數據庫游戲推廣游戲買量優化方案游戲部署玩家訪問壓力應對方案掉線問題解決方案游戲開發云游戲方案游戲排行榜方案游戲運營游戲合服方案游戲回檔方案游戲設計游戲推廣游戲買量優化方案游戲部署玩家訪問壓力應對方案掉線問題解決方案游戲開發云游戲方案游戲排行榜方案游戲運營游戲合服方案游戲回檔方案游戲設計游戲立項ECS日志服務器 RDS日志數據庫1玩家訪問壓力應對方案1方案概述游戲平穩運行期對數據庫壓力不大,但在以下三種情況下數據庫會面臨高并發訪問壓力:游戲推廣期,買量用戶蜂擁而至,頻繁開新服;維護停機后開服,很多玩家等待多時,集中上線;重大版本上線或有重要活動,推廣效果超預期時,會有大量老玩家回歸。由于買量和游戲運營效果具有很大不確定性,很難準確評估玩家壓力模型,業內通用做RDS節點,這樣很容易造成資源不足或浪費。如下圖所示:在游戲的整個開發和運營周期,數據庫的解決方案可分為以下七種:
需要數據遷移,TB級別數據可能需要幾個小時1玩家訪問壓力應對方案1玩家訪問量突增,數據庫常成為瓶頸,需要快速變配、擴容能力。
掉線問題解決方案5數據庫高可用、例行切換或變配,會導致應用連接閃斷,可能導致玩家批量掉線重連,對游戲體驗有很大影響。5
RDS只讀
擴展只讀節點
RDSRDSRDS升配RDSRDS2游戲合服方案2分區分服游戲進入平穩期后,需定期進行合服。對應的數據庫也要進行合并,讓數據合并后符合業務邏輯,但不能影響玩家,這是主要挑戰。3游戲排行榜方案3針對游戲排行榜這種通用的游戲需求,提供簡單高效的數據存儲方案。4游戲回檔方案4當游戲漏洞被利用,導致部分玩家數據失去平衡性,需要對相應數據做回檔恢復處理。
游戲買量優化方案6游戲運營階段,最大的支出是獲客成本,即在多種渠道投放廣告獲取用戶的開銷(買量)。通過對海量的獲客結果數據進行實施分析,調整不同渠道投放比例,可大幅提升買量行為效率。67開放世界類游戲方案7新興的游戲類型。
阿里云提供以下數據庫解決方案:PolarDB存儲計算分離,升配、加只讀節點無需數據遷移PolarDB只讀計算節點 PolarDB主計算節點 PolarDB主計算節點擴展只讀節點 PolarDB升配PolarDB存儲PoarDBin5i;無需提前購買昂貴的高規格數據庫,一旦數據庫容量評估不足,玩家并發訪問壓力超過數據庫負載,可快速進行升配保證游戲平穩運行;一旦游戲進入平穩期,業務壓力下降,還可對PolarDB000001服0210%8%12%2另一種情況是會將多個數據庫實例中玩家數據合并到同一張數據表中,不同服玩家真的合并在一個服進行游玩,游戲體驗最佳,但可能會涉及玩家名稱沖突、聯盟名稱沖突、任務進度不同步,物價差異等問題,需要游戲運營和研發人員采取相應處理對策。這種方案需要兩個步驟,如下圖:2另一種情況是會將多個數據庫實例中玩家數據合并到同一張數據表中,不同服玩家真的合并在一個服進行游玩,游戲體驗最佳,但可能會涉及玩家名稱沖突、聯盟名稱沖突、任務進度不同步,物價差異等問題,需要游戲運營和研發人員采取相應處理對策。這種方案需要兩個步驟,如下圖:10%8%12%30DTS數據遷移業務壓力評估購買合理規格PolarDB數據遷移發現負載風險升配活擴增只讀節點業務平穩后降配或削減只讀節點業務壓力評估購買合理規格PolarDB數據遷移發現負載風險升配活擴增只讀節點業務平穩后降配或削減只讀節點DB2DB1DB0DB2DB1DB02合服前數據庫實例活躍用戶比PolarDB的默認備份方式是快照備份,備份時間不隨數據量的增長而變長。PolarDB的存儲默認按存儲量計費,如果數據量較大建議購買存儲包。2合服前數據庫實例活躍用戶比1數據湖分析DLA方案概述1數據湖分析DLA跨實際分析出沖突用戶數據,數據并表前調整好分區分服的游戲往往在游戲的平穩期會有合服的場景,原因如下:跨實際分析出沖突用戶數據,數據并表前調整好0201服00節約應用和數據庫成本。游戲進入平穩期后,每個分區會流失相當數量的玩家,應用和數據庫負載都開始走低,將原來位于多個RDS實例的數據庫合并到一個RDS實例,實例負載也完全可以滿足游戲運行需要,多余的實例就可以釋放,節約成本。0201服00合服前數據庫實例活躍用戶比DB2DB1DB0提升留存玩家游戲體驗的需要。因為分區玩家流失,在線進行聊天和游戲互動的玩家就會變少,留存玩家就會感覺游戲體驗下降,此時合服,將分散在各個區的留存玩家聚到一起,玩家有會找到之前開新服時那種人滿為患的游戲熱情。合服前數據庫實例活躍用戶比DB2DB1DB000服合服后數據庫實例活躍用戶占比活躍用戶占比DB0游戲合服場景的關鍵點是數據的遷移。一種相對簡單的情況是將多個物理庫從多個數據庫實例集中遷移到一個數據庫實例,游戲數據在邏輯上并沒有真正合并,應用只需要切換數據庫鏈接串即可,如下圖所示。00服合服后數據庫實例活躍用戶占比活躍用戶占比DB000服01服02服00服01服02服10% 8% 12%合服前數據庫占比實例 DB0 DB1 DB2合服前數據庫占比實例DB0DB1DB202服01服00服DB2DB1DB0合服前數據庫占比實例活躍用戶占比02服01服00服DB2DB1DB0合服前數據庫占比實例活躍用戶占比阿里云數據庫針對游戲合服的方案有如下優勢:游戲行業常見的的數據遷移包含結構遷移、全量移或同步鏈路都能擁有良好的傳輸性。底層為服務集群,如果集群內任對部分傳輸鏈路提供用安全傳輸協議及安全n通過標準對不同服數據庫實例2操作流程與關鍵步驟2一、數據遷移流程遷移環境準備 創建遷移任務并配置遷移映射關系 遷移環境準備創建遷移任務并配置遷移映射關系SQL查詢流程在需要進行關聯查詢的數據庫實例白名單中加入DLA的IP白名單再DLA中創建底層映射到數據實例的在需要進行關聯查詢的數據庫實例白名單中加入DLA的IP白名單再DLA中創建底層映射到數據實例的鏈接
觀察遷移進度游戲應用數據源切換觀察遷移進度游戲應用數據源切換在DLA中創建數據庫實例外表通過DLA在DLA中創建數據庫實例外表通過DLA多個數據實例的數據只能幫助發現跨服用戶數據之間
3游戲排行榜應對方案3游戲排行榜應對方案1方案概述1為了鼓勵玩家之間互相競爭,游戲中會有排行榜的功能。玩家可根據自己在排行榜上的高排名獲得成就感,提升游戲參與積極性。存儲排行榜的數據庫選型非常重要,如果使用關系型數據庫,如RDSMySQL來存儲用戶和積分數據,會有如下幾個問題:隨著游戲熱度逐漸增長,特別是新游戲,積分變化會非常頻繁,對數據udate更新并發很高,容易導致RDS實例過載。
積分數據因為實時激勵玩家競爭,實時性要求強,玩家查詢頻率高,每次都要進行排序,在數據量較大情況下CPU打滿。如果采用只讀實例或緩存來緩解RDS的排序查詢,會面臨數據復制延遲和數據一致性的問題。選用云數據庫Redis的Sortedsets數據類型進行存儲,在這個有序集合中,字符串不允許重復,分數可以重復并且是有序存儲的。如下圖:100Dell98100Dell98Tom97Ann90Pe89Ken85Lily......sorted_set_name本方案具備以下優勢:添加、刪除和更新玩家積分均有對應接口,對開發非常友好。排行榜數據都在內存存儲,可承載高并發更新,且因為數據已經是有序的,查詢時延大RDS數據庫。Redis可用性(前提是游戲應用層也要提前做雙機房容災)。ReisRB持久化保存;且可在控制臺使用備份文件進行數據恢復,讓排行榜數據具備數據誤操作后的快速恢復能力。
4游戲回檔應對方案4游戲回檔應對方案1方案概述1網絡游戲的回檔,給玩家帶來的直接感受是最近一段時間內積累的經驗值、新獲得的道具物品突然消失不見,會給玩家挫敗感,帶來極壞的游戲體驗。但游戲數據的回檔依然是有重大價值的,常見于游戲中出現了重大漏洞,有玩家利用漏洞非法復制裝備、貨幣,游戲回檔會考察RPO、RTO兩個指標,即希望數據能夠回檔到過去任意時間點,恢復時間盡可能快。數據庫設計架構如下:2企業數據中心其他云廠商MySQLECS上MySQL2企業數據中心其他云廠商MySQLECS上MySQL本地機房MySQL生產數據物理備份增量標準型存儲池數據備份DBS恢復集群備份集群企業數據中心掛載掛載掛載可讀可寫多次掛載10:00:0009:50:0009:50:00極速型存儲池增量數據合并每10min快照點掛載集群文件服務集群MySQLMySQLMySQL秒級恢復根據要開發的排行榜功能,確認玩家ID和積分字段購買節點“節點類型”為雙副本的標準版Redis根據Redis標準接口開發排行榜應用根據要開發的排行榜功能,確認玩家ID和積分字段購買節點“節點類型”為雙副本的標準版Redis根據Redis標準接口開發排行榜應用edsQPS3務必要選擇雙副本,否則沒有高可用保證。Java的積分排行榜代碼示例可參見/document_detail/26366.html
本方案具備以下優勢:DBS增量日志實時備份,數據可回檔到任意時間點。針對游戲回檔場景,可選用BS的“極速型存儲池”方案,每10in生成一份完整的數據快照,需要恢復到任意時間點的增量數據回放秒級完成,數據可直接掛載到MySQL實例,然后快速查詢出需要回檔的完整玩家數據。19云數據庫解決方案 AlibabaCloudDatabaseSolutions 20192操作流程與關鍵步驟購買DBS備份實例和相應存儲備份任務配置中設置秒級恢復當需要回檔時,選擇要恢復的時間點,發起秒級恢復數據任務獲取恢復數據的NFS掛載點自建立MySQL實例,直接掛在NFS的購買DBS備份實例和相應存儲備份任務配置中設置秒級恢復當需要回檔時,選擇要恢復的時間點,發起秒級恢復數據任務獲取恢復數據的NFS掛載點自建立MySQL實例,直接掛在NFS的查詢需要回檔用戶數據秒級恢復數據保存的存儲池,受限于IMSQL的查詢,不可作為線上生產庫使用。5掉線問題應對方案5掉線問題應對方案ClientClient1方案概述1持就是一個典型的例子。一旦到數據庫連接發生閃斷,由于應用沒有很好的連接探活和重試機制,就會導致玩家與數據庫失去連接,直接現象就是全服玩家批量掉線,這對游戲運營商HA切換或變配操作都會導致應用到數據庫連接閃斷,屬于正常運維現象,需要給游戲服務端屏蔽掉這種閃斷。PlarBPlarBXHA
PolarDB-X節點HAPolarDB只讀節點PolarDB主節點ProxyProxyHAPolarDB只讀節點PolarDB主節點ProxyProxyPolarDB-X節點RDS備實例RDS主實例2操作流程與關鍵步驟購買云原生數據庫PolarDB或PolarDB-X,無需特殊配置,應用直接連接使用即可具備數據庫底層變更防閃斷能力。云數據庫防閃斷能力,僅能保證數據庫底層變更不會影響到游戲應用,不影響玩家體驗,但應用到數據庫的網絡存在抖動、閃斷的可能性,應用依然需要考慮自己的數據庫探活和短線重連機制。AlibabaCloudDatabaseSolutions 226游戲買量優化方案26游戲買量優化方案1方案概述1T而廣告、買量分析需要數據分析技術,很多游戲客戶缺乏大數據技術和人才的儲備,短期難以落地,需要易于上手,又易于落地的短平快數據分析方案。阿里云數據庫提供游戲廣告實時運營分析平臺:
采用RDS(或PolarDB)實例和ADBDTS在二者間建立數據同步鏈路根據具體業務需求,在Quick中創建相應過濾條件,展示表單購買云上報表工具QuickBI.將ADB高性能庫和大容量作為其數據源用DLA將ADB高性能庫和中數據寫入到ADB大容量庫根據具體業務需求,在Quick中創建相應過濾條件,展示表單購買云上報表工具QuickBI.將ADB高性能庫和大容量作為其數據源用DLA將ADB高性能庫和中數據寫入到ADB大容量庫購買數據庫分析DLA,創建賬號,創建外部表,創建schema分別指向ADB高性能庫、大容量庫,創建ADB外部表配置數據投遞,驗證投遞結果購買日志服務Project和Logstror.將日志數據接入日志服務\h/acts/best-practice/preview?id=572960高并發低延遲分析數據清洗、數據分析(歷史數據)ADB大存儲庫ADB高并發低延遲分析數據清洗、數據分析(歷史數據)ADB大存儲庫ADB高性能庫DTS數據傳輸服務QuickBILogtailECSECSRDSMySQLRDSMySQL日志服務海量日志DLA日志服務海量日志DLAOSSADBDAU等數據,為廣告投放效果提供有力在線決策保障。(分鐘級數據湖分析DLA、ADB高性能庫和大容量庫實現了數據冷、溫、熱三級分層,在充分滿足各層數據分析效率同時,有效降低了客戶整體數據存儲成本。DLA和ADB兼容標準SQL,沒有接觸過大數據的研發人員可以輕松上手,完成平臺開發。
開放世界游戲并非是一個獨立的游戲類型,而是近年來越來越受歡迎的一種游戲設計。在之前的網絡游戲中,游戲看似宏大,但數據庫中并不需要存儲龐大的環境數據,因為環境是設定好的,不會因玩家行為而改變,即靜態環境,動態玩家。在之前的游戲模式中,數據庫僅需要存儲存儲量較小,且研發工程師對單機數據庫的能力不會做樂觀評估,會通過壓縮設計師的數據實體規模來控制數據量,避免數在開放世界游戲中,環境數據是龐大而可變的,留給玩家充分探索和互動的空間。最具代表性的就是大獲成功的主機游戲《原神》。這是一個建立在多層系統之上的巨大開放世界,發現不同的系統之間究竟如何交互的過程充滿著驚喜和樂趣。
這種開放世界設計擴展到網絡游戲中,必然帶來海量數據的復雜存儲需求:數據庫會存儲更多的數據,游戲內環境不再是靜態的貼圖,而會隨玩家行為影響而時時發生變化,并需要被記錄下來,這就需要彈性數據庫如PolarDB。游戲應用與數據庫交互會變的更,QPS、并發壓力都會變大,這就需要云原生分布式數據庫PolarDB-X。游戲空間的擴大,會有接近現實世界的復雜定位場景,可能需要時空數據庫存儲地理位置。更繁雜的游戲內社交關系可能需要圖GDB來支持。AlibabaCloudDatabaseSolutions 24方案優勢數據管理DMS數據庫開發者工作臺企業數據庫研發管理套件OLTPNoSQL產OLAPDTS做為數據總線,可以實現數據順暢流動;DMS幫助構建完整數據庫研發流程,同時保障內部數據安全;DAS數據管理DMS數據庫開發者工作臺企業數據庫研發管理套件結構設計數據訪問跨實例查詢結構設計數據訪問跨實例查詢數據庫實驗室規則引擎流程管控權限管控任務管控實時數據處理緩存/KV數據關系數據 文檔數據圖數據數據緩存Redis/Memcache時序/時空數據TSDB/InfluxDB關系型數據庫RDSAliSQL/SQLServer/PG云原生數據庫POLARDBMySQL/PG/Oracle在線分析數據戶服務DataLakeAnalytics分析型數據庫:交互式在線分析 列式分析數據庫AnalyticDBClickhouse云外數據庫MySQL/MariaDB數據上云SQLServer 數據同步與傳輸DTS Oracle 混合云數據 DB2 同步PostgreSQL Redis DTS數據同步/分發 MongoDB ... 數據庫備份DBS海量數據存儲HBase圖數據GDB文檔型數據MongoDB分布式擴展DRDS在線應用時序/時空數據(loT、監控、時空信息)智能優化異常恢復安全保護彈性調度監控大盤混合云管理數據庫自治服務DAS智能優化異常恢復安全保護彈性調度監控大盤混合云管理針對游戲行業不同場景在使用數據庫過程中遇到的挑戰,阿里云數據庫已經有了成熟的應對之策:阿里云數據庫產品種類豐富,可結合細分游戲類型,如全球同服游戲,以及具體業務場景,如游戲新開服,設計從緩存到關系型數據庫的完整全球數據同步方案,供用戶實施。充分利用云上數據庫資源彈性的優
勢,PolarDB計算存儲層分離,可在分鐘級別快速升配或增加只讀節點;MongoDB底層存儲采用云盤架構,不受單機容量限制,這些都能用來應對游戲新開服等壓力場景。針對游戲合服場景,可利用DLA跨數據庫實例、跨數據庫類型對數據進行沖突分析,預先處理沖突數據;而DTS可實現數據全量增量平滑遷
移,整個遷移過程游戲業務無感知,同時還具備遷移鏈路高可用、斷點續傳和數據完整性校驗能力。利用云上存儲資源優勢,構建基于快(可選服務可在分鐘級拉起一份歷史數據快照,供客戶快速查詢數據,進行定向數據回檔恢復。25 云數據庫解決方案 AlibabaCloudDatabaseSolutions 26客戶案例1心動網絡1客戶感言1“PolarDB提供高性能讀寫能力,100MySQL,使得業務可以無縫100/硬件故障導致服務端重啟時業務的快速恢復。”2案例背景2心動網絡,國內極具知名度的游戲公司,中國互聯網百強企業。旗下業務涉及游戲研發運營、動畫制作、偶像娛樂等多個產業。2009年起,公司開始打造心動網絡的自主品牌,致力于網頁及移動客戶端游戲的研發與運營。
游戲運維發布、游戲服務端軟/硬件故障導致服務端重啟,需要數據庫支撐更快的數據讀取能力,以實現業務的快速恢復。3業務架構3心動網絡采用PolarDB分布式云原生數據庫方案構建了全部業務系統:PolarDB支持處理海量大數據,同時具備高并發、高可用和很強的彈性伸縮能力;PolarDB特有的高性能讀能力,有效支撐游戲服務層的因變更、異常導致的服務端重啟業務快速恢復。
游戲服務游戲服#2游戲服務游戲服#2游戲服務ECS ECS PolarDBPolarDB集群
游戲服務游戲服務游戲服務游戲服務………… ECSPolarDB集群PolarDB集群PolarDB集群PolarDB集群游戲服#n為支持游戲業務快速出海,游戲發行TAPTAP游戲社區全球化運營與交付,需要支撐全球化業務的統一部署。特別是東南亞人口密度較大的地PolarDB集群游戲服#n客戶服務于國內、東南亞和歐美等地人口大國時,在活動峰值時需要支撐100萬級玩家同時在線的高并發壓力。
業務效果4PolarDB為千萬級用戶在線手游保駕護航。4優良的游戲體驗基于存儲計算分離架構,所有實例都帶有一主一只讀節點,提供3倍于便于新開服以及應用彈性擴容。在游戲版本發布、服務端重啟等場景可以大大縮短
維護時間,又確保在極端情況下,不會因為游戲服務端軟、硬件故障造成服務恢復過慢而影響玩家體驗。7*24高可用服務數據采用三副本一致性存儲,很好地保證了數據的可靠性。同時在主實例發生故障的時候,系統能在短時間(30s-60s)內完成快速切換,確保在線業務能夠在保
證數據完整性的同時快速恢復以提供正常的服務。豐富的業務支持5.6,完全兼容各種生態和中間件開源工具,非常方便游戲歷史戰績、游2某游戲公司2某游戲公司1客戶感言1“ADB快速地打造新一代游戲發行實時數據運營2案例背景2該客戶是一家獨特且創新的游戲公司,目前在全球已有超過1億的手機游戲用戶。游戲領域的競爭非常激烈,在互聯網高速增長的同時,流量成本不斷升高,市場營銷開始往精細化發展。
從而業務上要求游戲運營平臺能夠做3搶先一步預測。針對上述業務挑戰,客戶廣告大數據分析部門搭建了以系為生態核心的大數據架構,用于解決實
然而采用上述架構和數據流后,隨著數據量的迅猛增長以及業務的要求越來越高,存在如下問題:,有不小的學習與維護成本。o作為直接查詢的實時計算uceDataSoThirdDataServeruceDataSoThirdDataServerThirdSpreadingPlatformH5
業務架構3針對上述業務挑戰和架構遇到的痛點,客戶大數據團隊開始嘗試針對架構和產品選型進行考察,先后考察和嘗試KylinDruidKylin是預處理,并非實時,查詢模式也比較固rudSQL支持不好、關聯性查詢不方便以及不支持查明細等等問題,最終與數據庫架構師團隊一起考察和POC了AnalyticDBforMySQL產品,體驗到了AnalyticDB的快、靈活、易用、規模擴展和高并發的優點特性,成功地打造了圍AnalyticDBforMySQL為核心的新一代游戲廣告實時運營分析平臺。3原始數據NginxAccessFiles原始數據NginxAccessFiles前端分析Cache系統PolarDBPrestoPrestoHiveConnectorHIverExternalTableDataafterETLHadoopLogstashKafkagolangAd/APPEventData前端分析Cache系統PolarDBPrestoPrestoHiveConnectorHIverExternalTableDataafterETLHadoopLogstashKafkagolangAd/APPEventData
原始數據歸因后數據預計算DTSDTS實時查詢ADBC8ADBS8N實時查詢ADBC8ADBS8NCache預計算查詢ProfessionalDataDapDataDashboard業務關聯查詢ProfessionalDataDapDataDashboard4業務效果4通過采用“PolarDB+ADB大存ADB高性能”產品組合打造出新一代游戲買量市場實時數據運營分析平臺,云原生數據處理、分析閉環,實現了高效的游戲數據運營,助力客戶手游市場雄踞海外和國內。分析數據的實時性提升幫助用戶更好分析更好地指導業務開展。在構建好倍的性能提升,極大的提升了業務體基于玩家行為日志表日益增長,日增長過億數據量,通過ADB存儲密集型實例進行存儲和分析,有效地降低的客戶的總體使用成本,總成本下降高達300%;
3某游戲公司3某游戲公司1案例背景1專業的游戲制作團隊、先進的游戲理念以及阿里云的技術支持成為這家游戲創業公司成功逆襲的神器。公司在發展過程中面臨以下業務需求:提供全面的游戲運營指標分析功能:全面提高游戲開發者的日常數據運營工作效率,不僅提供付費用戶、付費率、付費金額和用戶生命周期價值等更加精細化的運營指標,游戲開發者可以更加深入,提供有效分析渠道效果,使每分錢都花在刀刃上:實時的分渠道數據統計可以監測到不同渠道用戶的增長、活快速的分析出投資回報率,讓開發者
實時入庫高并發低延遲分析DataWorksADBQuickBIOSS數據投遞DataWorks(歷史數據)自動投遞Logtail海量日志用戶登錄/注冊信息工具服務在線業務日志服務處理分析結果回流ECSDTS數據傳輸服務Mysql高規格SQLDLAOSSECSECSECSADB大存儲庫“ADB高性能+ADB大存儲+DLA”形成數據分析閉環ADB高性能庫:RDS-DTS)玩家登錄/注冊實時監控,實現展現新增玩家&RDS獨占10min->ADB3s)ADB大存儲庫:(日志采集投遞)玩家行為分析,圈選高價值玩家,通過打點信息分析指導游戲研發優化(百毫秒DLA數據湖:(OSS數據投遞)將OSS日志數據“T+1”投遞到ADB大存儲庫進行海量熱數據分析,日投遞量1TB+OSS數據分析)將OSS日志數據(含玩家行為歷史、API舊志)進行清洗加工,日掃描量5TB+
對渠道的評估更加準確。對付費用戶追蹤分析,了解付費用戶的習慣:針對付費用戶群,通過簡單
易懂的數據分析模型和圖表,跟蹤付更好的反映付費用戶在整個生命周期細致分析玩家游戲行為,改進產品體驗,提高游戲收益:關卡、道具、消費行為分析的功能可以了解道具和物品在使用過程中使用和消耗的總量以及趨勢,開發者可以借此來做到恰到
好處的數值平衡設計,也可充分利用數據分析的結果來幫助開發者優化游戲內付費商品的收益。2業務架構2構建了以“ADB+DLA”為融合數據倉庫分析、以“RedisRDS”為實時高并發在線業務、以“DTS+DMS”為平滑工具服務的數據庫架構。31 云數據庫解決方案 AlibabaCloudDatabaseSolutions 323業務效果 附錄針對玩家新增設備、新增玩家的實時RDSADB103基于玩家登陸注冊信息單表記錄數已經高達數十億,單表數據量已經高達TB級別,通過ADB高性能實例進行秒級(<3)DAU以及玩家活躍狀態等數據,為游戲廣告投放效果基于玩家行為日志表記錄數已經高達數百億,單表數據量已經高達百TBADB細致分析玩家游戲行為,有效地支撐了對產品改進體驗的分析,提高游戲基于進行海量歷史數據對比分析,針對游戲廣告買量投放效果5分鐘刷新一次投放效果展現,更加全面、快速的分析出投資回報率,使得對渠道的
術語表ARPU:每用戶平均收入,是一個時間段內運營商從每個用戶所得到的收入,一般是按照月來計算。合服:游戲分區分服架構下,當游戲進入平穩期后,不同服務器(可能是邏輯概念)上玩家會減少,出于資源利用率考同時也讓單位服務器內玩家密度變大,帶來更好玩家間交互體驗。bug游戲數據損壞,需要部分或全部恢復到之前正常情況下某個時間點的數據狀態,玩家的感受會是最近達到的裝備不見了,完成的任務顯示尚未完成等等。買量:游戲的獲客行為,一般是在各大渠道發布廣告,吸引玩家下載游戲,進行游玩,完成轉化,通過在渠道花錢投放廣告獲得玩家客戶,所以叫買量。
數據并表:就是將原來位于不同數據表中數據匯總存儲到一張數據表中,這些數據表可能位于不同的數據庫實例。RPO:恢復點目標,在故障發生后,數據能夠恢復到的時間點,也反映著業務所能容忍的數據丟失量。RTO:恢復時間目標,在故障發生后,數據恢復到預期狀態所能承受的最長時間。HA切換:數據庫的高可用特性,比如數據庫是主備架構,平時只有主實例對外提供服務,備實例從主實例同步數據,一旦主實例故障,HA切換后備實例代替主實例對外提供服務,保證數據庫服務連續性。DAU:日活躍用戶數。33 云數據庫解決方案
在線教育行業對數據庫的需求面對快速增長的在線教育市場,在線以及越來越多樣化的線上即時互動場景。同時,在線課堂一旦故障,影響面大且企業往往需要賠付用戶損失,數據容災和多活功能必不可少。從在線教育的業務角度來看,對數據庫有以下需求:
課堂業務2在線課堂經常帶來高并發讀寫請求,數據庫需要提高在應對課堂峰值的高并發讀寫請求能力。同時,在名師、名課效應越來越明顯的背景下,需要保障最為核心的上課場景下數據的容災和多活。在全球教全球學場景下,數據庫還需要滿足全球數據存取的需求。21運營業務2在線教育十分看重營銷獲客活動,獲2
考試業務3在線教育經常發生動輒數萬人同時涌3在線教育行業數據庫解決方案
客前的活動信息和獲客后的集中注冊和下單操作都是對數據庫的巨大沖擊。開始上課后,家長都希望能第一時間看到學生上課的各項統計指標。為了讓家長放心,需要支撐并提升學生上課數據實時分析和運營能力。
入的考試場景,需要保障題庫試卷快速生成,以及提交后的即時判分,數據庫將面臨頻繁的數據請求。同時,為了實現豐富的互動和教育手段,使用數據庫設計系統時需要考慮業務需求的不斷增長。20132019比增長2019367020192.32020Q1突破4.23億,K12(學前教育到大學教育之間群體)成為目前最具前景的教育市場。基于艾瑞咨詢2019年初的統計,目前在線教育在整個教育市場中的占比不足%。相對于其他互聯網K12可靠的數據庫解決方案。1ECSRedis緩存1ECSRedis緩存HARDS主實例RDS備實例1方案背景典型的營銷獲客活動場景包括發送名師講課、精品課程、特價課程給家長,吸引新客注冊老客購買。活動發送覆蓋的用戶比較多,而且通常會集中發送。在獲客場景中,發送記錄批量落庫、同一時間大量用戶查詢活動內容、新客集中注冊、新老客戶下單,里面每一個環節都對數據庫帶來沖擊。在活動發送和用戶參與、提交活動信息方案架構營銷活動內容一般固定后不會實時修改,內容適合放在緩存中。同一時間大量用戶訪問活動內容,會表現為熱點KEY伴隨高并發場景;用戶一旦感興趣參與活動后,即為獲客成功,用戶會訪問并跳轉到具體課程或者活動內容,填寫資料提交信息,此新用戶信息對客戶業務非常關鍵,需要落庫存儲,形成對關系型數據庫的高并發讀寫。常用的典型架構如上圖所示:2K12與解決方案教育行業從年齡維度可以劃分為學前教育、K12教育、大學教育、成人和職業教育,K12教育是最核心也是最具活力的群體。整個線上教育圍繞在線課堂展開,從時間維度可以劃分為課前、課中、課后這三個部分。K12教育的完整流程圖如下圖所示,整個流程場景非常多,這里只列舉與數據庫操作相關的場景,而每個場景對數據庫的依賴和需求也截然不同。課前課前·課表生成課程查詢·老師查詢選擇老師·特定時間約課搶課課中·IM消息互動·課件發布和修改·直播錄制課后·據答題結果推薦復習課程·推薦相關興趣內容和課程·實時成績排名和課程報表1營銷獲客 2課程制造 3下單約課 4.進入教師 5.大小班課 6.知識鞏固6.答題評分·課堂互動·IM消息互動6.分析推薦·基于精準畫像的用戶推薦·營銷活動開展與數據記錄·營銷精品課程列表與讀取·開課教室查詢·集中打卡簽到·驗證進入教室·課件發布和修改·直播錄制AlibabaCloudDatabaseSolutions 38在線教育營銷活動請求數據量小,查ss阿里云Redis企業版(Tair)的多線程性能增強模式,可以極大緩解突發大量請求導致的連接問題,高并發下運行更穩定。s解決營銷場景下,數十萬人同時請求KEY當營銷獲客成功,目標用戶確定參與
內容,大量用戶集中提交信息,然后查詢,形成高并發讀寫數據庫場景。3關鍵步驟活動開始之前,根據業務壓力評估結eds/olar3關鍵步驟活動開始之前,根據業務壓力評估結eds/olarB。活動開始后,根據數據庫的負載壓力,在控制臺發起增加云Redis/PolarDB只讀節點,或者進行彈性升配。活動結束后,業務趨于平穩,評估數據庫壓力情況,在控制臺發起數據庫的降配或者減少只讀實例節點。其中的注意事項包括:Reis標準版本和集群版本都支持增加只讀節點,但是集群版本使用讀寫分離會對起始規格有要求,需要32GB及以上規格。PlarB個只讀節點,可直接開啟讀寫分離。PlarB如果數據量較大,建議購買存儲包。得益于n就增加只讀計算節點來分擔更多讀請求。如果主實例寫壓力也很大,同樣在n就快速實現規格快速彈性升配,不需要類似RDS或者自建活,此時會跳轉請求課程或者活動 綜上考慮推薦優選方案如下圖所:ProxyServersECSRead/writeHAMasterRedisSlaveRedisHAMasterRedisSlaveRedisRedisReadReplicaHAPolarDBHAPolarDBPolarDB只讀計算節點PolarDB存儲 2課程查詢解決方案2課程查詢解決方案1方案背景1老客戶或者新獲客戶都會頻繁的進行課程查詢或者名師查詢,以篩選出最適合孩子的課程和老師,這些課程列表會分別存儲在緩存和落在數據庫中。由于課程查詢屬于在線上課之前用戶必然會進行的操QPS的場景。2方案架構2必然需要極大的資源來支撐查詢請求,所以推薦放在緩存中,來為后端關系型數據edis+QPS代理層能實現對業務透明,方便業務快速迭代。一旦課程內容變更,業務更新數據庫,同時刷新緩存,可以保障緩存、數據1.1.23關鍵步驟3緩存推薦使用阿里云eds(Tair)。Tair是多線程版本,在超大連接數和高并發情況下更能發揮多線程的優勢,特別是在極端情況下也能保持穩定,可以避免緩存擊穿,流量打到數據庫引起業務雪崩等場景。
一般課程列表、名師介紹等等內容生成KEY對應的Vaule可能較大,高QSRdis2負載高導致網卡排隊等情況。RDS讀寫分離架構,在課程查詢場景中,讀寫比往往可:1,讀占據絕大部分,增加只讀實例能快速擴展讀能力,而較少的DML操作也不用擔心只讀延遲問題。33約課報名解決方案1方案背景1由于在線教育不再依賴傳統教育方式的線下教室大小或者出行成本的限制,家長和學生很容易就能直接和名師或者明星課程學習,造成名師和明星課程一推出就瘋搶的局面,導致約課報名場景的高并發讀寫需求。對于一些頭部在線教育客戶來說,不管是一對一模式還是大小班課模式,約課場景都是壓力最大的場景。諸如周二的約課開放日,上百萬的課程預約會在很短的時間內高并發完成。此外,大量的約課數據需要保留在數據庫中,所以這也是一個海量的數據存儲場景,同樣需求底層數據能夠切片存儲,分散數據,降低單庫存儲數據,保證查詢性能。綜合來講,約課報名是高并發、高吞吐結合海量存儲的場景。
方案架構2針對約課場景高并發讀寫、海量數據存儲的需求,且主線都是圍繞學生和老師這兩個維度展開的場景,非常需要和很適合分布式數據庫這樣同時具備scaeupscaeout數據庫具備很好的擴展讀、寫和并發的能力,多個節點分散承載讀寫壓力,多個底層數據節點切片存儲,數據打散。當然,一旦采用分布式數據庫之后,數據的完整統計分析、業務的關聯查詢會造成不便利性,對業務設計有一定要求。因此,成熟的方案是形成匯聚庫,將前端多頁業務數據匯聚到一個“倉庫”中,將這些操作統一放在匯聚倉庫中進行,能極大便利業務查詢需求和性能。針對約課場景高并發讀2
寫、海量數據存儲的需求,且主線都是圍繞學生和老師這兩個維度展開的場景,非常需要和很適合分布式數據庫這樣同時具備scale-up和scale-out能力的架構來承載。分布式數據庫具備很好的擴展讀、寫和并發的能力,多個節點分散承載讀寫壓力,多個底層數據節點切片存儲,數據打散。當然,一旦采用分布式數據庫之后,數據的完整統計分析、業務的關聯查詢會造成不便利性,對業務設計有一定要求。因此,成熟的方案是形成匯聚庫,將前端多頁業務數據匯聚到一個“倉庫”中,將這些操作統一放在匯聚倉庫中進行,能極大便利業務查詢需求和性能。4上課場景解決方案4上課場景解決方案課表內容緩存HAHAHAMasterNMaster2課表內容緩存HAHAHAMasterNMaster2Master1ProxyServers基礎數據老師庫RDS學生庫RDS課表庫RDS約課庫1SlaveNSlave2Slave1ECS1課程可能持續幾個月甚至年許,課程記錄需要保留,在課程軌跡等業務場景中使用,形成海量課堂記錄存儲,對數據庫帶來存儲壓力。方案背景在學生家長購買課程并且成功預約方案背景在學生家長購買課程并且成功預約后,K12完成,將進入上課環節。具體場景為,學生在指定時間打開APP或者電腦客戶端,點擊“進入教室”,開始既定課程學習。K12一對一模式、小班課(1V4/6/8)、大班課(最大可達萬人)。目前在線教育的整體發展趨勢是越來越多的向大班課模式靠攏。學生點擊進入教室,需要給學生初始化教室,查詢當前教室元數據,生成教室(AI列出當前教室課程重點等信息,打卡簽到等。同時一些重要的節點數據,比如進入教室、開始上課、課程問答、課堂每小節打卡等內容,還需要有數據記錄,在課堂中或者課堂結束后生成課堂報表,來給到家長端查看,讓家長能實時或者匯總看到孩子的每堂課學習完成率和精彩問答等,這也是各在線教育機構非常看中的一環,讓家長能很輕松的就實時掌握學生的學習狀態,增加家長體驗和購買意愿。PolarDB集群DTS實時同步數據匯聚PolarDB集群3關鍵步驟3使用緩存數據庫來承載讀流量,降低關系型數據庫的負載,提升讀取響應時間。通過緩存失效或者訂閱底層binlog的方式來實現緩存和數據庫存儲之間的一致性。數據,按照學生或者老師維度進行數載高并發和海量連接請求,理節點數據切片存儲,也即分庫分表
DTS實時同步能力可以保障維持單庫在一個推薦以內的合理范圍(一個或者多個分布式數據庫的數據可以通過數據同步工具實時同步到B集群中。B中性能保障優異。這樣不僅解決數據拆分后的聚合問題,同時會N1形成聚合查詢庫,業務直接在一個庫中做業務查詢或者關聯,避免跨庫等
上課作為在線教育最核心的場景,對容災能力要求非常高,學生如果無法按時進入教室開課,老師如果無法正常開始講課,隨著時間的推遲,會帶來非常大的經濟損失,這對數據庫高可用、容災雙活提出要求。在課堂互動場景中,學生和老師的互動、問答等,都會以消息的形式發送接收,對時效性和不丟消息要求非常eds內容保留或者直接使用U/SB式實現,對edis的流量帶寬和熱key性能帶來很大的挑戰。在大班課場景,聊天窗口聊天信息,ReisedsKEY,導致熱KEY和流量帶寬打滿等情況。2方案架構2在一對一場景中,可能每小時都有數萬節課在開始和進行,所以對數據庫的壓力更多的
5課后考試作業場景解決方案互動消息&Master2ProxyServers聊天課堂互動MasterNMaster1互動消息&Master2ProxyServers聊天課堂互動MasterNMaster1教室教室 課件 課堂信息直播地址MasterSlave1MasterSlave1MasterSlave1MasterSlave1課件庫教師庫直播錄制&轉碼RDSRDSRDS課堂庫PolarDB-X消息&記錄落庫RDSRDS3關鍵步驟3
1方案背景學生完成課堂學習,正常結束后會通過試題、作業來體現課堂學習效果和鞏固課堂知識。考試作業是從海量題庫中按照當前課堂打標知識點關聯后提取出來,比如題庫中有和數學加法聯系相關的上萬道題,提取其中20道生成作業。答題的快速多樣性也是體現在線教育對比傳統線下統一試卷的優勢,不同學生答題各異,同一學生答題可多種難度,這增加了答題質量和體驗,但是給數據庫帶來了頻繁的數據請求。作業在規定時間內完成后,會判題評分,在作業答題完成后,會有更多難度讓學生挑戰,對應生成不同難度和關聯作業,并在最終提交后,生成排名。在家長端,家長們也能方便的隨時查看學生的作業完成和評分排名情況。
方案架構22題目難易度評估,這些場景,XX、阿里云
接入阿里云數據傳輸服務能夠方便、成熟的實現跨機房、跨ns)/場景中已經實現集群方式打散請場1對于作業答題場景:錯題率&難度分析BI抽取作業題生成試卷實時數倉輕量級OLAP抽取作業題生成試卷實時數倉輕量級OLAPRedisRDSADB分析家長監督判題評分試卷庫作業題庫PolarDB8.0PolarDBPolarDB對于排名場景:
1方案背景學生的課程報名、行為日志、上課、
方案架構2在線數據大量在關系型數據庫中產2Sorted_Set_Class2Sorted_Set_Class1全國排名 班級排Sorted_Set_Class2Sorted_Set_Class1Sorted_Set_GLobalSorted_Set_GLobal3Sorted_Set_Class3關鍵步驟3Sorted_Set_Class3PolarDB的存儲計算分離架構,能保障單表億級別的時候依舊具備高并發低延遲的讀取和批量提交能力。PolarDB讀寫分離架構,新增只讀節點最多只需5Min,在定期大型班課場景,能在開始前幾分鐘快速彈性升配和擴容,提升數據庫容量,日常保留較低規格。RedisSortedset數據結構,學生分數數據寫入后天然
Class1Class1Class1Class1Class1Class1有序存儲,非常適合排名場景。使用分析型數據庫ADB來承載諸如分析錯題分布,以及統計答題率、錯OLAP場景。同樣使用ADB數據庫構建實時數倉,將試卷內容、答題記錄等通過數據同DTSADB數據庫SQL語句簡單快速的實現BI
簽到打卡、答題準確率、排名等數據,都以及課程推薦等場景的重要數據。例如,按照學生的錯題分布,實時推薦學生課外讀物或者其他課程來鞏固知識點。隨著課程的推進,這些數據分析的實時性和靈活性是很多客戶考驗分析質量和分析結果轉換率的重要因素。建議在線數據OLTP的場景在關系型數據庫如MySQL、PolarDB中產生和查詢,而OLAP分析類的場景,特征如海量數據、復雜查詢、多表關聯和函數計算等,由專門的分析AnalyticDB來做實時分析,中DTS做數據實時流轉,或者基于DataLakeAnalytics來匯聚多種數據源來做準實時或者偏離線分析。基于以上OLTP、OLAP分離的思路設計分析場景,不影響在線業務,也讓分析更實時,數據價值化。
生,稱為熱數據,通過DTS數據同步工具實時同步到分析型數據庫AnaytiDB來做實時分析。除此之外,在線數據的產生除了結構化的數據庫數據,還可以是半結構化或者非結構化的日志數據、消息數據、OSS文件,都可以匯聚到AnalyticDB,形成數倉來做分析。準實時或者偏離線數據,稱為溫數據或者冷數據,數據一般存放在日志、OSataLakeAnalytics數據湖來直接進行分析或者清洗,不用再冗余一份數據,將清洗后的結果直接輸出到比如報表或者業務AnalyticDBalyicDB的高性能查詢引擎進一步做分析查詢。AlibabaCloudDatabaseSolutions 482方案架構2在線數據大量在關系型數據庫中產生,稱為熱數據,通過DTS數據同步工具實時同步到分析型數據庫AnalyticDB來做實時分析。除此之外,在線數據的產生除了結構化的數據庫數據,還可以是半結構化或者非結構化的日志數據、消息數據、OSSAnalyticDB,形成數倉來做分析。基于AnalyticDB實現OLTP、OLAP場景分離:
準實時或者偏離線數據,稱為溫數據或者冷數據,數據一般存放在日志、OSS存儲或者數據庫里,建議使用DataLakeAnalytics進行分析或者清洗,不用再冗余一份數據,將清洗后的結果直接輸出到比如報表或者業務系統,也可以存儲到AnalyticDBAnalyticDB
3關鍵步驟,彈性能實現冷熱數據自存儲成本大量降低,保障查詢性能,同時計算資源和存儲資源分離,可以按業務需求和數據量選配組裝。計算的數據同步,選擇分布鍵,讓數據散
列在AnalyticDB分布式存儲里。創建數據湖可以對接多種數據庫和日志等存儲,運行為模式,在發生查詢的時候才計費,成本非常低,可以使用在數配置業務系統或者I系統連接DLA,結果數據寫入OLTPOLAP分離的設計理念數據庫隨需彈性擴縮容數據庫隨需彈性擴縮容最大支持88核,710G內存,16PolarDBDTS數據實時同步工具分布式共享存儲 分布式共享存儲POLARSTOR POLARSTORPolarDB彈性數據庫集群 PolarDB彈性數據庫集日常 峰值PolarDBADB即席分析實時數據課程質量 教學分析 用戶畫像云教材 云班課用戶體系最小支持2核,4G內存,2個節點PolarDBAnalyticDB+DLA實現實時數倉: 數據清洗/數據分析
在線數據庫 日志服務DTS
消息數據客戶端消費冷數據分析 (低頻) 數據產出數據處理回流OSS清洗數據寫入數倉OSS數據直接導入數倉OSS DLA AnalyticDB實時數倉數據處理回流OSS清洗數據寫入數倉OSS數據直接導入數倉方案優勢阿里云數據庫以真實業務場景出發,面對在線業務OLTP場景,提供了MySQL、PolarDB、PolarDB-X據庫類型,來面對高流量、高并發、超大連接、海量數據、低成本等不同業務場景訴求,配合讀寫分離、快速彈性擴容等特性服務于前端業務。同時結合緩存來幫助數據庫承擔數據讀流量、緩存層也有讀寫分離、集群等豐富的架構來支撐請求。此MongoDB、HBase等在日志、高寫入等場景大量應用。實時數據處理緩存/KV數據關系數據文檔數據圖數據實時數據處理緩存/KV數據關系數據文檔數據圖數據e 據 圖數據GDBMySQL/MariaDBSQLServer Oracle DB2 PostgreSQL Redis MongoDB ··· 數據上云傳輸DTS據同步DTS數據同步/分發數據庫自治服務DAS列式分析數據庫ClickHouse云原生數據倉庫AnalyticDBDataLakeAnalytics數據戶服務在線云外數據庫數據庫備份DBS海量數據存儲HBase在線應用數據管理DMS數據庫開發者工作臺企業數據庫研發管理套件規則引擎結構設計數據訪問跨實例查詢數據庫實驗室
分析場景,能幫助業務快速實現數據分析實時化。DTS作為數據流轉通道,云上已經實現了多種數據來源流向多種數據存儲DMS幫助構建起完整的數據庫研發發布流程和可自定義的權限管理、審計、流程審批機制,保障公司內部數據安全,幫助研發和運維更高效的使用數據庫,提升效率;DAS智能數據庫運維管理系統,能降低數據庫運維負擔,貼合業務場景,快速定位和發現解決問題。阿里云形成了從數據庫內核到生態產品的完整閉環,應對不同業務場景和數據需求。流程管控權限管控任務管控
在線教育場景中對數據庫的挑戰尤為突出,阿里云數據庫經過大量的實踐,形成場景化的解決方案來很好的支撐。針對營銷、查課等波峰波谷場景,非Bs據、集中查詢的場景s
對于廣告投放、課程質量管理、課后實時統計匯總、營銷等場景,基于于數據層的多、跨、單向、雙向數據同步等架構。智能優化異常恢復安全保護彈性調度監控大盤混合云管理智能優化異常恢復安全保護彈性調度監控大盤混合云管理客戶案例1智啟藍墨1智啟藍墨案例背景1智啟藍墨是一家智能互聯網教育公司,提供基于人工智能、云技術、大數據和移動互聯技術研發推動教學模式變革的智能云教學平臺。公司在發展過程中,面臨以下業務挑戰:16TB10儲和性能都碰到瓶頸。業務和分析共用一份數據,報表分析對在線業務影響越來越大。希望構建用戶推薦平臺從而挖掘數據價值。2業務架構2PlrB6B10
OLAP復雜查詢切換到AnalyticDB,OLTP、OLAP分離架構。歷史數據歸檔HBase,上層構建Spark,構建用戶推薦場景。3業務效果3無需改造遷移到a,滿足支撐分離架構,復雜查詢業務從在線庫切換到分析庫,減少業務與分析相互影響。調整后基本無業
2猿輔導2猿輔導1案例背景1該國內知名的K12直播課程平臺面臨的業務挑戰包括:數會瞬間激增,自建實例無時答題延時也從正常情況下的1秒之內增長到平均5秒,用戶答題體驗急劇下降。據庫的2業務架構2在核心業務系統中,借助云原生數據olarB快速彈性的能力,在業務的高峰期臨時增加計算節點的配置和集群規
縱向擴展(計算節點升配/降配):得益于計算與存儲分離,PolarDB實例的計算節點可以單獨升高或者降低配置,而且整個升降配過程只需要5-10分鐘。橫向擴展(/):由于存儲是共享的,因此增加只讀節點的過程不需要任何的數據copy,整個5-10節點后,PolarProxy可以動態感知并自動加入到讀寫分離后端的讀節點中,對于使用讀寫分離地址連接PolarDB的應用程序無須任何改動便可享受到更好的性能和吞吐。靈活的存儲空間管理:存儲空間支持按使用量后付費,每小時自動結算;同時也支持更優惠的存儲包方式。同時,底層數據存儲池可以自動動態擴容、平衡,避免存儲碎片和數據熱點。ADB數據倉庫PolarDB在線數據實時同步ADB數據倉庫PolarDB在線數據實時同步復雜查詢DTSPolarFS歷史數據&行為數據歸檔 擎 歷史數據歸檔SparkStreamingHBase歷史數據歸檔用戶推薦調整后架構學生端作業數據老師課程& 行為數考試數據原有架構場景剝離低成本商業營銷 PolarProxy 接入代理升配擴容 PolarProxy 接入代理升配擴容業務高峰期數據庫引擎降配縮容共享存儲PolarDBPolarStore平時周末術語表應用程序3術語解釋3術語解釋OPS每秒對磁盤的讀寫次數,一般業務查詢越多越分散(無法在內存中直接命中),該指標越大,也表示磁盤的讀寫壓力越大,出現指標較高需要擴容磁盤性能。QPS每秒鐘對數據庫產生的查詢次數。是評估數據庫壓力的重要指標,一般是秒為單位,比如單次查詢耗時50ms,有100個活躍連接在發生查詢,那么QPS等于1秒(1000ms)/50ms*100=2000。DML數據操作語句,包含增刪改,insert、update、delete。PUB/SUBRedis里消息的通信模式,PUB代表消息發送,SUB代表消息接收。OLAP聯機分析處理系統,這里通常是指SQL語句相對復雜,以多維分析、報表、海量數據的業務場景。OLTP聯機事務處理系統,這里通常是指業務對數據庫的請求以短平快的小請求為主,查詢簡單,響應要求高,請求量和并發量大。通過云原生數據庫PolarDB的使用,在幫忙客戶節約成本的同時,又可以輕松應對在線用戶流量激增的情況,也為用戶提供流暢的在線教學體驗。業務角度,課程完成率從90%左右提升至100%。30便可臨時使系統具備百萬用戶并發訪問的能力。PlarBMyQLPlarB570%的成本支出。55 云數據庫解決方案大促面臨的技術挑戰線上的電商促銷從線下衍生而來,但比線下可以覆蓋更多用戶、場景、商品、主題和活動。電商促銷活動等級分為超大規模促銷、主題促銷和日常促銷,像雙并且在大促里面加入了很多新鮮的元素,11ISV大促不僅僅是對商家供應鏈、物流、網絡
22連接風暴數據庫的連接有限,同一時間創建過多連接會消耗大量的資源導致數據庫卡頓,影響數據庫穩定性。在大量線程并發工作時線程調度工作過多,緩存失效,緩存查詢快,數據庫查詢慢,大量增刪改查請求到數據庫執行,導致數據庫資源競爭加劇、鎖沖突嚴重。上述問題又會加劇應用和數據庫連接釋放慢,如何預防數據庫的連接風暴,降低創建連接的代價,穩定大促營銷數據庫解決方案20091111大促業務的峰值和系統r9首次超過美國,成為全球最大的整體零售市場。2020年,零售業和其他傳統企業數字化轉型更r2ey,不僅把它作為一個關鍵的銷售時期,而且把它作11、99MySQL產品系列(RDSMySQL、PolarDBMySQL)的大促解決方案,幫助企業客戶輕松應對大促,實現消費者、平臺、商家、供應商、物流等大促鏈路上的所有角色共贏。
、全社會協同能力的挑。 大促1海量訪問根據市場部分的推廣和引流、歷年雙11的經驗,大促的起始時刻的峰值呈現接90所有核心鏈路的增刪改查都是在數據庫上操作,對數據庫有比較大的沖擊。如果數無法支付等。大促帶來的巨大流量意味著到數據庫里的查詢會比較多,同時緩存失效也會導致數據庫的并發查詢比較多。
持續地提供數據庫服務是數據庫需要應對的問題之一。33SQLSQL問題大促期間數據庫既要滿足業務響應時間又要最大化地提供QPS。數據庫系統通常被認為是一個響應者,需要處理所有接收到的請求。在大促高并發場景下,各方面資源大多數是被打滿的狀態,數據庫高度擁堵,是不大可能實現低并發時的響SQLSQL的話可能導致系統資源耗盡,整個數據庫服務卡頓或不可服務,最終導致業務損失。44熱點商品售賣所謂熱點就是比較火的商品,一上架就被秒殺的商品,這類商品通常在數據庫里是一行記錄,對于MySQLInnoDB引擎而言并發越高行鎖競爭越激烈,單行更新的性能會越低,行鎖的競爭又會數據庫層連接的堆積,連接的堆積又會拖慢整個數據庫,數據庫慢又會導致應用釋放連接慢,進而影響整個應用集群。大促總結彈性縮容應急預案實時監控性能評測大促總結彈性縮容應急預案實時監控性能評測彈性擴容性能優化容量評估流程管理大促前大促中大促后1方案概述解決方案大促前需要做容量評估、性能優化、
大促后需要做一些恢復動作,做些總結。本文不再贅述。大促前的工作最多,花的時間最長,因為需要從復雜系統中梳理識別風險并提前規避或解決。22大促前的準備工作1容量評估1把大促做為一個項目來看,風險管理檢查各方面系統資源是否能支撐大促峰值。大促前首先要確認業務指標(包括交易創建和交易支付),由于現在大多數平臺都是分布式的,各個業務模塊需要根據業務指標換算成業務模塊的技術指標和資源指標,然后根據該指標為大促做準備。在大促前可能需要多次優化或擴容動作,比如:性能評測不通過,需要再進行性能優化;如果性能優化已經到位,需要擴容后再做性能評測看能不能滿足業務指標。容量評估的有效方法就是要做壓測,可以單獨對實例做基準壓測或基于真實場景的壓測。實例基準壓測實例既要滿足業務需求,又要節約成本。從實例本身出發,可以通過tpcc,sysbench,mysqlslap等工具對實例本身能達到的基準值測試,從而了解實例本身的性能。通過基準壓測發現從業務角度壓測和基準值有偏差時,可以為從哪些方面優化性能提供參考。也可以通過修改壓測語句針對秒殺場景單獨壓測。但是在實際應用中,只有基準測試的結果是不能充分評估真實業務場景的容量的,還需要做基于真實業務場景的壓測。
實例級別真實業務場景壓測通常做真實業務場景壓測,可以從業PTS、loadrunnerDAS提供一種不需要從業務壓測的方法。DAS從源實例上捕獲流量,按照目標實例規格支持的極限速度或指定回放速度,在目標實例上進行回放。回放后可以看監控指標評估能不能支撐住雙11峰值,如果不能則需要優化性能或擴容資源,或者降級一些不太核心的功能。全鏈路業務場景壓測上面兩個測試都是從數據庫層面單獨壓測,為了和業務聯動,方便評估所有鏈路工作時的容量可以進行全鏈路壓測。全怎么做全鏈路壓測的”。為了更好地服務阿里云用戶,阿里也把全鏈路壓測沉淀成PTS,PTS驗證全國用戶真實業務操作對服務端性能、容量和系統穩定性的影響,讓站點提前經歷真實的高可以大幅提升效率和智能化準備大促,全面逼近真實的系統驗收能力,全面拉通端對端的鏈路,提供全方位的的解決方案。
性能優化2性能優化是根據性能分析的結果,對系統性能的改進。通常在計算機系統中,這種活動的動機被稱為性能問題,它可以是真實的,也可以是預期的。大多數系統當負載增加時會出現某種程度的性能下降。系統接受更高負載的能力稱為可伸縮性,而修改系統以處理更高負載就等同于性能調優。系統可以進行性能優化說明某些方面存在瓶頸,期望通過優化瓶頸滿足性能需求。2和大促相關的性能優化可以分為架構優化、參數優化和內核優化。阿里云RDSMySQL做了很多內核優化的補丁,可以幫助用戶很好地解決熱點庫存、高并發、走錯索引等性能方面的問題。更多信息可參見“參考資料”章節。
架構優化應用接入緩存層OLTPOLAPRDSMySQLRDSMySQL數據庫管理DASDMSDTSDBS應用接入緩存層OLTPOLAPRDSMySQLRDSMySQL數據庫管理DASDMSDTSDBSADBMySQLADBPostgreSQLRDSMySQLRedisRDSMySQLMongoDBRDSPostgreSQLRDSPostgreSQLMemcaheECSECSECSSLBSLBSLBRDSMySQLRDSMySQLRedisARDSMySQLBRDSMySQLC大促場景下查詢請求比較多,應用可以從幾個方面做,如:盡可能地使用靜態化頁面、盡量使緩存命中率100%、讀寫分離使讀流量不影響主業務。讀寫分離是存儲里面最簡單的架構,顧名思義是把讀和寫分開。用主實例支撐寫流量和對主備延遲要求高的流量,用只讀實例支撐讀流量,不能從業務側寫。對RDSMySQL來說只讀實例和主實例之間通過主備復制的方式實現數據同步。要想實現讀寫分離,通常可以采用以下幾種方案:方案1:應用獨立實現方案2:開源的中間代理方案3:阿里云的獨享代理用戶1用戶2用戶N共享代理VM用戶用戶1用戶2用戶N共享代理VM用戶1DB用戶2DB用戶NDB用戶1用戶2用戶N用戶1DB用戶2DB用戶NDB鏈接地址虛擬IPDNS虛擬IP獨享代理3獨享代理2獨享代理1
負載均衡,只讀實例延遲過大,不可用等23獨享代理數據庫代理可以在代理層實現讀寫分離、流量控制、連接保持等方面的優化,避免業務流量同時直接訪問數據庫,造成數據庫癱瘓,進而影響業務不可用。數據庫代理的位置可以參考下圖:共享代理是很多用戶共享VM(虛擬機),如上圖所示。共享代理的設計方式決定了它的資源隔離性不是很好,可能會存在多用戶爭搶資源導致訪問服務不穩定的風險。獨享代理是相對共享代理而言的,獨享代理做了設計優化,首先它的隔離性比較好,不會出現和其他用戶爭搶資源的問題,資源可擴展,可承載更高流量;其次在大促時期開啟讀寫分離,大促結束后釋放只讀實例,關閉讀寫分離,也不用變更應用內的連接地址。
RDSRDSMySQLARDSMySQLRDSRDSMySQLRDSMySQLA BBCRDSMySQLC存儲架構升級一個新業務上線到蓬勃發展需要經scaleupscaleout階段。在早期階段,使用數據庫的方式如左圖所示,幾個庫分布在一個實例上面。當單個實例不能支撐峰值時,就會把幾個庫分別放到單獨的實例,這幾個實例互不干擾。隨著業務的進一步發展,數據庫很難支撐,就需要使用緩存,如右圖所示。后期,如果單個實例也不能支撐A庫時,就需要使用PolarDB-X如果經過的充分的評估單個RDSMySQL不能支撐大促流量,又不想分庫分表,且ts6w,可以PolarDBMySQL;RDSMySQLPolarDBMySQL特別適用于大促準備時間短、數據延遲要求高、突發流量較多、DAS
擴容的場景。PolarDBMySQL可以滿足數據延遲要求,同時易于彈性升降配置。s,就需要對數據庫進行拆分。拆分也有比較多的實現方X網、金融&支付、教育、通信、公共數據庫版本升級阿里云MySQL產品系列在不同的版本上做了不同程度的改進,各個版本的演進可以參考:5.6,5.7,8.0。因為和大促相關主要關注點還是放在性能方面。從下面的性能測試圖可以看出比較新的版本性能是不同程度的有提升:由于不同版本之間的優化器、排序方式等方面可能做了調整,如果不進行驗證直接升級的話,可能會導致原來不慢的SQL變慢、排序結果不一致等情況,從而影響到業務,所以在升級之前必須進行充分驗證。架構優化從整體層面可以大幅度提高
參數優化以下介紹的是高性能參數模版的參數優化方法,高性能參數模板不一定適用于所有的場景,您也可以根據自己的業務場景有針對性的調整個別參數,比如:修改binlog同步
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國圓柱形電池行業投資前景及策略咨詢研究報告
- 從實踐看教育在提升患者隱私保護意識中的作用
- 云南某級公路第合同段工程技術承包合同(11篇)
- 以提升信息安全為目標解析區塊鏈在科技醫療領域的應用價值
- 信息技術與醫療服務效率的關聯研究
- 廣東省2024?2025學年高一下學期4月五校聯考數學試題(含解析)
- 校園綠化美化工作計劃(5篇)
- 2025至2031年中國人像熨燙機行業投資前景及策略咨詢研究報告
- 2025至2031年中國保鮮蘋果行業投資前景及策略咨詢研究報告
- 2025至2031年中國中線伸線機行業投資前景及策略咨詢研究報告
- 電子書 -《商業的底層邏輯》
- 農貿市場消防應急預案演練總結
- 2023年湖北宜昌高新區社區專職工作人員(網格員)招聘考試真題及答案
- 外貿談判知識分享課件
- 《患者疼痛管理》課件
- 基于AI人工智能的智慧園區融合感知平臺建設方案
- JB T 7689-2012懸掛式電磁除鐵器
- 課件-錯賬更正
- 現代漢語語料庫詞頻表CorpusWordlist
- GB/T 5465.2-2023電氣設備用圖形符號第2部分:圖形符號
- 學校德育活動安排表
評論
0/150
提交評論