הזיהוי האוניברסלי הייחודי (UUID), הידוע גם בשם המזהה הייחודי הגלובלי (GUID), נמצא בשימוש נרחב במערכות מחשב.
זהו קוד של 128 סיביות שנוצר על ידי המערכת על סמך משתנים וקבועים: זמן נוכחי, כתובת MAC, Hash SHA-1, מרחב שמות MD5. התוצאה הסופית של יצירת UUID, המוצגת כקוד אלפאנומרי בן 32 תווים מופרד במקפים, עשויה להיראות שרירותית, אך למעשה היא תוצאה של חישובים מורכבים. לפיכך, מחשב אינו "ממציא" קוד, אלא יוצר אותו מכמויות טכניות ספציפיות שרלוונטיות בזמן נתון.
ההסתברות שאותו UUID ייווצר בשני מחשבים שונים בזמנים שונים שואפת לאפס, מה שמאפשר להשתמש בקודים המתקבלים לזיהוי נתונים נקודתיים/מקומיים ללא התייחסות למרכז התיאום. כיום, UUID/GUID נמצא בכל מקום ברשתות מקוונות וברשתות לא מקוונות, ופועל ביעילות לא רק במרחב האינטרנט העולמי, אלא גם במערכות מחשב עצמאיות.
היסטוריית UUID
קודי UUID של 128 סיביות שימשו לראשונה על ידי החברה האמריקאית Apollo Computer בשנות ה-80. הם התבססו על קודי 64 סיביות פשוטים יותר בשימוש ב-Domain/OS ומצאו שימוש נרחב בסביבת המחשוב של Open Software Foundation.
עם הופעתן של פלטפורמות Windows הראשונות, המזהה הייחודי הגלובלי הוכלל והותקן. מיקרוסופט אימצה את עיצוב ה-DCE מ-Apollo Computer ורשמה את מרחב השמות של URN ב-RFC 4122. ב-2005, האחרון הוצע כתקן חדש על ידי ה-IETF, ו-UUID תוקן בתוך ITU.
מוקדם יותר בשנת 2002, זוהו בעיות בביצועי המערכת בעת שימוש ב-UUID כמפתחות ראשיים במסדי נתונים מקומיים. אלה תוקנו בגרסה 4 על ידי הוספת סיומת לא אקראית המבוססת על זמן המערכת של המחשב. גישת ה-COMB (Combined GUID Time Identifier) הגדילה את הסיכונים לשכפול קוד, אך במקביל שיפרה משמעותית את הביצועים בעבודה עם Microsoft SQL Server.
עם הפיתוח של טכנולוגיות IT, המזהה הייחודי האוניברסלי הפסיק להיות כלי טכני מיוחד ביותר, וכיום כולם יכולים להשתמש בו. ההסתברות לחזרה של הקודים שנוצרו אינה שווה לאפס, אלא שואפת אליה, וניתן לזהות על ידם כל מידע דיגיטלי, ולאחר מכן ניתן לשלב אותם למערכי נתונים בודדים עם מינימום סיכונים לחזרה.
הטבות של UUID
מחוללים של קודים ייחודיים גלובליים אינם דורשים התאמה/סנכרון נתונים מרכזיים והם זמינים באופן חופשי לכל המשתמשים. היתרונות העיקריים של UUID כוללים:
- סיכונים מינימליים של "התנגשות" (חזרה) של קודים. למרות השימוש המאסיבי שלהם, ההסתברות לחזרה שואפת לאפס.
- יכולת להצטרף למערכים שונים של נתונים באמצעות UUIDs כמפתחות ראשיים (ייחודיים).
- הפצה פשוטה של נתונים על פני מספר שרתים מפוזרים.
- יכולת ליצור קודים במצב לא מקוון.
קודי זיהוי ייחודיים, הכתובים בפורמט xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, מאפשרים למערכות מפוזרות לזהות מידע ללא תיאום ממרכז נתונים אחד: עם הסתברות כמעט אפסית לשגיאות/חזרות. תכונה זו, יחד עם קלות השימוש ודרישות קטנות לביצועי מחשב, הופכות את UUID למבוקש וחיוני במגוון רחב של תעשיות IT ומערכות מחשוב אוטונומיות.