本篇內(nèi)容介紹了“分庫分表之后id主鍵如何處理”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)猇亭,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
因?yàn)橐欠殖啥鄠€(gè)表之后,每個(gè)表都是從 1 開始累加,這樣是不對的,我們需要一個(gè)全局唯一的 id 來支持。
生成全局 id 有下面這幾種方式:
UUID:不適合作為主鍵,因?yàn)樘L了,并且無序不可讀,查詢效率低。比較適合用于生成唯一的名字的標(biāo)示比如文件的名字。
數(shù)據(jù)庫自增 id : 兩臺數(shù)據(jù)庫分別設(shè)置不同步長,生成不重復(fù)ID的策略來實(shí)現(xiàn)高可用。這種方式生成的 id 有序,但是需要獨(dú)立部署數(shù)據(jù)庫實(shí)例,成本高,還會有性能瓶頸。
利用 redis 生成 id : 性能比較好,靈活方便,不依賴于數(shù)據(jù)庫。但是,引入了新的組件造成系統(tǒng)更加復(fù)雜,可用性降低,編碼更加復(fù)雜,增加了系統(tǒng)成本。
美團(tuán)的Leaf分布式ID生成系統(tǒng) :Leaf 是美團(tuán)開源的分布式ID生成器,能保證全局唯一性、趨勢遞增、單調(diào)遞增、信息安全,里面也提到了幾種分布式方案的對比,但也需要依賴關(guān)系數(shù)據(jù)庫、Zookeeper等中間件。
“分庫分表之后id主鍵如何處理”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!