dt devtool.co.il כלים לפיתוח — בעברית
מחוללים UUID Generator

מחולל UUID

יצירת מזהים ייחודיים — UUID v4 ו-v7

מה זה UUID?

UUID (Universally Unique Identifier) הוא מזהה של 128 ביט (16 בתים), שמוצג בדרך כלל כ-32 תווים הקסדצימליים מופרדים במקפים: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. המטרה היא לייצר מזהים ייחודיים ללא צורך בתיאום בין שרתים — שני שרתים שונים יכולים ליצור UUIDs ועדיין להיות בטוחים שהם לא יתנגשו.

UUID v4 — אקראי טהור

v4 מבוסס על 122 ביט של אקראיות. הסיכוי להתנגשות נמוך כל כך שבפועל הוא נחשב זניח — אפשר לייצר מיליארדי UUIDs ביום ולא לצפות לכפילות ב-100 שנה. זו הגרסה הנפוצה ביותר בקוד אפליקציה.

UUID v7 — ממוין בזמן

v7 (סטנדרט משנת 2024) משלב Unix timestamp ב-48 הביטים הראשונים + אקראיות. התוצאה: UUIDs שניתנים למיון כרונולוגי (ולכן יעילים כמפתחות ראשיים ב-DB ב-B-tree index), אבל עדיין ייחודיים. מומלץ לשימוש במסדי נתונים מודרניים שמבוססים על מיון.

v4 או v7?

  • v4 — ברירת מחדל טובה כשהמזהה לא מגיע למסד נתונים אינדקסד, או כשחשוב שלא יהיה רמז לזמן היצירה
  • v7 — כשה-UUID הולך לעמודת primary key ב-PostgreSQL/MySQL ואתה רוצה insert performance טוב יותר מ-v4

למה UUID ולא auto-increment?

מזהים עולים (1, 2, 3...) דורשים מקור אמת יחיד — מסד הנתונים. במערכות מבוזרות זה צוואר בקבוק. UUID מאפשר לכל שרת (ואפילו ללקוח במכשיר של המשתמש) לייצר מזהים ייחודיים לפני שהרשומה נשלחת לשרת, מה שמאיץ UIs אופטימיים ומפשט replication.

כלים קשורים