مولّد UUID v7

ولّد معرّفات فريدة UUID الإصدار 7، وهي تتضمن ختمًا زمنيًا ولذلك تبقى قابلة للترتيب زمنيًا بشكل طبيعي — وهو أمر عملي لاستخدامها مفتاحًا أساسيًا في قاعدة البيانات. يعتمد الحساب على واجهة التشفير في متصفحك، ولا يُرسَل أي شيء إلى خادم.

النتائج

كيف يعمل

بخلاف UUID v4 العشوائي بالكامل، يخصص UUID v7 أول 48 بتًا من المعرّف للختم الزمني لـ Unix بالميلي ثانية، تليها 74 بتًا عشوائية آمنة تشفيريًا. والنتيجة: يبقى معرّفا UUID v7 المولّدان بفارق بضع ثوانٍ متقاربين في الترتيب المعجمي، مما يحسّن أداء الإدراج في فهرس قاعدة البيانات (B-tree) مقارنةً بـ UUID v4 المبعثر تمامًا.

لماذا يُفضَّل UUID v7 على UUID v4 مفتاحًا أساسيًا؟

يسبب UUID v4 العشوائي تجزؤًا كبيرًا في فهارس B-tree عند الإدراجات الكثيفة، لأن كل معرّف جديد يقع في موضع لا يمكن التنبؤ به من الشجرة. أما UUID v7 فيتزايد مع الزمن مثل المعرّف التلقائي التزايد المعتاد، مع الاحتفاظ بميزة إمكانية توليده من جهة العميل دون تنسيق مع قاعدة البيانات.

هل يمكن استرجاع تاريخ الإنشاء الدقيق انطلاقًا من UUID v7؟

يمكن استخراج الختم الزمني بالميلي ثانية المرمّز في أول 48 بتًا، وبالتالي الحصول على تاريخ ووقت توليد المعرّف بدقة تقارب الميلي ثانية. وإذا كانت هذه المعلومة حساسة في سياقك، ففضّل UUID v4 الكلاسيكي الذي لا يكشف أي بيانات زمنية.

معالجة محلية 100%: يُحسب كل معرّف داخل متصفحك عبر crypto.getRandomValues، دون أي طلب شبكة.