OpenCode යනු කේත ලේඛන, මෙවලම් ප්රතිඵල, සහ පරිසර තොරතුරු සියල්ල එකම ගබඩාවක රැඳවෙන ප්රගතිශීලී ව්යාපෘතියකි. නමුත් නවතම පරීක්ෂණයක් පෙන්වන්නේ, මෙම ගබඩාවේ ගොඩක් ඉඩ ‘හිස්’ බවයි – එනම්, ගොනුවේ ප්රමාණය වැඩිවුණත්, සැබෑ දත්ත ප්රමාණය එතරම් නොවේ.
ලේඛකයාගේ පරිගණකයක ~/.local/share/opencode/opencode.db ගොනුව 1 GB කට වැඩිවීමක් දැකියි. ඒක තමා අසාමාන්යයක් නොවූවත්, SQLite ගොනුව විශ්ලේෂණය කිරීමෙන් එහි බොහෝ කොටස ‘freelist’ ලෙස හඳුන්වන හිස් පිටු බව හඳුනාගන්නා ලදී. මේ පිටු පද්ධතියේ අනාගත ලිවීම් සඳහා සුරක්ෂිත කර ඇති පූරණ ස්ථාන වේ, නමුත් ඒවා OS‑ට ආපසු ලබා නොදෙයි.
SQLite හි සාමාන්ය ක්රියාකාරිත්වය මෙහෙමයි: පේළි මකා දැමුවත්, ගොනුවේ ප්රමාණය අඩු නොවෙයි; එය පටල අගුලු කර ඇති ‘freelist’ එකක් ලෙස රඳා පවතී. ඒ නිසා ගොනුවේ 1.3 GB ප්රමාණයක් තිබුණත්, සැබැවින්ම ජීවිතවත් දත්ත 525 MB පමණයි. ඉතිරි 766 MB පේජ්වලින් පූරණය කර ඇති අභ්යන්තර ස්ථානයකි.
OpenCode හි මෙවලම්‑බහුල සැසිවලින් උත්පාදනය වන ලොකු, පලාත්රාස්ථ තොරතුරු මේ ගැටළුව වැඩි කරයි. සාමාන්ය චැට් යෙදුම පණිවුඩ පමණක් සුරක්ෂිත කරයි, නමුත් කේත‑ඇජන්ට් එක පණිවුඩ, මෙවලම් කැඳවීම්, shell ප්රතිඵල, ගොනු අන්තර්ගතය, todo ලැයිස්තු, සිදුවීම්, සහ සැසි මැටැඩ්රා තොරතුරු සියල්ල ගබඩා කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ ඩෙවලප්පර්, සිසු, සහ ව්යාපාරිකයින්ට OpenCode වැනි මෙවලම් භාවිතා කිරීමේදී දත්ත ගබඩාවේ සත්ය ප්රමාණය තේරුම් ගැනීම අත්යවශ්ය වේ. අධික ‘freelist’ නිසා ඩිස්ක් අවකාශය අහවර වීම, පද්ධති කාර්යක්ෂමතාව අඩු කිරීම, සහ backup/restore කාලය වැඩි කිරීම සිදුවේ. SQLite‑ගේ ‘VACUUM’ කමාන්ඩ් හෝ පරිමාණ පරීක්ෂණ (PRAGMA page_size, PRAGMA page_count, PRAGMA freelist_count) භාවිතයෙන් මේ ගැටළුව හඳුනාගෙන, අවශ්ය පරිදි පිරිසිදු කිරීම කළ හැක.
එබැවින්, ශ්රී ලංකාවේ තාක්ෂණික කාර්ය මණ්ඩලය මෙම තොරතුරු හඳුනාගනිමින්, වඩාත් කාර්යක්ෂම, පරිසර‑හිතකාමී, සහ ආරක්ෂිත සංවර්ධන පරිසරයක් ගොඩනඟා ගත හැක.
අවසානයේ, OpenCode ගබඩාවේ ‘freelist’ ගැටළුව පරීක්ෂා කර, SQLite‑ගේ අභ්යන්තර ක්රමවේදය හොඳින් අවබෝධ කර ගැනීම, දත්ත කළමනාකරණය සවිස්තරාත්මකව සිදු කිරීමේ මූලික පියවරයි.