في الأيام الأولى لقواعد البيانات، استخدمنا الأعداد الصحيحة المتزايدة تلقائياً (1، 2، 3...). كان هذا بسيطاً، لكنه كان يعاني من مشاكل كبيرة:
- الأمان: إذا كان معرف المستخدم الخاص بي هو 100، يمكنني تخمين وجود المستخدم 101.
- الأنظمة الموزعة: لا يمكن للخادم إنشاء معرف دون التحقق من الخادم المركزي لتجنب التكرار.
أدخل المعرف الفريد عالمياً (UUID). إنه رقم 128 بت فريد عالمياً عبر المكان والزمان. لا يتطلب تنسيقاً.
شرح إصدارات UUID
الإصدار 1: الوقت + عنوان MAC
يستخدم الطابع الزمني الحالي وعنوان MAC الخاص بجهاز الكمبيوتر.
- سلبيات: مخاطر الخصوصية! يكشف عنوان MAC الخاص بك ووقت الإنشاء الدقيق.
الإصدار 4: عشوائي (المعيار الذهبي)
هذا ما تولده أداتنا. يستخدم 122 بت من العشوائية.
رياضيات التصادم
عدد UUIDs الممكنة للإصدار 4 هو 2 أس 122. لكي تكون لديك فرصة بنسبة 50% لحدوث تصادم واحد، ستحتاج إلى توليد مليار UUID في الثانية لمدة 85 عاماً.
تنسيق
يبدو UUID القياسي هكذا:
123e4567-e89b-12d3-a456-426614174000