What Are Snowflake IDs?
Credit by: Wei-Yu Chen (感謝分享)
本文介紹了 Universal Unique Identifiers(UUIDs)的用途及其重要性,UUID 以固定且標準的方式為每個物件產生出獨立的 ID,且 產生出來的 ID 幾乎不可能會重複導致發生碰撞。
通常 UUID 由幾個部分組合而成,像是以時間、執行節點的 MAC address,或以 MD5 hash 來生成。UUID 以 128 bits 的數字組成,為了更方便識別及操作,通常都會以十六進制來表示,總長度為 36 個字(加上連字符號 -)。也因用來產生 UUID 的亂數種子包含了時間、節點資訊等參數,所以 UUID 也具有獨特性,在分散式系統執行也不容易發生碰撞。
而為了避免在你的 apps 裡實作 UUID 的產生機制,常見會使用兩種作法,分別是:Persistence Layer Generated ID 和 ID Servers。一種使用 Database 自動產生出來的序號來作為識別物件的 ID(如 MongoDB 的 ObjectID、MySQL 的 AUTO_INCREMENT ... 等),另一種是使用獨立的 ID server 來產生物件的 ID。
以 Database 來作為序號產生器會碰到一個問題,當你在每次建立新物件時,都會需要向資料庫讀取這個物件的「自動產生 ID」,假設應用程式的規模一大,效能勢必會大受影響。
而使用 ID server(也就是本文主要介紹的 Snowflake IDs)去產生 UUID 的話,就可利用架構於 app 以外的第三方序號產生器。以 Twitter 來說,平均每秒鐘有九千個推文,在高峰期間更甚至會出現一秒 143199 則推文的流量,他們所需要的 UUID 不僅要能夠支援龐大的架構,也需要在以非常快的速度產生出 ID,這也是 Snowflake 專案的由來。
因此,Twitter 以這幾個參數來組成 UUID:
- 保留不使用的位元,固定為 0 - 共 1 位
- Timestamp(以毫秒為單位) - 共 41 位
- 機器 ID - 共 10 位
- 序列號 - 從 0 ~ 4095 依序重複使用 - 共 12 位
雖然說以 ID servers 來產生 UUID 之後,效能還是會被這種架構拖累(必須在建立物件就去向 ID server 發送請求,並等待產生出來的 ID),但這種作法和資料庫系統相比起來已經讓效能降低的問題變得更輕微。
在本文當中介紹了三種常見的 ID 產生方式:在 local app 端產生 ID、在資料庫產生 ID、集中式的 ID server 產生 ID,這些策略的選擇也根據你的使用情境而定,畢竟沒有一種一套打天下的解決方案,在選擇時仍須衡量每個專案的需求。
https://betterprogramming.pub/uuid-generation-snowflake-identifiers-unique-2aed8b1771bc
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
mac address用途 在 偉大航道-李勁華 Facebook 的最讚貼文
〈智慧燈柱〉技術上做到啲咩,做唔到啲咩,有邊啲會做,有邊啲唔做住,點先可以做,做嘅話又點樣監察同點樣保障市民,創科局呢個post就解釋得好清楚。
唔知大家又點睇呢?
【想了解🌱智慧燈柱嘅技術,一齊去片睇睇👀】
智慧燈柱試驗計劃的目的是推動香港智慧城市發展,支持5G建設。
由設計燈柱開始,資科辦一直緊密與個人資料私隱專員公署溝通,確保嚴格遵從《個人資料(私隱)條例》。
燈柱技術要點睇真D🔎:
5G❇
為配合未來香港發展 #5G 服務,智慧燈柱預留空間,供日後有興趣的流動網絡營辦商安裝5G小型基站,安裝會由承辦商處理,#基站亦由承辦商營運,#政府無安裝其他發射器。燈柱亦可提供免費Wi-Fi服務
RFID❇
用於燈柱的RFID技術由物流及供應鏈多元技術研發中心研發,裝置只是 #電子標籤, #發出訊號,#沒有收集數據的功能, #也不能讀取其他裝置的資料 。其中一個用途是配合視障人士手杖系統,為視障人士導航
藍牙❇
燈柱的 #藍牙傳送器只用作提供定位服務 ,例如為市民和遊客提供附近地點的公共設施,#並不涉及個人資料
而運輸署在燈柱上的藍牙交通探測器只會抽取MAC address部分數字作配對,以獲取經過車輛的平均車速及行車時間,分析後MAC address數據會隨即從系統刪除。MAC address只提供周邊裝置的藍牙地址,並不包含使用者的身份。(考慮到市民顧慮,此項功能現時不會啟用,資科辦會先更廣泛諮詢専家意見,待社會有共識後才決定)
全影攝影機❇
#燈柱無人臉識別功能,#拍攝到的影像亦不會傳送到第三方作人臉識別應用
#燈柱有嚴格的私隱保護措施。攝影機只會對向及拍攝公眾地方,並在顯眼地方張貼告示。#現時攝影機只拍攝路面情況
攝影機每兩分鐘進行交通快拍,影像只會在燈柱內處理,#降低解像度並傳送至運輸署及資料一線通作開放數據後就隨即刪除,#不會儲存
根據原先設計,監察攝影機拍攝到的影像及影片只會供運輸署和環保署使用,以監察交通情況和協助打擊非法傾倒建築廢物的執法工作,兩個特定用途去年已諮詢及獲立法會相關委員會支持 (考慮到市民顧慮,此項功能現時不會啟用,資科辦會先更廣泛諮詢專家意見,待社會有共識後才決定)
#資科辦亦已把所有智慧燈柱上的裝置和功能公開給市民參考。
🎤重申一次,以下三項功能會先待資科辦諮詢專家意見,再諮詢區議會,有共識後才決定🎤
攝影機協助監察非法傾倒建築廢物黑點 - ⛔不啟用
藍牙交通探測器 - ⛔不啟用
攝影機收集車牌號碼計算不同類別車輛使用道路數量 - ⛔不啟用
🔓燈柱所得的數據,全部會上載資料一線通(data.gov.hk)作 #開放數據,與市民共享🔓,鼓勵運用數據開發更多創新應用,推動香港的智慧城市發展
🔓日後若有任何新應用若涉及收集個人資料,亦會嚴格遵從《個人資料(私隱)條例》,進行私人影響評估及諮詢個人資料私隱專員,及諮詢相關區議會,待社會有共識後才決定在智慧燈柱上推出。
#沒有監控 #絕不監控