日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

分庫分表介紹:

分庫分表的目的是為了系統(tǒng)高并發(fā)、高可用。分庫和年發(fā)表是兩回事,兩個概念,都是為了防止數(shù)據(jù)庫服務(wù)因為同一時間內(nèi)訪問量過大導(dǎo)致宕機(jī)而設(shè)計的一種應(yīng)對策略。

一、為什么要分庫:

參考:
https://www.cnblogs.com/yanggb/p/11214339.html

一般經(jīng)驗來說,單庫支持的最大并發(fā)量到2000,最好的運行是1000。如果更高的并發(fā)量需求,就需要考慮擴(kuò)容,將一個庫的數(shù)據(jù)拆分到多個庫中,訪問的時候根據(jù)一定條件訪問單庫,緩解單庫的性能壓力。

二、為什么要分表:

分表也是考慮到性能,單表數(shù)據(jù)量太大的時候sql的執(zhí)行性能就降低。分表就是按照一定的策略將單表的數(shù)據(jù)拆分到多表中,查詢也按照一定的策略去查詢,這樣查詢的數(shù)據(jù)范圍就縮小了,比如按照用戶id來分表,通過id確定哪個表,把表的數(shù)據(jù)量控制在一定范圍內(nèi),提升sql語句執(zhí)行性能。

選型介紹:

參考:

https://www.it610.com/article/1281542839301324800.htm

https://blog.csdn.net/xuheng8600/article/details/80336094

一、三個問題:

1.事務(wù)一致性:比如更新10張表,最后一張失敗,怎樣保證事務(wù)

2.字典表問題:字典表維護(hù)一個庫影響效率,多個庫存儲出現(xiàn)事務(wù)一致性、冗余問題

3.分頁查詢問題:如果使用mycat,進(jìn)行分頁的時候會面臨數(shù)據(jù)量大的問題

二、中間件對比:

中間件

說明

備注

Atlas

不能實現(xiàn)分布式分表,所有的子表必須在同一臺DB的同一個database里且所有的子表必須事先建好,Atlas沒有自動建表的功能。

 

Cobar

必須將拆分后的表分別放入不同的庫來實現(xiàn)分布式。

擴(kuò)展性的問題放棄

TDDL

阿里,功能強(qiáng)大,過于復(fù)雜,部分開源。需要評估使用情況,防止過剩。

阿里系

Mycat

國內(nèi)開源,從入門到放

名氣大,已經(jīng)到頭了

heisenberg

百度開源,相對簡單,易于管理。

現(xiàn)在不維護(hù)了

Oceanus

功能強(qiáng)大,開源,簡化開發(fā)和配置成功。但產(chǎn)品還不成熟。

 

vitess

google產(chǎn)品,集群基于ZooKeeper管理,通過RPC方式進(jìn)行數(shù)據(jù)處理,可支撐高流量,它還添加了一個連接池,具有基于行的高速緩存,重寫SQL查詢,更安全

 

OneProxy

中國廠商產(chǎn)品,穩(wěn)定性待確認(rèn)。

 

Sharding-JDBC

當(dāng)當(dāng)最新開源,jdbc層面操作

靠譜

sharding-jdbc這種client層的有點在于不用部署,運維成本就比較低。同時不需要代理層二次轉(zhuǎn)發(fā)請求,性能高。缺點是:遇到升級的話,各個系統(tǒng)都重新升級版本再發(fā)布,因為各個系統(tǒng)都需要耦合sharding-jdbc依賴。
mycat這種proxy方案缺點在于需要部署,因此運維成本增加。但是優(yōu)點是各個項目是解耦的,升級的話就是處理中間件就行。

三、概念介紹:

概念

介紹

總結(jié)

水平拆分

水平拆分的意思,就是把一個表的數(shù)據(jù)拆分到多個庫的多個表里面去。這里面的每個庫的表結(jié)構(gòu)都是一樣的,只不過是表中存放的數(shù)據(jù)不一樣,每個庫表的數(shù)據(jù)匯總起來就是全部數(shù)據(jù)。水平拆分的意義在于將數(shù)據(jù)均勻地存放在各個庫表里,依靠多個庫來杠更高的并發(fā),而且還能借助多個庫的存儲容量來進(jìn)行擴(kuò)容

表結(jié)構(gòu)一樣、擴(kuò)容、高并發(fā)

垂直拆分

垂直拆分的意思,就是把一個有很多字段的表給拆分成多個表或者多個庫上面去,每個庫表的結(jié)構(gòu)都不一樣,每個庫表都包含部分字段。一般來說,會將較少的訪問頻率很高的字段放到一個表里面去,然后將較多的訪問頻率很低的字段放到另外一個表里面去。因為數(shù)據(jù)庫是有緩存的,你訪問頻率高的行字段越少,就可以在緩存里面緩存更多的行,性能也就越好。這個一般在表層面做的較多一些。

拆分字段、利用緩存提升性能

四、兩種方案:

方案

優(yōu)點

缺點

按照range區(qū)分

比較常用的是按照時間劃分,擴(kuò)容簡單,下個月自動寫入庫

熱點數(shù)據(jù)會請求到同一個表,起不到高并發(fā)

按照hash分發(fā)

按照字段hash值均勻分布,平均分配每個庫表的數(shù)據(jù)量和請求壓力

擴(kuò)容麻煩,數(shù)據(jù)遷移需要重新計算hash值并重新分配

分享到:
標(biāo)簽:分庫分表
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定