Axelix ව්යාපෘතියේ තාක්ෂණ නායක Mikhail Polivakha, ව්යවසාය මට්ටමේ යෙදුම් නිර්මාණය කරන කණ්ඩායම් සමඟ වැඩ කරමින් පවතින අත්දැකීම් මත, දත්ත සමුදායේ natural keys කිසිදාත් භාවිත නොකරන්න යන තීරණාත්මක උපදෙස් දී ඇත.
ඔහු කියා සිටින්නේ, ඔබට රෙකෝඩ් එකක් හඳුනාගත හැකි තනි තීරුවක් (column) තිබුණාම, ඒක primary key ලෙස භාවිතා කිරීම තවත් බොහෝ ගැටළු ඇති කරයි. ඒ වෙනුවට, සෑම වාරයක්ම surrogate primary key (උදා: auto‑increment integer) භාවිතා කිරීම ආරක්ෂිතයි, නමුත් එය සරලම ක්රමයක්ද වේ.
Axelix ව්යාපෘතියේ අවධාරණය මේ තීරණය පිළිබඳ හොඳම උදාහරණයක්. මෙහි Master යෙදුම, Kubernetes, Docker හෝ සාමාන්ය JAR ආකාරයෙන් ධාවනය විය හැක. Master, Spring Boot සේවාවලින් instance‑වල තොරතුරු රැස් කර, ඒවා එකම යෙදුමට අයත් බව තීරණය කරනවා.
මෙහිදී natural key එකක් ලෙස GAV (GroupID/ArtifactID) යුගලය භාවිතා කිරීමට උත්සාහ කළා. නමුත්, එක් instance එකක් එකම GAV හිමිකම් ගත නොවීම, version වෙනස් වීම, හෝ වෙනත් naming conventions හේතුවෙන් ගැටළු ඇති වුණා. එම නිසා Master, instance‑වලට අදාළ surrogate key එකක් (UUID) භාවිතා කර, ඒ අනුව සම්බන්ධතා නිර්මාණය කළා.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණ සමාජය, විශේෂයෙන්ම startup සහ enterprise development වලට, මෙම උපදෙස් ඉතා වැදගත්. Surrogate key භාවිතය:
- දත්ත සමුදාය ආරක්ෂා කරයි: දෝෂ සහිත natural key එකක් වෙනස් වුවහොත්, සම්බන්ධතා බිඳී යාමක් නොවෙයි.
- විකාශකයින්ගේ කාලය ඉතිරි කරයි: මාරු කිරීම්, migration, testing වැනි ක්රියාවලීන් සරල කරයි.
- වෙළඳපොළේ තරඟකාරිත්වය වැඩි කරයි: වේගවත්, maintainable codebase නිසා නිෂ්පාදන වේගයෙන් ගොඩනැගිය හැක.
ශ්රී ලංකාවේ විශ්වවිද්යාල සිසුන්ටත්, මෙම නීතිය ඉගෙන ගැනීම, data modeling fundamentals මත පදනම් වූ සම්පූර්ණ අවබෝධයක් ලබා දේ. එමඟින්, ආගන්තුක සමාගම් සමඟ වැඩ කිරීමේදී හෝ ස්වයං පාලනයේදී ද, වෘත්තීය මට්ටමේ දක්ෂතා ඉහළ යයි.
අවසන් වශයෙන්, natural key භාවිතය වැළැක්වීම, දත්ත සමුදායේ අනාගත scalability, performance, security යන සියලුම අංගයන්ට වඩාත් සුදුසු පදනමක් සපයයි. ඔබත් ඔබේ ව්යාපෘතියේ primary key තේරීමේදී, surrogate key එකක් තෝරා ගැනීමට මතක තබා ගන්න.