أيه هو الـ UUID - (Universally Unique Identifier)

x32x01
  • بواسطة x32x01 ||
هو ايه الـ UUID اللي كتير من الـDevelopers شغالين بيه ومش عارفين أهميته والـalgorithm اللي اتبني عليه
UUID معناها - (Universally Unique Identifier)
ده معرف فريد عالمي ممكن يتولد في أي مكان وفي أي وقت من غير أي duplicate
اللي معناه انك ممكن تستخدمه لأي database أو system من غير ما تقلق من تكرار الأرقام

الـ namespace ده context أو مساحة بتحدد المجال اللي جوهها هيتولد فيه UUID ثابت
يعني لو عندك اسم معين وnamespace محدد تولد UUID ثابت لكل text بنفس الاسم في نفس namespace
زمان قبل ما اتاخد قرار باختراع UUID كانت كل databases بتستخدم أرقام متسلسلة Auto Increment IDs لكل record
الطريقة دي كانت كويسة لو عندك database واحدة بس
المشكلة كانت تظهر لما يكون عندك أكتر من server أو أكتر من database وكنت عايز تدمج البيانات
ساعات كتير كنت تلاقي نفس الرقم موجود في أكتر من place 
وده كان بيعمل مشاكل كبيرة في دمج البيانات وفي توليد معرفات فريدة

فجت فكرة UUID اللي هو معرف فريد عالمي ممكن يتولد في أي مكان وفي أي وقت من غير أي conflict
ده حل مشكلة كبيرة كانت بتواجه المطورين في الأنظمة اللي فيها أكتر من source بيانات
الإصدارات المختلفة للUUID والalgorithm بتاعها:
UUIDv1
اتبنى على الوقت وMAC address حل مشكلة التكرار في الأنظمة الموزعة
العيب انه أي حد ممكن يعرف الجهاز والوقت، وده مشكلة privacy
الشكل: 550e8400-e29b-11d4-a716-446655440000

UUIDv2
مرتبط بالنظام والأمان (DCE Security) لكن قليل الاستخدام دلوقتي
اتبنى على UID/GID من النظام
الشكل مشابه v1 لكن مع تعديل للأمان

UUIDv3
اتبنى على name + namespace hash algorithm باستخدام MD5
بيولد UUID ثابت لأي text محدد بدون أي تغيير
الشكل: f47ac10b-58cc-3372-a567-0e02b2c3d479
مفيد لو عايز معرف predictable لكن فريد

UUIDv4
الأشهر دلوقتي
اتبنى على random numbers بالكامل
بيحمي privacy وبيحل مشكلة duplicate في أي database
الشكل: f47ac10b-58cc-4372-a567-0e02b2c3d479
العشوائية بتخلي أي حد ميقدرش يعرف أي معلومات عن النظام
أو الوقت

UUIDv5
زي v3 لكن بيستخدم SHA-1 بدل MD5 بيولد UUID ثابت لنفس الاسم والnamespace
الشكل: 3bbcee75-cecc-5b56-8031-b6641c1ed1f1
أكتر أمانًا وموثوقية في توليد UUID ثابت

دلوقتي UUID
موجود في databases مشتركة مع microservices او APIs او التطبيقات اللي شغالة offline
كل نسخة من UUID كانت بتحل مشكلة معينة وبتوفر طريقة أفضل لتوليد unique IDs بدون أي duplicate
وده بيخلي الUUID أداة أساسية لأي developer عايز يشتغل على أنظمة كبيرة أو multi-tenant أو يحتاج دمج بيانات من مصادر مختلفة
بس كده
أيه هو الـ UUID - (Universally Unique Identifier)
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
566
x32x01
x32x01
x32x01
الردود
0
المشاهدات
118
x32x01
x32x01
x32x01
الردود
0
المشاهدات
529
x32x01
x32x01
x32x01
الردود
0
المشاهدات
425
x32x01
x32x01
x32x01
  • x32x01
الردود
0
المشاهدات
340
x32x01
x32x01
x32x01
الردود
0
المشاهدات
449
x32x01
x32x01
x32x01
الردود
0
المشاهدات
145
x32x01
x32x01
x32x01
الردود
0
المشاهدات
400
x32x01
x32x01
x32x01
الردود
0
المشاهدات
462
x32x01
x32x01
x32x01
الردود
0
المشاهدات
583
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,811
المشاركات
2,032
أعضاء أكتب كود
450
أخر عضو
يمني
عودة
أعلى