වෙබ් යෙදුම් වල දත්ත ගබඩා කිරීමේදී ප්රාථමික යතුරු (primary key) ලෙස UUID v4 භාවිතා කරන්නේ බොහෝ විට ගැටලුවක් වෙයි. එම අංකයන් අහඹු ලෙස බෙදා හැරෙන නිසා B‑Tree දර්ශකය පිරිසිදු නොවී, පිටු බෙදීම වැඩිවීමෙන් කාර්ය සාධනය අඩු වේ.
මෙම ගැටලුවට විසඳුමක් ලෙස RFC 9562 හි නවීකරණය කළ UUID v7 ඉදිරිපත් කර ඇත. එහි මුල් 48 බිට් වලට මිලි තත්පර Unix කාලය ඇතුළත් කර, පසුගිය අංකයන් සකස් කිරීමේ ක්රමය සමඟ සකස් කරයි. ඒ නිසා ජනන කාලය සහ අනුක්රමිකත්වය එකට ගැලපෙයි, දත්ත ගබඩාවේ locality ආපසු ලැබේ.
ලේඛකයා මෙම UUID v7 ජනකය බ්රවුසරයේ පූර්ණයෙන්ම JavaScript භාවිතයෙන් සකස් කර ඇත. crypto.getRandomValues මගින් රහස්ය රැඳවුම් ලබා ගනිමින්, timestamp‑ය පළමු හය බයිට් වලට බිට්‑වලට පිරවීම, පසුපස version (7) සහ variant (10xx) නියම කිරීම සිදු කරයි. JavaScript හි bitwise මෙහෙයුම් 32‑bit පමණක් පවත්නා බැවින්, බෙදා ගැනීම (division) පදනම් කරමින් 0xff සමඟ AND කිරීම ආරක්ෂිත ක්රමයක් බව ලේඛකයා අවධාරණය කරයි.
ඇතත්, එකම මිලි තත්පරයේ UUID දෙකක් ජනනය කළහොත් මුල් 48 බිට් එකසේ වන අතර ඉතිරි 80 බිට් අහඹු වේ. එම නිසා ඒ දෙකේ අනුක්රමිකත්වය අස්ථානගත විය හැක. කඩිනම් වර්ධනයක් අවශ්ය නම්, 12‑bit rand_a ක්ෂේත්රය කවුන්ටරයක් ලෙස භාවිතා කර, එකම මිලි තත්පර තුළ අගය වැඩි කර, මිලි තත්පරය වෙනස් වීමේදී නැවත රැඳවිය යුතුය.
ශ්රී ලංකාවට ඇති වැදගත්කම
- සිසුන්ට – UUID v7 භාවිතා කරමින් තත්පර‑අනුක්රමික දත්ත වගු නිර්මාණය කිරීම, දත්ත විශ්ලේෂණ පාඨමාලා වල ප්රායෝගික උදාහරණයක් වේ.
- සංවර්ධකයන්ට – බ්රවුසරයේ පමණක් ක්රියාත්මක කළ හැකි ලායිට් UUID ජනකයක්, බාහිර පුස්තකාලයක් අවශ්ය නොවීම නිසා පෞද්ගලික ව්යාපෘති හා open‑source ප්රොජෙක්ට් වල වේගවත් සංවර්ධනයට හැකියාව ලැබේ.
- ව්යාපාරිකයන්ට – කාල‑අනුක්රමික ප්රාථමික යතුරු DB index fragmentation අඩු කරයි, ඉදිරිපත් කිරීමේ වේගය වැඩි කරයි, එමනිසා e‑commerce, fintech වැනි ක්ෂේත්රවල පරිශීලක අත්දැකීම වර්ධනය වේ.
අවසානයේ, UUID v7 කාල‑අනුක්රමිකතාවය සහ මොනෝටොනික ජනක යෙදුම ඔබේ යෙදුමට අත්යවශ්ය නම්, මෙය හොඳ විසඳුමක්. නමුත් සරල “ඇස්තමේන්තු” පරිසරයකට සාමාන්ය UUID v4 තවමත් ප්රයෝජනවත්.