衡阳派盒市场营销有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>數值算法/人工智能>

結合實踐對水平分庫做一個系統地剖析

大小:0.5 MB 人氣: 2017-10-11 需要積分:1
 隨著大型互聯網應用的發展,海量數據的存儲和訪問成為系統設計的瓶頸,分布式處理成為不二選擇。數據庫拆分,特別是水平分庫是個高難度的活,涉及一系列技術決策。
  本人有幸負責1號店訂單水平分庫的方案設計及實施落地,這里結合項目實踐,對水平分庫做一個系統地剖析,希望為大家水平分庫(包括去IOE)改造提供思路,主要內容包括:
  水平分庫說明分庫維度– 根據哪個字段分庫分庫策略– 記錄如何分配到不同庫分庫數量– 初始庫數量及庫數量如何增長 路由透明– 如何實現庫路由,支持應用透明分頁處理– 跨多個庫的分頁case如何處理Lookup映射—非分庫字段映射到分庫字段,實現單庫訪問整體架構– 分庫的整體技術架構 上線步驟– 分庫改造實施上線項目總結
  水平分庫說明
  數據庫拆分有兩種:
  1)垂直分庫
  數據庫里的表太多,拿出部分到新的庫里,一般是根據業務劃分表,關系密切的表放同一數據庫,應用修改數據庫連接即可,比較簡單。
  2)水平分庫
  某張表太大,單個數據庫存儲不下或訪問性能有壓力,把一張表拆成多張,每張表存放部分記錄,保存在不同的數據庫里,水平分庫需要對系統做大的改造。
  結合實踐對水平分庫做一個系統地剖析
  1號店核心的訂單表存儲在Oracle數據庫,記錄有上億條,字段有上百個,訪問的模式也是復雜多樣,隨著業務快速增長,無論存儲空間或訪問性能都面臨巨大挑戰,特別在大促時,訂單庫已成為系統瓶頸。
  通常有兩種解決辦法:
  1)Scale up,升級Oracle數據庫所在的物理機,提升內存/存儲/IO性能,但這種升級費用昂貴,并且只能滿足短期需要。
  2)Scale out,把訂單庫拆分為多個庫,分散到多臺機器進行存儲和訪問,這種做法支持水平擴展,可以滿足長遠需要。
  1號店采取后一種做法,它的訂單庫主要包括訂單主表/訂單明細表(記錄商品明細)/訂單擴展表,水平分庫即把這3張表的記錄分到多個數據庫中,訂單水平分庫效果如下圖所示:
  結合實踐對水平分庫做一個系統地剖析
  原來一個Oracle庫被多個MySQL庫取代,支持1主多備和讀寫分離,主備之間通過MySQL自帶的數據同步機制(SLA《1秒),所有應用通過訂單服務訪問訂單數據。
  分庫維度
  水平分庫首先要考慮根據哪個字段作為分庫維度,選擇標準是盡量避免應用代碼和SQL性能受影響,這就要求當前SQL在分庫后,訪問盡量落在單個庫里,否則單庫訪問變成多庫掃描,讀寫性能和應用邏輯都會受較大影響,。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

結合實踐對水平分庫做一個系統地剖析下載

相關電子資料下載

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      百家乐台布21点| 线上百家乐官网的玩法技巧和规则| 百家乐电投网站| 网上现金百家乐| 百家乐光纤洗牌机如何做弊| 真百家乐官网游戏| 大富豪国际娱乐城| 百家乐制胜绝招| 网络百家乐官网公式打法| 女神国际娱乐城| 网上百家乐群的微博| 百家乐代理商博彩e族| 百家乐官网投注技巧| 大玩家娱乐城| 免费百家乐计划软件| 百家乐电话投注多少| 八卦罗盘24山图| 百家乐视频网络游戏| 赌博网站| 博九网百家乐官网现金网| 大发888分析| 立即博百家乐的玩法技巧和规则 | 故城县| 百家乐园云鼎赌场娱乐网规则| 百家乐官网投注开户| 皇冠现金投注网| 怎样赢百家乐的玩法技巧和规则| 百家乐怎么玩了| 百家乐官网桌| 百家乐官网黑牌靴| 荣昌县| 金宝博网址| 三易博娱乐城| 大发888娱乐场下载地址| 鑫鼎百家乐娱乐城| 福布斯百家乐的玩法技巧和规则| 百家乐官网平注资讯| 百家乐官网那个娱乐城信誉好| 百家乐官网群的微博| 四方百家乐官网的玩法技巧和规则| 澳门顶级赌场手机在线登陆|