国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql數據庫應付大流量網站的的3種架構擴展方式介紹

2024-07-24 12:47:05
字體:
來源:轉載
供稿:網友

數據庫擴展大概分為以下幾個步驟:

1、讀寫分離:當數據庫訪問量還不是很大的時候,我們可以適當增加服務器,數據庫主從復制的方式將讀寫分離;

2、垂直分區:當寫入操作一旦增加的時候,那么主從數據庫將花更多的時間的放在數據同步上,這個時候服務器也是不堪重負的;那么就有了數據的垂直分區,數據的垂直分區思路是將寫入操作比較頻繁的數據表,如用戶表_user,或者訂單表_orders,那么我們就可以把這個兩個表分離出來,放在不同的服務器,如果這兩個表和其他表存在聯表查詢,那么就只能把原來的sql語句給拆分了,先查詢一個表,在查詢另一個,雖然說這個會消耗更過性能,但比起那種大量數據同步,負擔還是減輕了不少;

3、水平分區:但是往往事情不盡人意,可能采取垂直分區能撐一段時間,由于網站太火了,訪問量又每日100w,一下子蹦到了1000w,這個時候可以采取數據的進行分離,我們可以根據user的Id不同進行分配,如采取%2的形式,或者%10的形式,當然這種形式對以后的擴展有了很大的限制,當我由10個分區增加到20個的時候,所有的數據都得重新分區,那么將是一個的很龐大的計算量;以下提供幾種常見的算法:
  哈希算法:就是采用user_id%的方式;
  范圍:可以根據user_id字符值范圍分區,如1-1000為一區,1001-2000則是另一個區等;
  映射關系:就是將user_id存在的所對應的分區放在數據庫中保存,當用戶操作時先去查詢所在分區,再進行操作;

對于以上幾種擴展方式,讀寫分離主要是操作上的擴展,垂直分區主要是對寫入較頻繁數據表的分離,水平分區主要是數據分離;

您可能感興趣的文章:

Nginx反向代理+DNS輪詢+IIS7.5 千萬PV 百萬IP 雙線 網站架構案例搭建一個大型網站架構的實驗環境(Squid緩存服務器篇)大型網站架構演變和知識體系說說大型高并發高負載網站的系統架構大型網站高并發解決方案分析之圖片服務器分離架構
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大余县| 宜宾市| 黑河市| 措勤县| 于田县| 长汀县| 襄城县| 尉犁县| 普洱| 察哈| 新和县| 彭州市| 金坛市| 定日县| 织金县| 泗洪县| 德钦县| 麻江县| 梓潼县| 新营市| 正宁县| 长丰县| 长乐市| 东安县| 庆城县| 岳池县| 潍坊市| 清苑县| 壶关县| 奉新县| 长岭县| 施甸县| 铁岭市| 宜君县| 崇文区| 苍山县| 松滋市| 平江县| 古田县| 延边| 沂源县|