เกี่ยวกับ
ULID ย่อมาจาก Universally Unique Lexicographically Sortable Identifier
ULID คืออะไร?
ULID (Universally Unique Lexicographically Sortable Identifier) คือตัวระบุที่ไม่ซ้ำแบบจัดเรียงได้ซึ่งเสนอโดย Alizain Feerasta ในปี 2559 โดยจะรวมการประทับเวลาและตัวสร้างตัวเลขสุ่มเพื่อสร้างตัวระบุ 32 บิตที่เหมาะสำหรับการระบุเอนทิตีข้อมูลและเหตุการณ์ในระบบแบบกระจาย
ทำไมต้องใช้ ULID?
ULID มีข้อดีเหนือ UUID บางประการ:
- จัดเรียงได้: เนื่องจาก ULID ถูกสร้างขึ้นตามการประทับเวลา จึงสามารถจัดเรียงตามการประทับเวลาได้ ซึ่งมีประโยชน์มากสำหรับการจัดทำดัชนีและการสืบค้นฐานข้อมูล นอกจากนี้ เนื่องจาก ULID ใช้คำนำหน้าตามการประทับเวลา จึงสามารถใช้อักขระ 12 ตัวแรกเพื่อกำหนดการประทับเวลาได้ ทำให้การดีบักและการจัดการข้อมูลง่ายขึ้น
- ความสามารถในการอ่าน: ULID ประกอบด้วยอักขระ 32 ตัว โดยอักขระ 12 ตัวแรกถูกสร้างขึ้นโดยการประทับเวลา การประทับเวลาสามารถกำหนดได้ด้วยอักขระ 12 ตัวเหล่านี้ สิ่งนี้มีประโยชน์สำหรับการดีบักและการจัดการข้อมูล
- อัตราการชนกันต่ำ: ULID มีอัตราการชนกันที่ต่ำมาก เนื่องจากใช้คำนำหน้าตามการประทับเวลาและตัวสร้างตัวเลขสุ่มเพื่อสร้าง ULID ทำให้ ULID ที่สร้างขึ้นไม่ซ้ำกันทั่วโลก
- สั้นและน้ำหนักเบา: ULID มีเพียง 32 ตัวอักษร ในขณะที่ UUID มี 36 ตัวอักษร ซึ่งหมายความว่า ULID จะสั้นกว่า เบากว่า และเหมาะสมกว่าสำหรับใช้ในระบบแบบกระจาย
- ความปลอดภัย: ULID ใช้ตัวสร้างตัวเลขสุ่มตาม CSPRNG เพื่อสร้างส่วนตัวเลขสุ่ม ทำให้มีความปลอดภัยมากขึ้นและเสี่ยงต่อการโจมตีน้อยลง