สร้าง UUID/GUID
Universally Unique Identifier (UUID) หรือที่เรียกว่า Globally Unique Identifier (GUID) ถูกนำมาใช้กันอย่างแพร่หลายในระบบคอมพิวเตอร์
เป็นโค้ด 128 บิตที่ระบบสร้างขึ้นจากตัวแปรและค่าคงที่ ได้แก่ เวลาปัจจุบัน ที่อยู่ MAC แฮช SHA-1 เนมสเปซ MD5 ผลลัพธ์สุดท้ายของการสร้าง UUID ที่แสดงเป็นรหัสตัวอักษรและตัวเลข 32 ตัวที่คั่นด้วยยัติภังค์อาจดูเหมือนไม่มีกฎเกณฑ์ แต่แท้จริงแล้วเป็นผลจากการคำนวณที่ซับซ้อน ดังนั้น คอมพิวเตอร์ไม่ได้ "คิดค้น" รหัส แต่สร้างรหัสจากปริมาณทางเทคนิคเฉพาะที่เกี่ยวข้อง ณ เวลาที่กำหนด
ความน่าจะเป็นที่ UUID เดียวกันจะถูกสร้างขึ้นบนคอมพิวเตอร์สองเครื่องในเวลาที่แตกต่างกันมีแนวโน้มที่จะเป็นศูนย์ ซึ่งทำให้สามารถใช้รหัสผลลัพธ์สำหรับการระบุจุด/ข้อมูลเฉพาะที่โดยไม่ต้องอ้างอิงถึงศูนย์ประสานงาน ปัจจุบัน UUID/GUID มีอยู่ทั่วไปทั้งในเครือข่ายออนไลน์และออฟไลน์ และทำงานได้อย่างมีประสิทธิภาพไม่เพียงแต่ในพื้นที่อินเทอร์เน็ตทั่วโลกเท่านั้น แต่ยังรวมถึงในระบบคอมพิวเตอร์แบบสแตนด์อโลนด้วย
ประวัติ UUID
รหัส UUID 128 บิตถูกใช้ครั้งแรกโดยบริษัท Apollo Computer ของอเมริกาในทศวรรษที่ 1980 โค้ดเหล่านี้ใช้โค้ด 64 บิตที่เรียบง่ายกว่าที่ใช้ในโดเมน/ระบบปฏิบัติการ และพบการใช้งานอย่างแพร่หลายในสภาพแวดล้อมการประมวลผล Open Software Foundation
ด้วยการกำเนิดของแพลตฟอร์ม Windows แรก ตัวระบุที่ไม่ซ้ำกันทั่วโลกได้รับการทำให้เป็นมาตรฐานและเป็นมาตรฐาน Microsoft ใช้การออกแบบ DCE จาก Apollo Computer และลงทะเบียนเนมสเปซ URN ใน RFC 4122 ในปี 2005 IETF เสนอให้เป็นมาตรฐานใหม่ และ UUID ได้รับการกำหนดมาตรฐานภายใน ITU
ก่อนหน้านี้ในปี 2545 มีการระบุปัญหาประสิทธิภาพของระบบเมื่อใช้ UUID เป็นคีย์หลักในฐานข้อมูลในเครื่อง สิ่งเหล่านี้ได้รับการแก้ไขในเวอร์ชัน 4 โดยการเพิ่มส่วนต่อท้ายที่ไม่ใช่แบบสุ่มตามเวลาระบบของคอมพิวเตอร์ วิธีการที่เรียกว่า COMB (Combined GUID Time Identifier) เพิ่มความเสี่ยงของการทำซ้ำรหัส แต่ในขณะเดียวกันก็ปรับปรุงประสิทธิภาพอย่างมากเมื่อทำงานกับ Microsoft SQL Server
ด้วยการพัฒนาเทคโนโลยีด้านไอที ตัวระบุเฉพาะที่เป็นสากลได้หยุดเป็นเครื่องมือทางเทคนิคที่มีความเชี่ยวชาญสูง และทุกวันนี้ทุกคนสามารถใช้งานได้ ความน่าจะเป็นของการทำซ้ำของรหัสที่สร้างขึ้นนั้นไม่เท่ากับศูนย์ แต่มีแนวโน้มที่จะเกิดขึ้น และข้อมูลดิจิทัลใด ๆ สามารถระบุได้โดยพวกเขา หลังจากนั้นสามารถรวมเข้าด้วยกันเป็นอาร์เรย์ข้อมูลเดียวโดยมีความเสี่ยงน้อยที่สุดในการทำซ้ำ
ประโยชน์ของ UUID
ตัวสร้างรหัสเฉพาะส่วนกลางไม่จำเป็นต้องมีการกระทบยอด/ซิงโครไนซ์ข้อมูลแบบรวมศูนย์ และใช้งานได้ฟรีสำหรับผู้ใช้ทุกคน ข้อได้เปรียบหลักของ UUID ได้แก่:
- ความเสี่ยงน้อยที่สุดในการ "ชนกัน" (การทำซ้ำ) ของโค้ด แม้จะมีการใช้งานจำนวนมาก ความน่าจะเป็นของการทำซ้ำมีแนวโน้มที่จะเป็นศูนย์
- ความสามารถในการรวมอาร์เรย์ข้อมูลต่างๆ โดยใช้ UUID เป็นคีย์หลัก (ไม่ซ้ำกัน)
- กระจายข้อมูลได้ง่ายขึ้นในเซิร์ฟเวอร์ที่กระจายอยู่หลายเครื่อง
- ความสามารถในการสร้างรหัสแบบออฟไลน์
รหัสประจำตัวที่ไม่ซ้ำกัน ซึ่งเขียนในรูปแบบ xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx ช่วยให้ระบบที่กระจายอยู่รับรู้ข้อมูลโดยไม่ต้องมีการประสานงานจากศูนย์ข้อมูลแห่งเดียว โดยมีโอกาสเกิดข้อผิดพลาด/ซ้ำซ้อนเกือบเป็นศูนย์ คุณลักษณะนี้ ควบคู่ไปกับการใช้งานง่ายและข้อกำหนดเพียงเล็กน้อยสำหรับประสิทธิภาพของคอมพิวเตอร์ ทำให้ UUID เป็นที่ต้องการและขาดไม่ได้ในอุตสาหกรรมไอทีและระบบคอมพิวเตอร์อัตโนมัติที่หลากหลาย