千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 有人能說(shuō)清分庫(kù)分表、MPP和分布式數(shù)據(jù)庫(kù)的區(qū)別?

有人能說(shuō)清分庫(kù)分表、MPP和分布式數(shù)據(jù)庫(kù)的區(qū)別?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-13 03:30:53 1697139053

一、分庫(kù)分表、MPP和分布式數(shù)據(jù)庫(kù)的區(qū)別

1)分庫(kù)分表做法,主要是因?yàn)樵缙趩螜C(jī)數(shù)據(jù)庫(kù)(主要還是MySQL這種低成本場(chǎng)景)下無(wú)法在一個(gè)庫(kù)一張表來(lái)承載同一業(yè)務(wù)表下所有的數(shù)據(jù),因而將數(shù)據(jù)劃分到不同的物理庫(kù)表中去,從業(yè)務(wù)視角來(lái)形成一個(gè)大的邏輯表。這樣的話能夠充分利用水平拆分能力,來(lái)存儲(chǔ)超大的數(shù)據(jù)集。一般拆分邏輯依賴業(yè)務(wù)給出相關(guān)的字段,配合分表規(guī)則,來(lái)做hash、range的拆分。這種方式一般通過(guò)一些富客戶端來(lái)支持用戶sql,好處很直觀,針對(duì)點(diǎn)查詢效率很高,插入數(shù)據(jù)效率高,但問(wèn)題點(diǎn)很多,也不太好解決,主要在于涉及到不同分庫(kù)的sql操作,比如怎么支持跨庫(kù)表join,怎么支持分布式事務(wù)來(lái)更新,如果sql中不帶分區(qū)鍵導(dǎo)致全邏輯表查詢等等。另外,數(shù)據(jù)量越來(lái)越大時(shí)有熱點(diǎn)問(wèn)題怎么辦,數(shù)據(jù)怎么重分布,宕機(jī)怎么恢復(fù),路由表變更怎么辦,怎么做多個(gè)實(shí)例的服務(wù)發(fā)現(xiàn),怎么做讀寫(xiě)分離,等等。最終就是讓業(yè)務(wù)上做妥協(xié),最終一致性,不支持join,允許局部節(jié)點(diǎn)故障,等等。

2)本質(zhì)上,分庫(kù)分表中間件相當(dāng)于把數(shù)據(jù)庫(kù)解決不了的問(wèn)題推到業(yè)務(wù)側(cè),讓業(yè)務(wù)參與解決或者妥協(xié)。隨著云計(jì)算平臺(tái)分布式數(shù)據(jù)庫(kù)越來(lái)越強(qiáng)大,分庫(kù)分表的技術(shù)會(huì)慢慢的退出歷史舞臺(tái)。簡(jiǎn)單來(lái)說(shuō),分布式數(shù)據(jù)庫(kù)把上面的問(wèn)題盡量的在數(shù)據(jù)系統(tǒng)內(nèi)部解決掉,給客戶的接口非常簡(jiǎn)單,統(tǒng)一的endpoint,標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)協(xié)議,完整的sql支持能力,等等,但內(nèi)部一樣有各種數(shù)據(jù)分區(qū)邏輯。分布式數(shù)據(jù)庫(kù)從廣義上來(lái)說(shuō),就是實(shí)現(xiàn)數(shù)據(jù)庫(kù)語(yǔ)義的分布式架構(gòu)下的系統(tǒng),像云上各種OLTP和OLAP產(chǎn)品,應(yīng)該都可以稱(chēng)之為分布式數(shù)據(jù)庫(kù)。分布式數(shù)據(jù)庫(kù)中最重要的就是數(shù)據(jù)怎么擺放,數(shù)據(jù)在多個(gè)機(jī)器上平均分?jǐn)偝钟幸环輸?shù)據(jù)做sharding,還是多個(gè)節(jié)點(diǎn)相互復(fù)制一份數(shù)據(jù)做主備,還是利用底層共享存儲(chǔ)共享一份完整數(shù)據(jù)集,衍生出不一樣的系統(tǒng)架構(gòu)和能力。

3)mpp數(shù)據(jù)庫(kù)主要區(qū)別于smp數(shù)據(jù)庫(kù)。后者一般是單機(jī)架構(gòu),而單機(jī)能力畢竟有限,在OLAP計(jì)算數(shù)據(jù)量非常大的時(shí)候,單機(jī)數(shù)據(jù)庫(kù)的分析能力非常有限。mpp數(shù)據(jù)庫(kù)構(gòu)建一套分布式計(jì)算集群(mpp數(shù)據(jù)庫(kù)肯定是分布式系統(tǒng),但狹義上應(yīng)該不算那些只考慮數(shù)據(jù)切片的分布式數(shù)據(jù)庫(kù)),增強(qiáng)計(jì)算能力,在計(jì)算中再針對(duì)數(shù)據(jù)集做切片調(diào)度執(zhí)行等,最終希望能實(shí)現(xiàn)計(jì)算力的水平擴(kuò)展。

總結(jié)一下,這些概念本身不是完全無(wú)關(guān)的,相互有關(guān)系。我接觸過(guò)的發(fā)展過(guò)程:

單機(jī)數(shù)據(jù)庫(kù),到主備分布式數(shù)據(jù)庫(kù)(解決高可用和數(shù)據(jù)高可靠),到分庫(kù)分表(sharding解決橫向擴(kuò)展)+主備分布式數(shù)據(jù)庫(kù)(解決部分?jǐn)?shù)據(jù)的可用和數(shù)據(jù)可靠性,全局?jǐn)?shù)據(jù)無(wú)強(qiáng)一致保障),再到主備+內(nèi)部自動(dòng)分區(qū)和復(fù)雜分布式計(jì)算的分布式數(shù)據(jù)庫(kù)(數(shù)據(jù),語(yǔ)義,能力,免運(yùn)維都很強(qiáng)),再到數(shù)據(jù)層共享存儲(chǔ)、計(jì)算層橫向彈性擴(kuò)縮容的分布式數(shù)據(jù)庫(kù)架構(gòu)(能力越來(lái)越強(qiáng),成本、彈性、故障恢復(fù)速度、災(zāi)備等),等等。

無(wú)論上單機(jī)還是分布式數(shù)據(jù)庫(kù),針對(duì)單個(gè)sql,最終只會(huì)在一個(gè)節(jié)點(diǎn)上執(zhí)行完成,而mpp數(shù)據(jù)庫(kù)會(huì)對(duì)這個(gè)sql執(zhí)行計(jì)算任務(wù)分解,靠整個(gè)集群的算力分布式調(diào)度計(jì)算,最后整體完成sql。這個(gè)可能是與分布式數(shù)據(jù)庫(kù)的差異。但分布式數(shù)據(jù)庫(kù)與mpp數(shù)據(jù)庫(kù)不是一個(gè)差異化很大的概念,技術(shù)實(shí)現(xiàn)上也會(huì)有很多重疊的。

延伸閱讀:

二、全文索引

FULLTEXT(全文)索引,僅可用于MyISAM和InnoDB,針對(duì)較大的數(shù)據(jù),生成全文索引非常的消耗時(shí)間和空間。對(duì)于文本的大對(duì)象,或者較大的CHAR類(lèi)型的數(shù)據(jù),如果使用普通索引,那么匹配文本前幾個(gè)字符還是可行的,但是想要匹配文本中間的幾個(gè)單詞,那么就要使用LIKE %word%來(lái)匹配,這樣需要很長(zhǎng)的時(shí)間來(lái)處理,響應(yīng)時(shí)間會(huì)大大增加,這種情況,就可使用時(shí)FULLTEXT索引了,在生成FULLTEXT索引時(shí),會(huì)為文本生成一份單詞的清單,在索引時(shí)及根據(jù)這個(gè)單詞的清單來(lái)索引。FULLTEXT可以在創(chuàng)建表的時(shí)候創(chuàng)建,也可以在需要的時(shí)候用ALTER或者CREATE INDEX來(lái)添加。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
MySQL里的year_month的用法是什么?

一、MySQL里的year_month的用法是什么year_month估計(jì)是自定義函數(shù)吧,系統(tǒng)函數(shù)里沒(méi)有這個(gè)。猜測(cè)你的需求是獲取年和月,參考SELECT DATE_FORMAT(...詳情>>

2023-10-13 04:59:46
Oracle數(shù)據(jù)庫(kù)的實(shí)例是什么?

一、Oracle數(shù)據(jù)庫(kù)的實(shí)例Oracle實(shí)例指的是由Oracle內(nèi)存結(jié)構(gòu)(SGA)和Oracle進(jìn)程組合在一起的統(tǒng)稱(chēng),是一系列復(fù)雜的內(nèi)存結(jié)構(gòu)和操作系統(tǒng)進(jìn)程;在任...詳情>>

2023-10-13 04:34:10
oracle數(shù)據(jù)庫(kù)有什么優(yōu)勢(shì)?

一、oracle數(shù)據(jù)庫(kù)有什么優(yōu)勢(shì)1、Oracle是大型數(shù)據(jù)庫(kù)而Mysql是中小型數(shù)據(jù)庫(kù),Oracle市場(chǎng)占有率達(dá)40%,Mysql只有20%左右,同時(shí)Mysql是開(kāi)源的而Orac...詳情>>

2023-10-13 04:33:00
為什么不用key-value型數(shù)據(jù)庫(kù)實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)?

一、為什么不用key-value型數(shù)據(jù)庫(kù)實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)TiDB / CockroachDB 都是基于 KV 模型做的分布式關(guān)系型數(shù)據(jù)庫(kù)。TiDB 實(shí)際上是構(gòu)建在 TiKV + p...詳情>>

2023-10-13 04:21:53
關(guān)系型數(shù)據(jù)庫(kù)是什么?

一、什么是關(guān)系型數(shù)據(jù)庫(kù)關(guān)系型數(shù)據(jù)庫(kù)是按照關(guān)系模型組織和存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)。它使用表格(表)的形式來(lái)表示和存儲(chǔ)數(shù)據(jù),每個(gè)表代表一個(gè)實(shí)體,而...詳情>>

2023-10-13 04:12:45
快速通道
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲AV综合AV一区二区三区 | 亚洲欧美日韩中文二区 | 秋霞国产日韩91视频 | 美妇喷潮在线视频 | 亚洲精品美日韩免费专区 | 亚洲欧美v国产一区二区 |