適用於分布式唯一標識碼的生成演算法有哪些?

時間 2021-06-02 23:41:42

1樓:interma

基本的是snowflake系,參考:Leaf--美團點評分布式ID生成系統 -

再根據自己的業務特點進行剪裁以改善效能/空間消耗。

2樓:bluetrees

短一點的不太容易。

分布式的標識碼大多依靠兩個要素,時間和地理位置

時間不用說了。

時間的二進位制布局通常就包含了8個位元組64位了,要短於64位精度就成問題了,碰撞的概率就很高了。

所以,不太可能低於64位。

生成速度不快的話,可以降低時間精度,我們目前所用的64位時間最小解析度大多是一百納秒(以windows為例),去掉4個位元組的話,大概解析度就降低到了429秒,這個難以接受,去掉2個位元組解析度降低到0.0066秒,這個還可以接受。剩下2個位元組需要表達地理資訊,MAC位址需要48位,不夠。

我們既然在地球上直接用經度維度高度吧,2個位元組顯然不夠,如果還要加上太陽系、銀河系、.....的定位,解析度還要到厘公尺級別的話,呃,那就別鬧了。

結論,低於64位萬萬不可能啊,Guid 128位已經是良心價了。

要是做星際空間航行的時候那簡直是要命了吧,銀河系這樣的大概2萬億,太陽這樣的恆星3000 萬億億個(300000000000000000000000),只要77位的二進位制儲存,太陽系有8個大行星,好吧用3位儲存,在宇宙中標識乙個地球大概需要80位二進位制儲存。

看樣子不用E進製的不行啊。

函式式程式設計是否適用於超大型專案?

不適用。只有乙個原因 通樣的價錢,招不到那麼多可以寫FP的人。比如下面的一些但不限於這些要求 熟練使用higher kinded types和higher rank polymorphism進行設計,熟練寫monad,monad transformer,熟練運用各種type class進行設計 熟練...

哪款油煙機適用於開放式廚房?

海爾智慧型廚房 外國做開放式廚房是因為他們的飲食習慣,少油少煙。而中國的傳統家庭式廚房,煎炒烹炸,油煙大了很多,所以在中國開放式廚房油煙機的選擇很重要。首先要考慮清楚三個問題 油煙 清潔 噪音。油煙機要看三個引數 首要引數就是吸力!好用的油煙機就是吸力要大,體現在引數上就是排風量了,排風量與噪音成正...

分布式資料庫如何實現非主鍵列的唯一約束或唯一索引?

朱翀 可以為這個非主鍵列建立乙個分布式表,表名為主表名加該非主鍵列名 table colum 這個新錶的主鍵就是主表要建立唯一約束的非主鍵列,這樣每次往主表插入資料的時候,都先查詢這張新錶,如果新錶已經存在資料就說明違反唯一約束。唯一索引的話,就是這張新錶再加一列,這一列存得就是主表的主鍵。使用該唯...