日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

陈睿:架构设计之数据库拆分六大原则

發布時間:2024/7/5 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 陈睿:架构设计之数据库拆分六大原则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

架構設計之數據庫拆分原則

數據拆分前其實是要首先做準備工作的,然后才是開始數據拆分,我先講拆分前需要做的事情:

  • 第一步:采用分布式緩存redis、memcached等降低對數據庫的讀操作。
  • 第二步:如果緩存使用過后,數據庫訪問量還是非常大,可以考慮數據庫讀、寫分離原則。
  • 第三步:當我們使用讀寫分離、緩存后,數據庫的壓力還是很大的時候,這就需要使用到數據庫拆分了。
  • 數據庫拆分原則:就是指通過某種特定的條件,按照某個維度,將我們存放在同一個數據庫中的數據分散存放到多個數據庫(主機)上面以達到分散單庫(主機)負載的效果。

    第一步,首選垂直拆分

    一個數據庫由很多表的構成,每個表對應著不同的業務,垂直切分是指按照業務將表進行分類,分布到不同的數據庫上面,這樣也就將數據或者說壓力分擔到不同的庫上面 。

    比如淘寶中期開始的數據庫端按照業務垂直拆分:按照業務交易數據庫、用戶數據庫、商品數據庫、店鋪數據庫等進行拆分。

    優點:

    1. 拆分后業務清晰,拆分規則明確。

    2. 系統之間整合或擴展容易。

    3. 數據維護簡單。

    缺點:

    1. 部分業務表無法join,只能通過接口方式解決,提高了系統復雜度。

    2. 受每種業務不同的限制存在單庫性能瓶頸,不易數據擴展跟性能提高。

    3. 事務處理復雜。

    第二步:其次水平拆分

    水平拆分的典型場景就是大家熟知的分庫分表。

    垂直拆分后遇到單機瓶頸,可以使用水平拆分。相對于垂直拆分的區別是:垂直拆分是把不同的表拆到不同的數據庫中,而水平拆分是把同一個表拆到不同的數據庫中。

    相對于垂直拆分,水平拆分不是將表的數據做分類,而是按照某個字段的某種規則來分散到多個庫之中,每個表中包含一部分數據。簡單來說,我們可以將數據的水平切分理解為是按照數據行的切分,就是將表中 的某些行切分到一個數據庫,而另外的某些行又切分到其他的數據庫中。

    分庫分表需要涉及到對應的SQL路由規則主庫備庫等,例如:淘寶設計了一套TDDL來解決這些問題,應用端只需配置對應的規則即可,對應用端的沒有任何侵入的設計。?

    水平拆分,總之,一般先分庫,如果分庫后查詢仍然慢,于是按照分庫的思想開始做分表的工作數據庫采用分布式數據庫(所有節點的數據加起來才算是整體數據),文件系統采用分布式文件系統任何強大的單一服務器都滿足不了大型系統持續增長的業務需求,數據庫讀寫分離隨著業務的發展最終也將無法滿足需求,需要使用分布式數據庫及分布式文件系統來支撐。

    總結,數據庫拆分原則:


    1.優先考慮緩存降低對數據庫的讀操作。

    2.再考慮讀寫分離,降低數據庫寫操作。

    3.最后開始數據拆分,切分模式: 垂直(縱向)拆分、水平拆分。?

    4.首先考慮按照業務垂直拆分。

    5.再考慮水平拆分:先分庫(設置數據路由規則,把數據分配到不同的庫中)

    6.最后再考慮分表。

    你可能也喜歡:

  • 「優知學院」淘寶技術架構的前世今生(上)
  • 「優知學院」淘寶架構的前世今生(下)
  • 阿里P8架構師談:架構設計經驗匯總
  • 阿里P8架構師談:雙11秒殺系統如何設計?
  • 阿里P8架構師談:分布式架構系統拆分原則、需求、微服務拆分步驟
  • 阿里P8架構師談:分布式架構設計(文章合集)

  • 總結

    以上是生活随笔為你收集整理的陈睿:架构设计之数据库拆分六大原则的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。