最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【TDSQL】MySQL版了解筆記

2023-11-18 12:44 作者:阿提艾斯  | 我要投稿

簡(jiǎn)介


TDSQL for MySQL是部署在騰訊云上的一種支持自動(dòng)水平拆分、Shared Nothing架構(gòu)的分布式數(shù)據(jù)庫(kù)。

TDSQL MYSQL版,即業(yè)務(wù)獲取的是完整的邏輯庫(kù)表,而后端會(huì)將庫(kù)表均勻的拆分到多個(gè)物理分片節(jié)點(diǎn)。TDSQL MYSQL版默認(rèn)部署主備架構(gòu),提供容災(zāi)、備份、恢復(fù)、監(jiān)控、遷移等全套解決方案,適用于TB或PB級(jí)的海量數(shù)據(jù)庫(kù)場(chǎng)景。

TDSQL MYSQL版目前單分片最大可支持6TB存儲(chǔ)。

數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)的三種模式

Shared Everthing架構(gòu)

針對(duì)單個(gè)主機(jī),完全透明共享CPU、Memory、IO,并行處理能力是最差的。


Shared Disk架構(gòu)

各個(gè)處理單元使用自己的CPU和Memory,但共享磁盤系統(tǒng)。


Shared Nothing架構(gòu)

無(wú)共享架構(gòu),每個(gè)節(jié)點(diǎn)都有屬于自己的分區(qū),都有自己的CPU、內(nèi)存、硬盤,不存在共享資源。每個(gè)節(jié)點(diǎn)都是獨(dú)立的,各自處理各自的數(shù)據(jù),處理后的結(jié)果向上匯總。



水平分表


每個(gè)節(jié)點(diǎn)都參與計(jì)算和數(shù)據(jù)存儲(chǔ),且每個(gè)節(jié)點(diǎn)都僅計(jì)算和存儲(chǔ)一部分?jǐn)?shù)據(jù)。因此,無(wú)論業(yè)務(wù)的規(guī)模如何增長(zhǎng),僅需要在分布式集群中不斷地添加設(shè)備,用新設(shè)備去應(yīng)對(duì)增長(zhǎng)的計(jì)算和存儲(chǔ)需要即可。
分布式數(shù)據(jù)庫(kù)中,根據(jù)在建表時(shí)設(shè)定的分表鍵,系統(tǒng)將根據(jù)不同分表鍵自動(dòng)分布數(shù)據(jù)到不同的物理分片中,但邏輯上仍然是一張完整的表。

正讓我想到之前工作中遇到的一種場(chǎng)景,數(shù)據(jù)太多了,放到一張表里太多了,然后就拆分表,每條數(shù)據(jù)都有一個(gè)字段用來(lái)求hash,hash相同的放入到同一張表中,查詢的時(shí)候,就根據(jù)這個(gè)hash去對(duì)應(yīng)的表里查詢。


數(shù)據(jù)聚合


數(shù)據(jù)被插入到不同的表中了,查詢的時(shí)候就要去各個(gè)表中查詢,查出來(lái)的數(shù)據(jù)會(huì)進(jìn)行合并,將最終結(jié)果返回給用戶。


讀寫分離


讀寫分離的原理是讓主節(jié)點(diǎn)Master處理事務(wù)性增、改、刪操作,讓從節(jié)點(diǎn)處理查詢操作。



讀寫分離


數(shù)據(jù)復(fù)制


異步復(fù)制

應(yīng)用發(fā)起更新請(qǐng)求,主節(jié)點(diǎn)完成相應(yīng)操作后立即響應(yīng)應(yīng)用,主節(jié)點(diǎn)向從節(jié)點(diǎn)異步復(fù)制數(shù)據(jù)。應(yīng)用接收到更新成功,其實(shí)Slave上還沒(méi)有同步完數(shù)據(jù)。

強(qiáng)同步復(fù)制

應(yīng)用發(fā)起更新請(qǐng)求,主節(jié)點(diǎn)完成操作后向從節(jié)點(diǎn)復(fù)制數(shù)據(jù),從節(jié)點(diǎn)接收到數(shù)據(jù)后向主節(jié)點(diǎn)返回成功信息,主節(jié)點(diǎn)接到從節(jié)點(diǎn)的反饋后再應(yīng)答給應(yīng)用。Master向Slave復(fù)制數(shù)據(jù)是同步進(jìn)行的。這個(gè)時(shí)候應(yīng)用收到更新成功,那是真成功了。

半同步復(fù)制

應(yīng)用發(fā)起更新請(qǐng)求,Master在執(zhí)行完更新操作后立即向Slave復(fù)制數(shù)據(jù),Slave接收到數(shù)據(jù)并寫到relay log中(無(wú)需執(zhí)行)后才向Master返回成功信息,Master必須在接收到Slave的成功信息后再向應(yīng)用程序返回響應(yīng)。這個(gè)時(shí)候應(yīng)用接收到更新成功,其實(shí)數(shù)據(jù)還沒(méi)有同步到Slave,需要執(zhí)行relay log,Slave上才有了更新后數(shù)據(jù)。

MySQL的relay log,中繼日志,是MySQL的主從同步復(fù)制過(guò)程中的一種日志,用于記錄Master上的二進(jìn)制日志中的事件,然后傳輸?shù)綇膸?kù)進(jìn)行重放,以實(shí)現(xiàn)從庫(kù)和主庫(kù)數(shù)據(jù)的同步。

當(dāng)Slave連接到Master時(shí),從庫(kù)會(huì)請(qǐng)求主庫(kù)的二進(jìn)制日志中的某個(gè)位置開始讀取二進(jìn)制日志,主庫(kù)會(huì)發(fā)送從該位置開始的二進(jìn)制日志到從庫(kù),并將這些日志寫入到從庫(kù)的relay log中。然后從庫(kù)會(huì)將relay log中的事件按順序執(zhí)行,以保證從庫(kù)中的數(shù)據(jù)和主庫(kù)一致。

當(dāng)從庫(kù)完成一個(gè)relay log文件的所有事件的執(zhí)行后,會(huì)將該文件標(biāo)記為完成,然后請(qǐng)求主庫(kù)的下一個(gè)二進(jìn)制日志文件。同事,MySQL還支持relay log的分發(fā)和平衡,可以將relay log文件分發(fā)到不同的從庫(kù)上,提高主從同步的效率和可靠性。????-- 引用資料【2】




參考資料

【1】TDSQL MYSQL官方文檔

https://cloud.tencent.com/document/product/557

【2】MySQL的Relay Log日志是干什么的?底層原理是什么?

https://developer.aliyun.com/article/1180928

【3】云監(jiān)控背后的技術(shù):Shared-nothing Architecture

https://mp.weixin.qq.com/s/KmPpxDXngWP--3Xs72BQng

【4】數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)的三種模式:share nothing、share everything、share disk

https://www.malaoshi.top/show_1IX4U981uX6K.html


【TDSQL】MySQL版了解筆記的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
泸水县| 博湖县| 镇巴县| 岫岩| 健康| 合作市| 贡山| 东山县| 方正县| 漳平市| 长岛县| 金沙县| 高安市| 射洪县| 东丽区| 松江区| 望奎县| 晋城| 融水| 德昌县| 石河子市| 河南省| 习水县| 徐水县| 乌什县| 普兰店市| 贵南县| 青岛市| 赫章县| 岳阳县| 临高县| 定安县| 渝中区| 赤壁市| 樟树市| 鲁山县| 镇沅| 盖州市| 阳新县| 瑞丽市| 香港 |