淘寶在線交易數據演變.ppt_第1頁
淘寶在線交易數據演變.ppt_第2頁
淘寶在線交易數據演變.ppt_第3頁
淘寶在線交易數據演變.ppt_第4頁
淘寶在線交易數據演變.ppt_第5頁
已閱讀5頁,還剩52頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

淘寶在線交易數據演變,胡嘉川(牧勞) 2012-04-21,一次淘寶購物之旅 交易業務和系統結構介紹 20032008從Mysql到小型機Oracle 2009年交易庫拆分為買家庫和賣家庫 2010年交易賣家庫的優化和買家庫一拆二 2011年交易賣家庫從Oracle到Mysql,磁盤SSD 2011年交易買家庫去小型機和Oracle,磁盤 FusionIO,主要內容,一次淘寶購物之旅,一次淘寶購物之旅,第一步:找到想買的寶貝,一次淘寶購物之旅,第二步:查看寶貝詳情,一次淘寶購物之旅,第三步:把想買的寶貝加入購物車,一次淘寶購物之旅,第四步:結算訂單,一次淘寶購物之旅,第五步:付款,一次淘寶購物之旅,第六步:查看購買的寶貝,交易業務和系統結構介紹,淘寶交易數據庫的組成結構,買家庫1,買家庫2,買家庫3,買家庫32,Mysql + FusionIO,賣家庫1,賣家庫2,賣家庫3,賣家庫16,Mysql + SSD,Hbase集群,交易數據庫,歷史庫,買家庫的業務結構,買家數據庫,賣家庫的業務結構,賣家數據庫,淘寶交易流程介紹,COD交易,卡易售,自動發貨,分銷交易,酒店交易,機票交易,普通寶貝,直沖交易,商超交易,商城家裝,淘寶交易角色介紹,買家,賣家,下單,付款,確認收貨,交易查詢,發貨,修改價格,交易查詢,淘寶交易數據庫的系統結構,消息中間件,交易復制系統,交易服務系統,買家庫,賣家庫,寫,讀,20032008從MYSQL到Oracle,2003年的數據庫體系,2003年到2008年數據庫的演變,Oracle,小型機,Mysql,商品,用戶,交易,業務發展,垂直拆分,2008年交易日均達到200萬訂單,2009年交易庫拆分為買家庫和賣家庫,2009年交易庫概況,交易主庫,TOP導訂單,2009年日均交易達到600萬訂單,把賣家查詢分離出去,已賣出,Detail頁,如何拆分賣家庫(2009年7月),買家,賣家,買家庫,賣家庫,寫交易,已買到,買家單條查詢交易,賣家單條查詢交易和寫交易,按賣家查詢交易,16個Oracle節點,如何遷移和實時復制訂單數據,交易系統,訂單更改發Notify消息,賣家庫,交易復制系統,訂閱交易消息,實時更新賣家庫數據,賣家庫拆分后所承擔的業務結構,賣家庫主庫,賣家庫備1,賣家庫備2,已賣出查詢,Detail頁交易查詢,TOP及其它賣家查詢,賣家庫拆分后的一些故障,HSF服務,前端請求,防止此問題采取的措施-流控,防止此問題采取的措施-監控,2010年交易賣家庫的優化和買家庫一拆二,賣家庫的壓力越來越大,賣家數據庫,賣家庫的優化-查詢Tair化,累計售出Tair化,銷售列表Tair化,賣家提醒Tair化,賣家查詢Tair化原理,Notify,交易系統,Detail,Tair,交易復制系統,獲取累計售出數和銷售列表,Tair里沒數據,到TP取,業務變更,實時更新Tair,買家庫拆分方案準備-選型,一拆二,一拆多,Oracle,Oracle,小型機+EMC,PC+EMC,Oracle,Oracle,買家拆分方案準備-業務模型,已買到查詢,交易流程,買家,單條查詢,買家拆分確定最終方案,一拆二,Comm(交易老主庫),Comm(交易老備庫),Comm備(原IC主),Comm2備(原IC備),交易數據是冗余兩份,不需要遷移數據 不使用TDDL,對DAO層暴露路由,買家拆分準備工作,訂單ID路由,(1) 定位具體庫 (2) 為保持簡單老訂單ID,直接查兩次 (3) 不依賴路由表,2011年賣家庫去O和買家庫去IOE,賣家庫繼續只有一倍余量,賣家查詢的IO瓶頸越來越大,Oracle的授權費用問題,賣家庫的去O選型,KSearch,OceanBase,賣家庫,Mysql + SSD,目標:解決磁盤IO瓶頸,賣家庫去O的詳細步驟,1. 設定4倍容量,4倍性能余量目標,2. 收集接口訪問數據,準備性能測試方案,3. 準備交易增量復制和全量導入,4. Beta賣家查詢,觀察日志,5. 全部切換到Mysql,添加監控,買家庫去IOE前的準備-已買到的Tair化,交易買家庫擴展目標(2011年),交易買家庫Oracle集群只有一倍余量,目標:4倍數據量下,支撐6倍現有系統壓力,交易買家庫去IOE硬件選型-Fusion IO,IOPS性能很高,壽命較長,較SSD成本高,穩定性比SSD好,交易買家庫去IOE硬件選型-SSD,交易買家庫去IOE硬件選型-EMC+PC,Oracle結合很好,不丟數據,有4倍余量,成本過高,擴展性不好,交易買家庫去IOE硬件選型-成本對比,當前買家Oracle主庫成本:2200萬RMB,RAID:504萬RMB,不做RAID:364萬RMB,RAID:294萬RMB,1060萬RMB,交易買家庫去IOE最終硬件選定-FusionIO,穩定性好,性能最好,性價比高,硬件在發展,成本在降低,性能測試結果:MYSQL成為了性能瓶頸,FIO的極限遠未達到 單臺QPS:3.5W * 16 = 56萬 單臺TPS:1.2W * 16 = 19.2萬,交易買家庫去IOE-如何分庫分表,分庫分表目標,保持簡單,考慮 4 倍 數據量,考慮 4 倍 性能,考慮 未來節點擴展,分32邏輯庫, 16臺服務器 1024張表,盡量只對核心表作分庫分表 減少各表事務依賴,把其它業務放到雜表庫,交易買家庫去IOE-新訂單ID路由準備,(1) 定位具體庫 (2) 添加路由Tair,通過Tair拿到具體的買家ID (3) 新訂單ID直接通過ID里的路由信息定位庫和表 (4)老訂單ID會隨著歷史庫遷移,訪問慢慢變少,交易買家庫去IOE-更新丟失如何補償,交易系統,支付寶,買家庫,對賬系統,通過支付寶恢復淘寶交易,交易買家庫去IOE-增量復制和全量導入,交易系統,Notify,買家庫(Oracle),Tradelogs,訂閱交易消息復制,買家庫(Mysql),交易數據寫入,對賬系統,交易買家庫去IOE-如何Beta,交易系統,買家庫(Oracle),寫交易,買家庫(Mysql),已買到和訂單詳情查詢Mysql,交易買家庫去IOE-容災方案,單庫容災切換,Mysql主庫,Mysql備庫,TDDL動態數據源切換(可批量切換),Mysql回切Oracle,Oracle買家庫,Mysql買家庫,程序開關切換,交易買家庫去IOE-停機發布,數據一致性保證,全量對賬,每天增量對賬,停機前一天開啟實時對賬,發布階段,實時對賬保證停前數據一致,停Oracle寫,發新代碼,經驗教訓總結,一些經驗教訓,盡量短事務,利用消息中間件實現最終一致性 更新數據按照固定的順序更新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論