国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

mysql怎么添加序列號 VB編程能干什么?就業(yè)前景如何?

VB編程能干什么?就業(yè)前景如何?我用VB6開發(fā)的erp 運(yùn)行了0年了解析分布式主鍵MongoDB ObjectId,可以作為Mysql主鍵嗎?可以的。全局唯一 ID有些同學(xué)可能會有疑問,MySQL 數(shù)

VB編程能干什么?就業(yè)前景如何?

我用VB6開發(fā)的erp 運(yùn)行了0年了

解析分布式主鍵MongoDB ObjectId,可以作為Mysql主鍵嗎?

可以的。

全局唯一 ID有些同學(xué)可能會有疑問,MySQL 數(shù)據(jù)庫本身就有自增長的主鍵,為什么還需要別的組件協(xié)助生成呢?

如果是單臺 MySQL 數(shù)據(jù)庫的話,當(dāng)然是用本身的自增長序列就可以了,但是如果我們做了分庫分表之后呢?比如用戶表 userTable 數(shù)據(jù)量達(dá)到了 4000 萬,單表有些吃力,我們將 userTable 拆成兩張表保存到兩個 MySQL 數(shù)據(jù)庫中;這時候如果再使用數(shù)據(jù)庫本身的自增序列,倒是也不會有錯,每一個表內(nèi)的主鍵不會重復(fù),但是表和表比較的話,主鍵 ID 可能會發(fā)生重復(fù);這時候就需要使用組件或者算法,生成全局唯一 ID 了。

MongoDB ObjectIdMongoDB 的 ObjectId ,也是可以用于全局唯一 ID 的。

{_id: ObjectId(5d47ca7528021724ac19f745)}

MongoDB 的 ObjectId 共占 12 個字節(jié),其中:

3.2 之前的版本(包括 3.2):4 字節(jié)時間戳 3 字節(jié)機(jī)器標(biāo)識符(機(jī)器 ID) 2 字節(jié)進(jìn)程 ID 3字節(jié)隨機(jī)計數(shù)器;

3.2 之后版本:4 字節(jié)時間戳 5 字節(jié)隨機(jī)值 3 字節(jié)遞增計數(shù)器;

其中時間戳字節(jié)可以保證毫秒級唯一,節(jié)機(jī)器標(biāo)識符考慮到了分布式,字節(jié)進(jìn)程 ID 保證了同一臺服務(wù)器運(yùn)行多個實(shí)例時的唯一性,字節(jié)遞增計數(shù)器保證了同一個時間點(diǎn)內(nèi) ID 的唯一性。

優(yōu)缺點(diǎn)

不管是老版本還是新版本,MongoDB 的 ObjectId 至少都可以保證集群內(nèi)的唯一,我們可以搭建一個全局唯一 ID 生成的服務(wù),利用 MongoDB 生成 ObjectId 并對外提供服務(wù)(MongoDB 的各語言驅(qū)動都實(shí)現(xiàn)了 ObjectId 的生成算法)。

優(yōu)點(diǎn):MongoDB 的性能不錯,可以使用集群部署,保證其高可用;ID 內(nèi)自帶一些含義,比如時間戳,必要的時候可以進(jìn)行反解;

缺點(diǎn):和數(shù)據(jù)庫一樣,需要引入對應(yīng)的組件/軟件,增加了系統(tǒng)的復(fù)雜度;最關(guān)鍵的是,這兩種方案都意味著生成全局唯一 ID 的系統(tǒng)(服務(wù)),會成為一個單點(diǎn),在軟件架構(gòu)中,單獨(dú)就意味著風(fēng)險;如果這個服務(wù)出現(xiàn)問題,那么所有依賴于這個服務(wù)的系統(tǒng)都會崩潰掉。

我將持續(xù)分享Java開發(fā)、架構(gòu)設(shè)計、程序員職業(yè)發(fā)展等方面的見解,希望能得到你的關(guān)注。