国产毛多水多高潮高清,久热这里只有精品视频6,国内精品久久久久久久久电影网,国产男同志CHINA69,精品999日本久久久影院,人人妻人人澡人人爽人人精品,亚洲中文无码永久免

分布式数据库:如何正确选择分片键?-众购彩票手机APP

分布式数据库:如何正确选择分片键?

2026-01-17 21:01:23投稿人:BOB平臺(tái)APP官方入口(泉州)有限公司圍觀7357163 評(píng)論

分布式數(shù)據(jù)庫(kù):如何正確選擇分片鍵  ?


我們知道分布式數(shù)據(jù)庫(kù)是將數(shù)據(jù)打散到不同節(jié)點(diǎn)上存儲(chǔ)  ,從而提升性能與可靠性。那么今天我們來(lái)看看在分布式數(shù)據(jù)庫(kù)中 ,一個(gè)非常重要的設(shè)計(jì) :正確地把數(shù)據(jù)分片 ,充分發(fā)揮分布式數(shù)據(jù)庫(kù)架構(gòu)的優(yōu)勢(shì)。

選出分片鍵

在對(duì)表中的數(shù)據(jù)進(jìn)行分片時(shí),首先要選出一個(gè)分片鍵(Shard Key),即用戶(hù)可以通過(guò)這個(gè)字段進(jìn)行數(shù)據(jù)的水平拆分 。

對(duì)于我們之前使用的電商業(yè)務(wù)的訂單表orders ,其表結(jié)構(gòu)如下所示:

CREATE TABLE `orders` (  `O_ORDERKEY` int NOT NULL,  `O_CUSTKEY` int NOT NULL,  `O_ORDERSTATUS` char(1) NOT NULL,  `O_TOTALPRICE` decimal(15,2) NOT NULL,  `O_ORDERDATE` date NOT NULL,  `O_ORDERPRIORITY` char(15) NOT NULL,  `O_CLERK` char(15) NOT NULL,  `O_SHIPPRIORITY` int NOT NULL,  `O_COMMENT` varchar(79) NOT NULL,  PRIMARY KEY (`O_ORDERKEY`),  KEY `idx_custkey_orderdate` (`O_CUSTKEY`,`O_ORDERDATE`),  KEY `ORDERS_FK1` (`O_CUSTKEY`),  KEY `idx_custkey_orderdate_totalprice` (`O_CUSTKEY`,`O_ORDERDATE`,`O_TOTALPRICE`),  KEY `idx_orderdate` (`O_ORDERDATE`),  KEY `idx_orderstatus` (`O_ORDERSTATUS`),  CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`O_CUSTKEY`) REFERENCES `customer` (`C_CUSTKEY`)) ENGINE=InnoDB

對(duì)于類(lèi)似淘寶 、京東 、拼多多這樣業(yè)務(wù)體量的應(yīng)用來(lái)說(shuō),單實(shí)例 MySQL 數(shù)據(jù)庫(kù)在性能和存儲(chǔ)容量上肯定無(wú)法滿(mǎn)足“雙 11 、618 ”大促的要求 ,所以要改造成分布式數(shù)據(jù)庫(kù)架構(gòu) 。

而第一步就是要對(duì)表選出一個(gè)分片鍵 ,然后進(jìn)行分布式架構(gòu)的設(shè)計(jì) 。

對(duì)于上面的表orders