در معماری نرمافزار مدرن، نیاز به شناسایی یکتای سابقه، تراکنش و منبع در شبکه توزیعشده حیاتی است. Universally Unique Identifier (UUID) که گاهی در زیستبوم مایکروسافت Globally Unique Identifier (GUID) نامیده میشود دقیقاً همین منظور را خدمت میکند. برچسب ۱۲۸بیت است که درجه بالای یکتایی در فضا و زمان را تضمین میکند. برخلاف شناسه سنتی عدد صحیح ترتیبی که معمولاً توسط یک پایگاه رابطهای ساخته میشود (مثل کلید اصلی خودکارافزا)، UUID میتواند خودمختار توسط هر گره، ریزخدمت یا برنامه کلاینت در شبکه بدون هماهنگی با مرجع مرکزی ساخته شود. مفهوم اصلاً داخل Apollo Network Computing System ساخته شد و بعد توسط Open Software Foundation (OSF) بهعنوان بخشی از Distributed Computing Environment (DCE) استاندارد شد. هدف اصلی توانمند کردن سامانه توزیعشده برای شناسایی یکتای اطلاعات بدون هماهنگی مرکزی قابل توجه بود. این فرایند ساخت غیرمتمرکز چیزی است که UUID را در برنامه ابربومی، معماری ریزخدمت و اپ موبایل اولآفلاین ضروری میکند.
برای فهم مکانیک، دیدن ساختار کمک میکند. UUID استاندارد بهصورت رشته هگزادسیمال ۳۲نویسه بازنمایی میشود، شکسته به پنج گروه جداشده با خط تیره، در قالب 8-4-4-4-12. این مجموعاً ۳۶ نویسه میدهد (۳۲ نویسه الفبارقمی و چهار خط تیره). بهخاطر این فضای عظیم ریاضی (۲^۱۲۸ ترکیب ممکن که تقریباً ۳٫۴ × ۱۰^۳۸ است)، احتمال برخورد — ساخت همان UUID دو بار — بهطرز نجومی پایین است. در واقع باید ۱ میلیارد UUID در هر ثانیه حدود ۸۵ سال بسازید تا احتمال برخورد به ۵۰٪ برسد. این مقیاس عظیم اجازه میدهد توسعهدهنده با اطمینان شناسه را در حالت قطع بسازد، مثل اپ موبایل که آفلاین کار میکند و در نهایت داده را به سرور ابری مرکزی همگام میکند بدون ترس از تعارض کلید اصلی.
نسخههای مختلف UUID برای پاسخ به الزام فنی مشخص وجود دارد. UUID نسخه ۱ (v1) به نشانی MAC رایانه و مهر زمانی فعلی تکیه میکند که آن را جغرافیایی و زمانی یکتا میکند اما میتواند نگرانی حریم خصوصی بیاورد چون نشانی سختافزار ماشین مبدأ را فاش میکند. UUID نسخه ۴ (v4) کاملاً تصادفی است، با مولد عدد شبهتصادفی امن رمزنگاری (CSPRNG) ساخته میشود. بهخاطر تصادفی محض و نبود فراداده قابل شناسایی، v4 استاندارد عملی برای بیشتر برنامه وب مدرن شده. UUID نسخه ۵ (v5) با هش شناسه فضای نام و نام مشخص با SHA-1 ساخته میشود؛ یعنی همان ورودی پیشبینیپذیر دقیقاً همان UUID را هر بار که ساخته شود میدهد. اخیراً UUID نسخه ۷ (v7) محبوبیت عظیم در جامعه مهندسی نرمافزار گرفته. مقدار مرتب زمانی را با داده تصادفی ترکیب میکند و برای ایندکس پایگاه بسیار بهینه است. چون UUID v7 ترتیبی بر اساس زمان قابل مرتب است، مسئله عظیم تکهتکهشدن پایگاه و افت عملکرد درج را که از نظر تاریخی با UUID v4 کاملاً تصادفی مرتبط بود حل میکند.
چه API مقیاسپذیر بسازید، چه داده را در چند دستگاه راه دور همگام کنید یا توکن امن نشست را تضمین کنید، بهکارگیری نوع درست UUID بنیادین است. اما فقط ساختن کافی نیست. باید تضمین کنید UUID واردشده به سامانه از نظر ساختاری سالم باشد؛ همینجاست که ابزار اعتبارسنجی مقاوم و صددرصد رایگان بخش ارزشمند گردش توسعهدهنده میشود. بدون بررسی سخت، سامانه در معرض رفتار غیرمنتظره و فساد داده است.