百度楊嘉義:SimpleDB高性能在線數據服務系統

SimpleDB NoSQL 大數據 科技 IT168企業級 2017-05-15

2017年5月11日-13日,2017中國數據庫技術大會於北京國際會議中心盛大開幕。作為國內最受關注的數據庫技術大會,本屆大會以“數據驅動·價值發現”為主題,彙集多個領域的百餘位專家,與大家共同打造一場以數據為驅動力,為企業進行價值創造的技術盛會。

在12日下午的NoSQL技術進展專場中,來自百度大數據部的在線數據服務團隊架構師楊嘉義為大家帶來了主題演講《百度在線用戶數據服務系統》。楊嘉義從應用背景、系統架構、主要技術點、應用效果四個方面進行了分享。

百度楊嘉義:SimpleDB高性能在線數據服務系統

第一部分應用背景,楊嘉義從超高併發、超低延遲的在線數據讀寫,多地域數據寫入、數據完整一致、服務高可用,同時需要訪問實時和批量數據,訪問權限控制,有複雜的業務計算邏輯,方便快速迭代的業務需求;從Session、用戶屬性、動態網頁等存儲場景 分佈式cache、id-mapping服務 RTB、實時反作弊等實時輔助決策場景 其他同時需要低延遲、海量數據存儲的在線場景;以及設計目標三個點進行了分享。

第二部分楊嘉義展示了系統架構(如下圖)

百度楊嘉義:SimpleDB高性能在線數據服務系統

楊嘉義分享的第三部分是最重要的也是主要技術點:高性能、高可用、最終一致性、實時批量數據融合、複雜業務計算服務、權限控制。在講到故障處理方案的時候,他說道網絡不穩定時避免集群頻繁調整,時間窗口中消息丟失比例,指定週期的開始才做集群調整,例行升級重啟、bin服務故障:重建索引,恢復數據,索引存在共享內存可加速重啟;DC內節點磁盤故障:數據主從切換,rebalance到其他nodes,同步差異數據DC內及DC間網絡分割:繼續寫網內數據,日誌堆積在本地,恢復後異步批量同步數據。在說到高可用運維實踐,預定義各業務優先級,異常時有所取捨,緊急降級開關,裁剪非關鍵數據,數據緊急恢復採取Real-time first,Latest first 數據線上線下一致性。

說到高可用的異地多活,用於災備恢復,系統持續可用,每個DC都有數據讀寫,多點寫入相互同步,也可單點寫入。任意一個DC故障時,流量可以切到其他臨近DC,挑戰就是延遲幾十ms、數據同步與合併正確性以及一致性;對於數據異步同步,DC內部主從同步: 數據分master/replicas, 故障時可切換 read/write到master,異步同步replicas 跨DC數據同步: chain, active-passive, active-active, star等 選chain, A->B->C, 減少跨地域網絡帶寬。

最後,楊嘉義展示了應用效果,如下圖。

百度楊嘉義:SimpleDB高性能在線數據服務系統

相關推薦

推薦中...