Universally Unique Identifiers (UUID) دههها سنگ بنای سامانه توزیعشده بوده و راه قابل اعتماد برای ساخت کلید یکتا بدون هماهنگی متمرکز میدهد. هرچند UUID نسخه ۴ (که خالص به عدد تصادفی تکیه میکند) شاید مشهورترین و گستردهترین گونه مستقر باشد، محدودیت ذاتی دارد وقتی بهعنوان کلید اصلی در سامانه مدیریت پایگاه رابطهای (RDBMS) استفاده شود. تصادفی بودن برای پیشبینیناپذیری عالی است اما برای ایندکس پایگاه وحشتناک است. وقتی UUID تصادفی را در ایندکس B-tree درج میکنید، شکاف عظیم صفحه و تکهتکهشدن ایندکس ایجاد میکند و به افت عملکرد نوشتن در طول زمان منجر میشود. همینجاست که UUID مبتنی بر زمان — مشخصاً نسخه ۱، ۶ و ۷ — وارد میشود و جایگزین ساختیافته میدهد که هم به یکتایی و هم به ترتیب زمانی احترام میگذارد.
UUID نسخه ۱ تلاش اصلی برای ترکیب یکتایی با زمان بود. شناسه را با مهر زمانی فعلی، توالی ساعت و نشانی MAC گره میسازد. گنجاندن نشانی MAC یکتایی فضایی در ماشین مختلف را تضمین میکرد، در حالی که مهر زمانی یکتایی زمانی را تضمین میکرد. اما UUID v1 نقص حیاتی برای ایندکس پایگاه دارد: مهر زمانیاش طوری ساختاربندی شده که معنادارترین بیت کمترین دانهبندی زمان را نشان میدهد. به زبان ساده، با پیشرفت زمان، ابتدای رشته UUID سریع و غیرقابل پیشبینی عوض میشود و هر پتانسیل مرتب ترتیبی را خراب میکند. علاوه بر این افشای نشانی MAC نگرانی جدی حریم خصوصی و امنیت آورد و بسیاری از توسعهدهنده را به ترک کامل v1 کشاند.
برای حل این مسئله آشکار، جامعه مهندسی UUID نسخه ۶ و نسخه ۷ را معرفی کرد. UUID v6 اساساً UUID v1 بازسازمانشده است. مؤلفه مهر زمانی v1 را میگیرد و بازآرایی میکند تا معنادارترین بیت بالاترین دانهبندی زمان (سال، ماه، روز) را نشان دهد و تا کسری از ثانیه پایین بیاید. این بازآرایی ساده تضمین میکند مقدار UUID v6 از نظر واژهنگاری بر اساس زمان قابل مرتب باشد. اگر امروز UUID v6 بسازید و فردا یکی دیگر، UUID فردا بعد از امروز مرتب میشود و کامل با نحوه انتظار درج داده در B-tree پایگاه همخوان است. این تکهتکهشدن ایندکس مرتبط با v4 و ناممکن بودن مرتب v1 را حذف میکند، در حالی که با سامانهای که ساختار سنتی UUID انتظار دارد سازگار عقبرو میماند.
UUID نسخه ۷ این بهینهسازی را یک گام جلوتر میبرد و استاندارد طلایی مدرن برای کلید اصلی پایگاه را نشان میدهد. بهجای تکیه به epoch گریگوری قدیمی استفادهشده توسط v1 و v6، UUID v7 از مهر زمانی استاندارد Unix Epoch (میلیثانیه از نیمهشب ۱ ژانویه ۱۹۷۰ UTC) استفاده میکند. این مهر زمانی ۴۸ بیت اول شناسه را اشغال میکند. بیت باقیمانده با داده تصادفی قوی رمزنگاری پر میشود. این رویکرد ترکیبی بهترین هر دو جهان را میدهد: قابلیت مرتب ترتیبی مقاوم لازم برای درج پایگاه با عملکرد بالا، ترکیبشده با امنیت و حریم خصوصی ساخت داده تصادفی. با استفاده از سازنده UUID صددرصد رایگان و خصوصی در مرورگر، میتوانید فوری این شناسه مدرن را بسازید بدون به خطر انداختن داده از راه صفر آپلود به سرور.