- หน้าแรก
- ตัวสร้าง UUID
เครื่องมือสร้าง UUID
สร้างตัวระบุที่ไม่ซ้ำกันสากล (UUID) โดยใช้อัลกอริทึมที่อิงตามเวลาเพื่อป้องกันการซ้ำ
UUID ทำงานอย่างไร
UUID v1 (อิงตามตราเวลา): ใช้ตราเวลาปัจจุบัน (ช่วง 100 นาโนวินาทีตั้งแต่ 15 ตุลาคม 1582) รวมกับที่อยู่ MAC หรือตัวระบุโหนดสุ่ม นี่รับประกันความไม่ซ้ำกันในเครื่องต่างๆ และป้องกันการซ้ำแม้ว่าจะสร้างพร้อมกัน
UUID v4 (สุ่ม): ใช้ตัวเลขสุ่มที่แข็งแกร่งทางการเข้ารหัสลับ แม้ว่าการซ้ำจะเป็นไปได้ในทางทฤษฎี แต่โอกาสต่ำมาก (1 ใน 2^122) ที่ไม่สำคัญสำหรับการใช้งานจริง
UUID v7 (ตราเวลาทันสมัย): เวอร์ชัน UUID ใหม่ล่าสุดที่รวมตราเวลา Unix (48 บิต) กับข้อมูลสุ่ม (74 บิต) นี่ให้ประโยชน์การเรียงลำดับตามเวลาของ v1 โดยรักษาความเป็นส่วนตัวของ v4 ทำให้เหมาะสำหรับคีย์หลักของฐานข้อมูล
รูปแบบ: UUID เป็นค่า 128 บิตที่แสดงเป็นเลขฐานสิบหก 32 ตัวในรูปแบบ: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
กรณีการใช้งานทั่วไป
UUID (หรือที่เรียกว่า GUID) ให้กลุ่มตัวระบุที่ไม่ซ้ำกันซึ่งแทบจะไม่จำกัดโดยไม่ต้องประสานงานกับหน่วยงานกลาง สถานที่บางแห่งที่ใช้กันโดยทั่วไป:
คีย์หลักของฐานข้อมูล
UUID ช่วยให้บริการหรือชาร์ดหลายรายการสร้างคีย์ได้อย่างอิสระโดยไม่เกิดการชนกัน UUID v7 ได้รับความนิยมมากขึ้นเรื่อยๆ เพราะการประทับเวลานำหน้าทำให้การแทรกเป็นมิตรต่อพื้นที่และดัชนีกะทัดรัด
ระบบกระจาย
เมื่อเหตุการณ์ถูกผลิตโดยหลายโหนด UUID ต่อเหตุการณ์จะหลีกเลี่ยงปัญหาคอขวดของลำดับแบบรวมศูนย์และทำให้บันทึกสามารถติดตามได้ข้ามขอบเขตของบริการ
ตัวระบุที่เปิดเผยต่อสาธารณะ
UUID v4 ใน URL จะไม่เปิดเผยว่ามีระเบียนกี่รายการหรือเปิดเผยการโจมตีแบบแจงนับเหมือนที่จำนวนเต็มที่เพิ่มขึ้นทำ
คีย์ idempotency
ไคลเอนต์สร้าง UUID ต่อคำขอ ดังนั้นเซิร์ฟเวอร์จึงสามารถรู้จักการลองใหม่และหลีกเลี่ยงการประมวลผลการกระทำเดียวกันสองครั้ง
คุณควรใช้เวอร์ชันใด?
- ใช้ v4 หากคุณต้องการความสุ่มแบบง่ายโดยไม่มีคุณสมบัติเพิ่มเติม - นี่เป็นค่าเริ่มต้นที่ปลอดภัยที่สุดสำหรับแอปพลิเคชันส่วนใหญ่
- ใช้ v7 หากตัวระบุจะเป็นคีย์หลักของฐานข้อมูลหรือจัดเก็บในดัชนีใดๆ ที่ลำดับการแทรกมีความสำคัญ การประทับเวลาที่ฝังอยู่ทำให้แถวรวมกลุ่มกันและปรับปรุงประสิทธิภาพการเขียนในระดับใหญ่อย่างมาก
- ใช้ v1 เฉพาะเมื่อคุณจำเป็นต้องได้รับตัวระบุจากการประทับเวลาและตัวระบุโหนด ในแอปพลิเคชันสมัยใหม่ v7 เป็นตัวเลือกที่ดีกว่าสำหรับกรณีการใช้งานเดียวกันโดยไม่รั่วไหลที่อยู่ MAC
คำถามที่พบบ่อย
UUID คืออะไร?
UUID (ตัวระบุที่ไม่ซ้ำกันสากล) เป็นค่า 128-bit โดยปกติจะเขียนเป็นตัวเลขฐานสิบหก 32 ตัวในรูปแบบ xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx เวอร์ชันต่างๆ สร้างค่าโดยใช้กลยุทธ์ที่แตกต่างกัน (สุ่ม, การประทับเวลา, หรือทั้งสอง)
ความแตกต่างระหว่าง UUID และ GUID คืออะไร?
ทั้งสองอ้างถึงสิ่งเดียวกัน GUID (ตัวระบุที่ไม่ซ้ำกันทั่วโลก) เป็นชื่อที่ใช้ในระบบนิเวศของ Microsoft; UUID เป็นชื่อที่ใช้ใน RFC 4122 และทุกที่อื่น รูปแบบและการรับประกันความไม่ซ้ำกันนั้นเหมือนกัน
UUID รับประกันว่าจะไม่ซ้ำกันหรือไม่?
ไม่ได้รับประกันทางคณิตศาสตร์ - แต่ความน่าจะเป็นของการชนกันสำหรับ UUID v4 อยู่ที่ประมาณ 1 ใน 2^122 ซึ่งต่ำกว่าเกณฑ์สำหรับแอปพลิเคชันเชิงปฏิบัติใดๆ มาก สำหรับ UUID v1 และ v7 การประทับเวลาและบิตโหนด/สุ่มจะป้องกันการชนกันในทางปฏิบัติ
ฉันควรใช้ UUID v4 หรือ UUID v7 สำหรับคีย์หลักของฐานข้อมูล?
UUID v7 โดยทั่วไปดีกว่าสำหรับคีย์หลัก เนื่องจากบิตนำของมันเป็นการประทับเวลา Unix แถวใหม่จึงแทรกใกล้กันบนดิสก์ ซึ่งทำให้ดัชนีกะทัดรัดและเขียนได้เร็ว ใช้ v4 เฉพาะเมื่อลำดับการแทรกต้องไม่สามารถอนุมานได้อย่างเด็ดขาด
ฉันต้องการตัวสร้าง UUID v1 หรือไม่?
ไม่ค่อย UUID v1 มีที่อยู่ MAC ของเครื่องที่สร้าง (หรือค่าทดแทนแบบสุ่ม) ซึ่งอาจรั่วไหลข้อมูลได้ UUID v7 มอบคุณสมบัติที่สามารถจัดเรียงตามเวลาได้เหมือนกันโดยไม่มีข้อกังวลนั้นและเป็นตัวเลือกที่ดีกว่าแทบทุกครั้งในปัจจุบัน
ตัวสร้าง UUID นี้ใช้งานฟรีหรือไม่?
ใช่ การสร้างทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ ไม่มีขีดจำกัดอัตรา และไม่จำเป็นต้องมีบัญชี คุณสามารถสร้าง UUID แต่ละรายการที่นี่หรือเปลี่ยนไปใช้ตัวสร้างจำนวนมากสำหรับมากถึง 500 รายการในครั้งเดียว
เครื่องมือที่เกี่ยวข้อง
เครื่องมือฟรีอื่นๆ จาก Hexbon ที่คุณอาจพบว่ามีประโยชน์