国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> 數據庫學習,數據庫基礎 >

數據庫學習,數據庫基礎

36氪企服點評小編
2021-06-22 18:31
761次閱讀

       在商業活動中,數據庫是一個非常重要的環節,它經常成為商業發展的瓶頸。通常有兩種方法實現高性能數據庫:讀寫分離和分庫分表。接下來,小編將介紹數據庫學習,數據庫基礎的相關內容,一起來看看吧。

數據庫學習,數據庫基礎數據庫學習,數據庫基礎

1.數據庫學習

分離讀寫的基本實現:

  • 資料庫伺服器建立主從集群,一個主從集或一個主從集。
  • 主要的數據庫負責讀寫操作,而數據庫只負責讀寫操作。
  • 主要數據庫通過復制將數據同步到各個數據庫,每個服務器存儲相同的數據。
  • 商業服務器向主數據庫發送寫操作,并向數據庫發送大多數讀操作。
  • 此外,我們也聽說過“主備集群”,它通常只用于備份,并不涉及實際的業務。
  • 讀取和寫入分離的基礎是相當簡單的,但是需要關注兩個細小的節點:主從復制延遲和分配機制。

主從復延

       實際應用過程中,我們可能經常遇到這樣的情況:用戶剛剛注冊成功,馬上就可以從數據庫中讀取數據時,常常無法讀取數據;或者用戶剛剛完成訂單,馬上就可以查詢到訂單,發現沒有這個訂單。

       原因在于主從復制需要一個過程,速度可能會較慢,特別是在同步處理大量數據時。

       處理主從復制延遲的一些方式:

  • 在寫入操作之后的讀取操作指定了主要數據庫。這個方法與業務相關聯,對于新加入的程序員來說,這可能是不可能的。
  • 對主數據庫進行二次重新讀取,讀取失敗時進行再次讀取。這一方法與業務并無多大關系,更多的是底層處理,缺點是如果二次讀取過多,將增加主數據庫的壓力。
  • 關鍵性的業務都要求使用主數據庫,而非關鍵業務需要讀取和寫入。

分布機理

  • 通常情況下,讀寫分離的業務實現分為程序代碼封裝和中間件封裝。

節目編碼封裝

  • 程式碼封裝是指從程式碼層面抽象出一層數據存取層,以執行讀寫作業與資料庫伺服器連結管理。我們也許會經常提及到Dao層。

這一模式的特征:

  • 它的實現非常簡單,可以根據業務需要定制。
  • 每種編程語言都要執行,而且不能通用。
  • 在失敗的案例中,如果所有的主從切換發生在需要修改配置和連接的業務之間。

       一般來說,建議使用成熟的開放源碼方案,如MySQL官方之前提供的MySQLProxy,或MySQLRouter,現在官方推薦。其主要功能包括讀寫分離、故障自動切換、負載平衡、連接池等。以上就是數據庫學習,數據庫基礎的相關內容,感謝您的閱讀。

[免責聲明]

文章標題: 數據庫學習,數據庫基礎

文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。

相關文章
最新文章
查看更多
關注 36氪企服點評 公眾號
打開微信掃一掃
為您推送企服點評最新內容
消息通知
咨詢入駐
商務合作