零:前言
云原生時代已經到來,虛竹哥今天分享一下,不同的數據庫上云的實戰經驗。
一、背景
隨著各行各業業務數據量的不斷增加和數據類型的復雜化,需要使用多種數據庫來存儲數據。然而,這些行業也面臨著無法彈性擴縮容和高昂的運維成本等問題。
客戶的數據庫主要采用以下三種部署方式:
? 本地數據庫:使用傳統的本地數據庫部署方式,在IDC機房中部署數據庫,而不是使用公有云服務;
? 云ECS部署數據庫:為了降低成本并優化架構設計,選擇將數據庫部署在云廠商的服務器上,而不是使用云數據庫服務。
? 云數據庫服務:為了提高數據的可靠性和安全性,可擴展性和靈活性,向云廠商直接購買云數據庫服務。
1.1、痛點
? 業務上線速度慢:無論是本地數據庫還是ECS自建數據庫,都需要用戶自己安裝軟件,自行解決補丁升級、高可用等問題,非常耗時;
? 無法彈性擴縮容:無法根據業務需求進行快速變更,比如在流量增長后,自建數據庫無法做到快速升級配置,可能流失潛在客戶,流量高峰回落后,又無法做到快速降配,造成資源浪費;
? 運維人力成本高:自建數據庫需要用戶自行解決所有數據庫日常運維問題,實例數量達到一定程度后,管理非常困難,DBA人力成本高昂;
? 安全防護問題多:自建數據庫需要自行下載安裝包,可能會被植入木馬病毒,對數據庫造成威脅;無災備機制,需自行解決安全防護問題;缺少專業團隊為數據庫提供安全保障。
1.2、解決方案
數據庫上云!
數據庫上云!
數據庫上云!
核心優點
彈性伸縮,部署靈活
彈性伸縮:云數據庫即開即用,可彈性伸縮,規格可升可降,讓企業靈活掌握資源投入;
按需付費:資源按需付費,隨業務需求快速擴容,靈活部署,幫助客戶從容應對業務量增長帶來的資源緊張、響應速度慢等問題。
智能運維,降本增效
智能運維:相對客戶原有自建數據庫,云數據庫在備份、添加只讀、監控告警等更加方便;
降低運維成本:讓DBA有時間專注應用優化等更有價值業務,降低DBA運維成本。同時,華為云具備專業的數據中心運維團隊,讓企業專注發展業務;
減輕企業負擔:企業無需耗費長時間搭建IDC,無需高昂的一次性投入,無需擔心設備折舊問題。
災備完善,安全可靠
完善的災備機制華為云數據庫具備主備、兩地三中心災備、回收站、安全組等機制設計,大大提高數據庫的安全性與可靠性;
嚴守數據中立:華為云不用技術手段非法獲取客戶數據,不對客戶數據進行商業變現;
專注基礎設施:華為云專注打造云基礎設施服務,助力企業數據庫上云,自主掌握核心數據;
數據中心穩定:T4級別機房,最高支持3AZ高可靠,滿足客戶高安全需求,所有數據3副本存儲,跨機房跨區域保存;
安全防護豐富:提供WAF/DDoS等10+安全服務,保障業務安全。
更高可用,更強性能
云數據庫性能更強:與自建單機數據庫相比,主備、分布式架構的云數據庫性能更加強大,滿足大數據量需求。
下面以華為云的幾款不同的數據庫產品為例,分享下從零到壹數據庫上云。
二、MySQL上云
云數據庫RDS for MySQL是一種關系型數據庫管理系統,RDS for MySQL性能卓越,搭配LAMP,成為WEB開發的高效解決方案。
2.1、優點
超高性能,極致體驗
優質硬件:華為經過多年的研究、創新和開發的服務器硬件,穩定、高性能。
SQL優化:提供慢SQL檢測,并給出對應的優化建議。
高速訪問:搭配同一地域的彈性云服務器,通過內網通信,縮短應用響應時間,并節省公網流量費用。
更低成本,更多服務
使用華為云數據庫RDS for MySQL,只需支付RDS for MySQL實例費用,無需購買和安裝任何軟硬件,簡化運維操作。與之相比,使用自建數據庫則需要付出服務器、系統、數據庫等軟硬件費用+機房托管費用+運維操作成本。
全系列高安全認證,數據庫安全無憂
訪問控制:入站、出站規則進行限制,控制可以連接數據庫的網絡范圍。
安全防護:處于多層防火墻的保護之下,可以有力地抗擊各種惡意攻擊,保證數據安全。
數據加密:通過TLS加密、SSL加密實現傳輸加密。通過靜態加密、表空間加密對數據進行加密。
操作審計:云審計服務,記錄與云數據庫RDS實例相關的操作事件。
多種部署及容災方案,滿足多種可用性需求
雙機熱備:云數據庫RDS服務采用熱備架構,故障秒級自動切換。
異地容災:可以在異地區域使用備份文件在異地恢復到新的RDS實例,用來恢復業務。
同城容災:支持多可用區部署,可用區之間內網互通,不同可用區之間電力、網絡物理隔離。
強大擴展能力,滿足不同階段業務需求
豐富的產品規格:提供單機、主備、只讀實例,一鍵單機轉主備。
彈性擴容:支持增刪只讀實例,及時應對業務暴漲/回落情況。
多種配置:通用型(通過資源復用換取CPU使用率最大化,性價比較高)、獨享型(完全獨享CPU和內存,性能長期穩定)。
豐富的運維工具,助力聚焦核心業務
備份恢復:支持按備份集和指定時間點的恢復,732天自動備份恢復,數據不丟失。
智能運維:全方位對數據庫進行智能監控與診斷優化。
監控報警:自定義監控目標與通知策略,及時了解云數據庫RDS for MySQL服務運行狀況。
差異化優勢
性價比:優異產品性能,確保領先或持平業界,且價格上更具競爭力;
可為單機實例添加只讀實例,可以滿足非核心業務的多讀需求;
支持秒級監控,包括1秒監控和5秒監控,用于提高監控指標的瞬時精確值;
支持查看參數模板所應用到實例的記錄。
2.2、適用場景
針對電商客戶
云數據庫RDS for MySQL為電商和移動商務應用提供可靠、經濟、高效的數據存儲,使應用在網絡上快速安全運行;
服務價值
RDS for MySQL可幫助客戶有效管理用戶、充值支付、賬單等關鍵數據,快速進行規格變更應對流量洪峰;
針對游戲客戶
云數據庫RDS for MySQL憑借其高可靠、高性能等特性,能幫助客戶輕松部署移動在線游戲服務;
服務價值
RDS for MySQL可幫助客戶有效管理用戶、充值、支付、賬單、購物車等數據;
針對物聯網IoT客戶
規模和可靠性至關重要,需要云數據庫提供快速的響應時間來支持大量的連接;
服務價值
云數據庫RDS for MySQL提供了高吞吐量和高并發性,可以通過快速的響應來支持大量的連接;
針對電子政務客戶
電子政務面臨服務數十億人次的潛在規模的挑戰,需要高性能,高吞吐量和高可用的云服務。
服務價值
高性能、高吞吐量、高可用的云數據庫RDS for MySQL可幫助客戶輕松應對潛在用戶規模的挑戰。
2.3、購買體驗
先注冊登錄華為云帳號。
登錄管理控制臺并單擊“購買數據庫實例”。
按需購買哈
本次虛竹哥為了學習,買了單機版,4核8g,建議連接數是2500的。
注:企業的生產數據庫,要用 主備 的實例類型(一主一備的經典高可用架構)。
設置網絡:
設置root賬號的密碼
最后一步,買買買。
2.4、連接體驗
綁定彈性公網IP
選擇買的實例,單擊實例名稱,進入實例的“基本信息”頁面。
選擇彈性公網IP,單擊“是”,提交綁定任務。
這樣就綁定成功了。
設置安全組規則
選擇買的實例,單擊實例名稱,進入實例的“基本信息”頁面。
左側導航欄,單擊“連接管理”,在“安全組規則”模塊“當前安全組”處,單擊安全組名稱,進入安全組頁面。
可添加入方向規則和出方向規則。
通過公網連接RDS for MySQL實例
使用客戶端navicat
密碼是購買時,設置的密碼。
測試連接。
接下來連接上的操作與本地操作一樣。
三、Redis上云
云數據庫GaussDB(for Redis)作為華為云旗下企業級Redis,致力于為企業客戶提供穩定可靠、超高并發,且能夠極速彈性擴容的核心數據存儲服務。GaussDB(for Redis)采用云原生分布式架構,完全兼容Redis協議,支持豐富的數據類型,提供數據實時持久化、多副本強一致保障,以及實時監控、彈性伸縮、自動備份等一站式服務。
3.1、優點
高可用
某個節點發生故障,可以在秒級內完成接管,即使N-1節點同時發生故障,只要還有1個實例可用,業務依然可以正常運行,最大程度減少對業務的影響;
高吞吐
多節點可以同時寫入,且采用多線程架構,吞吐輕松翻倍,QPS可水平擴展,有效扛住流量高峰;
強一致
通過GaussDB基礎組件服務實現數據三副本冗余,確保0丟失,同時滿足多點訪問強一致性要求,業務設計更輕松;
大容量
采用計算、存儲分離架構,全面支持大數據量場景,產品定位突破“緩存”局限,能幫業務長期承載更多重要數據;
秒擴容
以1GB粒度隨時按需調整,秒級生效。GaussDB基礎組件服務實現了存儲平滑伸縮,業務0感知;
降成本
相比純內存架構,硬件成本降低75%~90%,容量幾乎全部可用,并且可按1GB細粒度購買,不會買多浪費。
差異化優勢
? 高可靠——數據0丟失,強一致,性能穩定
? 低成本——價格節省75%,容量更大
? 彈性伸縮——平滑擴容,秒級體驗
? 安全運維——專業云服務,一站式運維
? 單節點支持最大1TB,可對數據做持久化存儲,保證數據強一致存儲
? 通過安全組限制源端IP對實例的訪問權限,可以細化到端口
? 可通過控制臺對訪問賬號的權限進行設置和管理
? 客戶可以在控制臺自定義設置備份文件留存時間,最長保留周期為35天,滿足金融客戶監管需求
? 客戶可以在控制臺實現實例重啟,修改某些運行參數
3.2、適用場景
針對電商客戶
在大促活動期間會出現大量并發訪問,而商品搜索又存在熱門商品和冷門商品并存的狀況,同時對數據一致性有較高要求;
服務價值
使用GaussDB(for Redis)作為前端緩存(需要配置大內存),可緩解后端數據庫壓力,平穩渡過業務高峰;同時,將熱門商品信息作為熱數據駐留在內存中,冷門商品信息置換到共享存儲池中,可進一步降低數據庫壓力;此外,強一致counter讓秒殺活動不再“雪崩”,庫存扣減不再擔心“超賣”,還可以用sorted set幫助構建spam機制,用geo實現物流跟蹤;
針對游戲客戶
存在一些對時延非常敏感的場景,如跨服對戰,同時需要打造敏捷迭代、功能完備的游戲系統;
服務價值
GaussDB(for Redis)提供豐富的數據類型,幫助客戶構建自己的游戲系統。如用sorted set搭建實時排行榜、用pub/sub實現即時聊天室;部署動態服用于更新玩家發布的“朋友圈”,部署賬號服用于保存基本用戶信息,部署好友服用于持久化存儲海量、復雜的玩家關系網。此外,使用GaussDB(for Redis)作為前端緩存(需要配置大內存),可加快應用訪問速度,幫助降低時延;
針對物聯網IoT客戶
需要高可靠、高可用、高性能的數據庫,保障業務穩定發展,防止出現阻塞問題。
服務價值
例如多城市車輛充電平臺,往往需要管理分布在極大范圍的端點設備,為了讓更多終端輕松互聯、安全管理,可以借助GaussDB(for Redis)構建高并發的任務調度系統、端設備監控以及更多邊緣計算能力。
3.3、購買體驗
先注冊登錄華為云帳號。
登錄管理控制臺并選擇云數據庫GaussDB(for Redis)。
按需購買哈,這里虛竹哥選購的是2核24GB的
選擇網絡:
設置密碼:
最后一步,買買買。
3.4、連接體驗
獲取Redis客戶端:
解壓客戶端工具包:
連接實例:
出現如下信息,說明連接成功:
四、InfluxDB上云
GaussDB(for Influx) 是一款采用計算存儲分離架構,兼容InfluxDB生態的云原生時序數據庫。提供高性能讀寫、高壓縮率、冷熱分層存儲以及彈性擴容、監控告警等服務能力。適用于運維、物聯網、工業生產等監控應用場景。
4.1、優點
極致性能
億級時間線數據管理,輕松支撐每天萬億記錄寫入,聚合查詢性能卓越。
海量數據分析
支持多維條件組合查詢,更有聚合分析、時序洞察特性,提供全場景支持。
低成本存儲
列式存儲,自適應壓縮算法,自動冷熱分級存儲,存儲成本低。
極致彈性
計算和存儲可以獨立按需擴容,無需遷移數據,急速完成數據庫集群擴縮容。
4.2、適用場景
針對物聯網IoT客戶
IoT傳感器時序數據分析,助力萬物互聯。
服務價值
? 超強寫入:小批量寫入場景性能為開源版本InfluxDB的4.5倍,大批量寫入場景性能為開源版本InfluxDB的3.3倍
? 多維度分析:支持多維條件組合查詢,對海量數據分析得心應手
? 彈性擴展:基于計算存儲分離的分布式架構,分鐘級計算節點擴容,應對業務高峰期
針對應用運維監控
統一應用運維實時監控,全局把控系統運行狀態。
服務價值
? 海量數據支持:支持每天萬億條監控指標寫入,寫入性能線性擴展
? 異常檢測:支持多種時序異常類型的檢測告警,異??梢暬庇^展示,方便運維人員識別異常,告警策略設置簡單,無需機器學習知識背景
? 智能預測:采用多維時序預測算法,利用多指標間關聯關系提高預測準確度,相比傳統預測算法準確度更高
4.3、購買體驗
先注冊登錄華為云帳號。
登錄管理控制臺并選擇GaussDB(for Influx)。
按需購買哈,虛竹哥選購的是4核16的。
網絡設置和密碼設置:
最后一步,買買買。
4.4、連接體驗
通過Java語言連接實例:
pom.xml依賴添加:
使用SSL方式連接實例的Java代碼示例:
使用非SSL方式連接實例的Java代碼示例:
使用連接池方式連接實例的Java代碼示例:
#FormatImgID_35#
五、文檔數據庫上云
華為云文檔數據庫服務(document Database Service,簡稱DDS)完全兼容MongoDB協議,提供安全、高可用、高可靠、彈性伸縮和易用的數據庫服務,支持分片集群(Sharding)、副本集(ReplicaSet)和單節點三種部署架構,同時提供一鍵部署、彈性擴容、容災、備份、恢復、監控和告警等功能。
5.1、優點
實例類型靈活多樣
文檔數據庫服務DDS支持集群實例、副本集實例、單節點實例等多種實例類型,能夠滿足不同業務場景需求;
彈性伸縮靈活配置
文檔數據庫服務DDS提供了變更實例存儲空間、節點數量、CPU和內存規格的功能,客戶可以根據業務需要靈活配置所需資源;
靈活管理可視可控
管理控制臺提供全面的監控信息,簡單易用,靈活管理,可視可控;
多層數據安全保障
通過虛擬私有云、子網、安全組、存儲加密、DDoS防護以及SSL安全訪問等多層安全防護體系,有力抗擊各種惡意攻擊,保障數據安全;提供審計日志功能,記錄客戶對數據庫或集合執行的操作,幫助客戶對數據庫進行安全審計、故障根因分析等操作;支持細粒度權限,實現精細的權限管理;
豐富工具簡化運維
在備份和恢復方面,支持全量備份、增量備份,副本集支持任意時間點備份恢復,備份數據最多可保存732天;在監控報警方面,可實時監控實例運行的指標,用戶可自定義監控目標與通知策略,及時了解數據庫服務的運行情況。
差異化優勢
1、支持單節點部署,解決無高可用需求的測試場景,節省資源成本;
2、支持用戶設置跨區域備份策略,包含開啟/關閉,備份區域,以及備份保留時長;
3、實例支持可用區遷移:解決用戶AZ級別的容災問題;
4、提供錯誤日志展示和下載功能;
5、支持租戶使用自己在KMS服務上上傳的密鑰對DDS數據進行靜態加密,提高數據安全性,部分金融、外企有加密需求,并且是上云必備門檻;
6、只讀復制延遲:客戶可以在控制臺設置只讀節點的復制延遲時間,在緊急情況下(誤刪數據)通過延遲的只讀節點快速找回數據。
5.2、適用場景
針對大型企業和互聯網客戶
往往需要應對TB級數據,有較強的數據存儲需求。且大數據場景下,還需要滿足業務在線數據實時寫入數據庫、大數據計算分析、分析結果反饋等實時查詢、動態分析的需求。
服務價值
DDS的副本集模式采用三節點Replica Set的高可用架構,三個數據節點組成一個反親和組,部署在不同的物理服務器上,自動同步數據。Primary節點和Secondary節點提供服務,兩個節點分別擁有獨立內網地址,配合Driver實現讀取壓力分配。不僅可以滿足大型企業和互聯網行業客戶對海量數據存儲的需求,還能解決數據分析場景需求。
針對游戲客戶
在游戲應用中,游戲玩家活躍高峰期,對并發能力要求較高,同時隨著業務發展,在游戲玩法變化時可能還需要變更表結構,運維難度和工作量較大;
服務價值
可以將一些用戶信息,如用戶裝備、用戶積分等存儲在DDS數據庫中,使用DDS的集群類型,應對高并發場景;DDS副本集和集群架構的高可用特性,能夠滿足游戲在高并發場景下持續穩定運行的需求;另外,DDS兼容MongoDB,具有No-Schema的方式,能免去客戶在游戲玩法變化中需要變更表結構的痛苦,非常適用于靈活多變的游戲業務需求;客戶可以將模式固定的結構化數據存儲在云數據庫RDS中,模式靈活的業務存儲在DDS中,高熱數據存儲在GaussDB(for Redis)里,實現對業務數據高效存取,降低存儲數據的投入成本;
針對物聯網IoT客戶
IoT智能終端往往需要進行多樣化的數據采集,且需要存儲設備日志信息,并對這些信息進行多維度分析。同時,IoT業務增長快、數據量大、訪問量增長迅速,數據存儲需要具備水平擴展能力;
服務價值
DDS兼容MongoDB,具有高性能和異步數據寫入功能,特定場景下可達到內存數據庫的處理能力。同時,DDS中的集群實例,可動態擴容和增加mongos和shard組件的性能規格和個數,性能及存儲空間可實現快速擴展,非常適合IoT的高并發寫入的場景;
5.3、購買體驗
先注冊登錄華為云帳號。
登錄管理控制臺并選擇DDS。
按需購買哈,虛竹哥選購的是,副本集,4核8G的。
網絡設置:
最后一步,買買買。
5.4、連接體驗
Java示例(無證書連接):
通過Java連接集群實例時,代碼中的Java鏈接格式如下:
參數說明:
總結
本文分享的內容比較多,從游戲、電商、社交等泛互聯網行業的現狀和痛點進行分析,主要涉及的問題是:業務上線速度慢、無法彈性擴縮容、運維人力成本高和安全防護問題多。虛竹哥建議解決方案是:數據庫上云!
數據庫上云的核心優點主要有4個方面:
? 彈性伸縮,部署靈活
? 智能運維,降本增效
? 災備完善,安全可靠
? 更高可用,更強性能
通過本文的學習,可以對數據庫上云有一定的了解和實操經驗。
除了理論方面的分享,文中還介紹了多個不同數據庫類型的上云實踐分享。主要數據庫有:云數據庫RDS for MySQL,云數據庫GaussDB(for Redis),GaussDB(for Influx) 和華為云文檔數據庫服務(document Database Service,簡稱DDS)。從優點到適用場景,到購買體驗和連接體驗詳細介紹一番。
通過本文的學習,可以對數據庫上云有一定的了解和實操經驗。目前正值華為云618營銷季,云數據庫新用戶首單0.8折起,RDS for MySQL單機版 4核8G3個月僅需96元、GaussDB(for Redis)114.8元/年、GaussDB(for Influx) 265.28元/年,更有新用戶文檔數據庫服務DDS首月免費用等超值福利,讓數據庫輕松上云!有需要的朋友盡快去華為云官網看看吧。
(華為云618營銷季,讓數據庫輕松上云)
哈哈,我是虛竹哥,我們下文見~【作者:小虛竹】