欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:分布式 id

柚子快報(bào)邀請(qǐng)碼778899分享:分布式 id

http://yzkb.51969.com/

分布式 id

分布式 id 生成策略雪花算法UUID 與自增 ID 的優(yōu)缺點(diǎn)

分布式 id 需要處理的問題主要是同一時(shí)間在多臺(tái)機(jī)器中保證生成的 id 唯一,為了這么做我們可以這么做:

分布式 id 生成策略

先說幾個(gè)已經(jīng)被淘汰的策略引出分布式 id 的問題

1,UUID:UUID 全稱為通用唯一識(shí)別碼,是由一組32位數(shù)的16進(jìn)制數(shù)字所構(gòu)成,是故UUID理論上的總數(shù)為16^32 = 2^128,約等于3.4 x 10^38。也就是說若每納秒產(chǎn)生1兆個(gè) UUID,要花100億年才會(huì)將所有 UUID 用完,UUID 隨機(jī)并且唯一,在單一的數(shù)據(jù)庫中就不適合作為主鍵,因?yàn)樯傻淖址L(zhǎng)不符合索引優(yōu)化規(guī)則

2,自增 ID:不管是數(shù)據(jù)庫自增還是MP自增,分布式數(shù)據(jù)庫中總是要存放一定范圍的數(shù)據(jù),使用自增策略可能會(huì)導(dǎo)致不同數(shù)據(jù)庫存放同一id的問題

以下生成分布式 id 的方法比較靠譜

3,redis 生成:利用 redis 的 incr 命令生成 id,設(shè)置起始值和步長(zhǎng),步長(zhǎng)值是配置了多少臺(tái) redis,這種方法同樣適應(yīng)與數(shù)據(jù)庫多主模式

4,雪花算法:生成一個(gè)64bit 的 id,也就是 long 類型的數(shù)字,長(zhǎng)度適中并且方便快捷

雪花算法

雪花算法是一個(gè)比較常見的生成分布式 id 的方式,它會(huì)生成一個(gè) 8 字節(jié)的數(shù)據(jù),通過確保每段數(shù)據(jù)在空間與時(shí)間上唯一來確定最終數(shù)據(jù)的唯一

64bit 中,起始 1bit 為0,閑置不用

接下來 41bit 代表時(shí)間戳,這個(gè)是毫秒級(jí)的時(shí)間,存放時(shí)間戳的差值(當(dāng)前時(shí)間-固定的開始時(shí)間),41位的時(shí)間戳可以使用69年 10bit 存放機(jī)器 id,前 5bit 代表機(jī)器位置(配置在不同地區(qū)的機(jī)器有不同 id),后 5bit 代表機(jī)器 id (一個(gè)地區(qū)會(huì)配置集群) 最后的 12bit 代表流水號(hào),一個(gè)毫秒時(shí)間內(nèi)最多可以處理4096個(gè) id

UUID 與自增 ID 的優(yōu)缺點(diǎn)

對(duì)于所有的 UUID 它可以保證在空間和時(shí)間上的唯一性。它是通過 MAC 地址,時(shí)間戳,隨機(jī)數(shù)等數(shù)據(jù)來保證生成 ID 的唯一性,有著固定的大小(128bit)。因此它可以用于分布式的生產(chǎn)環(huán)境,以支持更高的并發(fā)

它的缺點(diǎn)是更占用空間,并且存放的是 varchar 類型,在通過 ID 查找的時(shí)候的效率很低

無序,隨機(jī)生成與插入,聚集索引頻繁頁分裂,大量隨機(jī) IO,內(nèi)存碎片化,特別是隨著數(shù)據(jù)量越來越多,插入性能會(huì)越差

因此在并發(fā)數(shù)不是很高的情況下使用自增 ID 是不錯(cuò)的方法,主鍵頁以近乎順序的方式填寫,提升了頁的利用率。索引更加緊湊,性能更好查詢時(shí)數(shù)據(jù)訪問更快,連續(xù)增長(zhǎng)的值能避免 b+ 樹頻繁合并和分裂

柚子快報(bào)邀請(qǐng)碼778899分享:分布式 id

http://yzkb.51969.com/

參考閱讀

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18794511.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄