雲端計算時代,資料庫架構設計有哪些改變?
雲端計算時代,各大廠資料庫架構設計經歷了哪些改變?在SACC大會第二天下午的資料庫架構設計的前世今生(上)專場,來自京東雲、阿里巴巴、58速運、去哪兒網、京東的技術一線專家分享了各自在時代下的資料庫架構設計實踐,遇到過哪些問題?如何解決?如何保證資料庫的高可用和高可靠等等一攬子技術乾貨!
京東雲資料庫技術負責人張成遠:雲時代的資料庫演變之路
資料庫戰國時代,往往每家企業使用的資料庫都不止一種。面對市場上眾多SQL、NoSQL以及NewSQL類資料庫,我們該如何選擇?京東雲張成遠表示,首先要從需求出發,梳理基本生命週期管理需求、執行期生存類需求以及隨著資料量增大之後的高階需求。
雲端計算時代的到來,意味著DBA手工執行的時代已經過去了,DBA可一鍵自動建立,實現分鐘級搭建主/從秒級庫表管理。對於眾多DBA關注的高可用、高可靠主/從秒級庫表管理方案設計,張成遠認為,應該從業務需求出發,瞭解業務可忍受的延遲和資料丟失極限,京東雲目前將資料存於雲端儲存,由於雲端儲存是三副本的,這種方式可以儘可能保證資料不丟。
對於訪問量過大的情況,資料庫是非常脆弱的,DBA可以層層過濾掉從鏈路打到資料庫上的請求。一般DBA採取的方案是讀寫分離或一主多從,張成遠認為,如果對資料質量要求不高,可以採用讀寫分離。否則,不建議使用讀寫分離方案。
58速運CTO沈劍:58速運資料庫降壓最佳化實踐
一個喜歡寫文章的技術人,這是很多人對沈劍的印象。不單單是文筆過硬,沈劍的技術能力也十分強。作為58速運的CTO,沈劍對DBA進行了很多思考:DBA的定位應該是什麼?DBA的職責又是什麼呢?
在很多公司內部,DBA和研發之間的關係都非常微妙。DBA往往是執行研發提交過來的工單,而漸漸淪為了工單執行工具。沈劍表示,業務DBA應該從專業的角度帶給業務價值。從專業的角度,幫助研發做好早期設計;瞭解被執行工單的業務背景,來龍去脈,做好把關;結合業務進行最佳化,給出最佳化建議。
隨著近些年業務體量的增大,很多資料庫都面臨著最佳化問題。DBA應該學會找主要矛盾,針對性最佳化。效能最佳化方面,MySQL分析工具還是很多的,比如可用於分析慢查詢的pt-query-digest;調優過程中可以把慢SQL時間設為0,從slowlog中獲取所有SQL的相關資訊,對效能的影響在10%以內;同時,DBA可以獲取總體分析結果,分組排序的分析結果,單Query ID的分析結果。
京東商城中介軟體技術部負責人丁俊:京東分散式KEY-VALUE儲存設計與挑戰
目前,很多企業在資料庫架構設計上還面臨著諸多挑戰,比如故障檢測與恢復、線上擴容、高可用、升級等,丁俊對這些問題逐一進行了解答。
在故障檢測與恢復方面,京東目前的解決方案是非持久化儲存—JIMDB和持久化儲存— FBASE。JIMDB相容REDIS協議,線上彈性伸縮的,資料全部儲存在記憶體的K-V儲存系統;FBASE支援多協議,支援範圍查詢的持久化K-V儲存系統。JIMDB讀寫效能要求高,效能要求優先於資料可靠性;FBASE對資料可靠性要求高,資料量大,資料冷熱分佈明顯。
線上擴容上面,要想平滑擴容,丁俊提出需要提前把將要變更的拓撲資訊下發給客戶端,客戶端捕捉到特定異常後使用臨時拓撲,擴容完成後臨時拓撲變更為正式拓撲。擴容過程中,需要注意資料遷移最小單位為槽,單shard需要控制大小,避免遷移資料多時間長。
高可用方面,依然是異地災備的方式,主要涉及一些副本的部署要求。升級方面,主要步驟為中的資料要做遷移;按照shard滾動升級;新版本的容器建立在同一臺宿主機上;遷移完成後客戶端捕捉到資料已遷移的異常,會使用新的拓撲。
除了京東分散式KEY-VALUE儲存的具體設計和問題,丁俊也給出了對未來的功能規劃,比如支援redis資料結構,支援二級索引以及事務等。
去哪兒網資料庫架構師黃勇:Qunar網資料庫架構的發展
去哪兒網資料庫架構設計的前半生基本上可以總結為:解決問題——遇到問題——解決問題——遇到問題.......黃勇表示,早期的去哪兒網資料庫也是“小作坊模式”,從單機房內的MySQL逐漸演變為現在的跨機房QMHA架構,同時可保證安全性和高可用。這一路,去哪兒網試用了不少架構體系設計模式,遇到問題就解決問題,對架構不斷進行調整。
自2015年以來,去哪兒網一直在應用QMHA架構,QMHA架構主要有四大技術特點:GTID,GTID易於維護和切換,主從節點間可知資料差異;Sentineld,分散式哨兵,減少誤切換和網路分割槽,raft演算法,自動切換;Semi-Sync,提高資料節點一致性的同時提高叢集安全性和可用性,多執行緒複製,且可以跨機房和網段部署;Zookeeper,全域性namespace,通知客戶端更新配置。
目前,去哪兒網的DBA操作平臺中的SQL稽核部分使用的自研技術已經開源,廣大DBA可以嘗試搜尋試用。
阿里資料庫架構師呂建樞:阿里巴巴資料庫計算儲存分離架構與實踐
資料庫容器化,當前面臨的問題是什麼?作為淘寶的運營商,阿里巴巴的資料庫架構必須經得起雙十一等大促帶來的挑戰,呂建樞表示,阿里巴巴的資料庫容器化曾經面臨著一些排程問題和成本問題,比如機型配比問題—CPU,記憶體以及儲存之間的選擇,如何應對大促又不至於提高日常運營成本等。
呂建樞表示,阿里主要從計算儲存分離、分散式儲存最佳化、資料庫設計、資料庫離線上混布等幾方面介紹了資料庫容器化設計的每一步以及遇到的問題。當前面的計算儲存分離完成後,離線上混布成為可能;阿里巴巴目前所有的資料庫都已完成容器化,預計今年完成離線上混布(DB隔離策略,時延敏感),未來的資料庫將是純使用者+RDMA+SPDK的結構。
面對雲端計算、海量資料、高流量併發等挑戰,資料庫架構設計需要不斷迭代升級。高併發和高可用似乎是資料庫架構設計一貫的基本要求,這些網際網路大廠遇到的問題是否與你類似?這些解決方案是否開啟了你的腦洞呢?未來的資料庫架構設計又會是什麼樣子呢?
▲更多資訊盡在IT168現場報導專題 http://sacc.it168.com/topic2017/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31077337/viewspace-2153947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【雲端計算】數字化時代,邊緣計算參考架構架構
- 淺談雲端計算時代的資料庫執行資料庫
- 雲端計算時代,資料中心架構三層到大二層的演變架構
- 雲端計算架構架構
- 雲端計算架構設計6大原則遵循了哪些?架構
- 工業4.0時代,雲端計算正在顯著的改變製造業
- 雲資料庫時代:企業資料架構的雲化智慧重構和變革資料庫架構
- 系統架構設計筆記(105)—— 雲端計算架構筆記
- 什麼是雲端計算?雲端計算學習方向有哪些?
- 時代和技術在變,但數控分離的架構設計理念未曾改變架構
- 如何快速入行雲端計算?雲端計算的學習要點有哪些?
- 計算機架構新黃金時代計算機架構
- 雲端計算時代邊緣計算正蓬勃發展
- 雲端計算開發技術,雲端計算改變企業的四種途徑
- 曹老道聊大資料雲端計算時代的DBA破繭大資料
- 架構設計(二):資料庫複製架構資料庫
- 雲端計算要學習哪些內容?2020年雲端計算的發展趨勢有哪些?
- Uber實時資料基礎設施:分散式計算架構分散式架構
- 學習雲端計算有哪些優勢?雲端計算教程學習路線圖
- IT巨頭押注雲端計算,全球雲端計算進入寡頭競爭時代
- 下一代IT架構--家家都是曠工的眾計算(區塊鏈+雲端計算)架構區塊鏈
- 沙龍報名 | 雲端計算進入多元架構,雲原生時代的挑戰與機遇架構
- 雲端計算教程學習入門影片課件:雲端計算安全性有哪些?
- 雲端計算教程學習入門影片課件:雲端計算架構參考模型架構模型
- 雲端計算開發學習教程,雲端計算基礎架構實現講解架構
- 網際網路資料庫架構設計資料庫架構
- 零基礎學習雲端計算怎麼樣?雲端計算有哪些就業方向就業
- 雲端計算教程學習入門影片課件:雲端計算開源軟體有哪些?
- 雲端計算教程學習入門影片課件:商業化雲端計算元件有哪些?元件
- 雲端計算學習大綱,有哪些入門的雲端計算書籍值得閱讀?
- 雲端計算開發的貢獻有哪些?雲端計算開發的功能你想不到
- 雲端計算改變了企業的傳統思考方式
- 2021年將改變雲端計算的三大趨勢
- 雲端計算和開源時代的鎖定
- 雲端計算雲智慧,智慧與雲的結合改變了什麼?
- 初識雲端計算:歷史、服務、架構架構
- 好程式設計師雲端計算教程分享雲服務和雲端計算的區別有那些程式設計師
- 雲端計算智慧化:讓資料庫更聰明資料庫