Saturday, August 20, 2016

Database Servers

database server එකක් කිව්වම හැමෝටම මතක් වෙන්නෙ computers ගොඩක් තියෙන hubs switches තියෙන තැනක්.  හැබැයි එහෙම මතක් වෙනවා නම් එතන පොඩ් අවුලක් තියෙනවා මොකද db server එකක් කියන්නේ hard දෙයක් විතරමක් නෙමේ. database server එකක් කියන්නේ database services supply කරන computer එකක run වෙන computer program එකක්. ඒ වගේම ඒ program එක run වෙන computer එකටත් database server එක කියන්න පුළුවන්. හැබැයි හරිම විදියට කිව්වොත් database server එකක් කියන්නේ software හා hardware දෙකේම එකතුවක්.මෙහෙම කිව්ව database services supply කරන්න පුළුවන් program එකකට අපි කියනවා database management system එකක් කියල. mySQL, Oracle කියන්නනේ ඒවාට ප්‍රසිද්ධ dbms උදාහරණ. වෙන විදියකට කියනවා නම් database server එකක functionality (ක්‍රියාව) කරන්න පුළුවන් computer program එකක් තම dbms එකක් කියන්නේ.අපි තවත් විදියකට database server කියන එක විග්‍රහ කරොත්, database application එකක back-end එක කියල හදුන්වන්නත් පුලුවන්. 





Why databases?

ඇත්තටම මේ database එකක් ඕන වෙන්නේ මොන වගේ  දෙයකටද?බැංකුවක්  උදාහරණයට ගන්නකො. එතන ගොඩක්  transactions වෙනවා. ඒවා manually maintain කරන්න  උනා නම් ගොඩක් අමාරු වෙනවා නඩත්තු  කර ගන්න. එකට හොද විසදුමක් තමා database කියන concept එක. database එකක් පවත්වා පවත්ව ගත්තම ගොඩක්  වාසි තියෙනවා. ඒවා වෙනම සදහන් කරන්නම්.

Functions of databases 
  • share data දත්ත හුවමාරුව
  • data integrity දත්තවල සත්‍යබව 
  • data security දත්ත සුරක්ෂිතතාව
  • control redundancy අනවශ්‍ය අතිරික්තතව පාලනය 
දත්ත හුවමාරුව විදියට සලකන්නේ විවිධ අවස්ථාවලදී විවිධ අය සමග කරන දත්ත හුවමාරු. ඒ කියන්නේ බැංකුවක නම් bank officer enter කරන data userට බලන්න පුළුවන් එක වගේ කියන්න පුළුවන්. database එකක් ගොඩක් වැදගත් function එකක් තම intergrity කියන්නේ. database එකේ තියෙන data වල සත්‍යබව තමා මේකෙන් කතා කරන්නේ. ඊට අමතරව security හා redundancy controlling කියන දෙවල්නුත් database එකක ප්‍රධාන දේවල්.

What to know about database servers?

database server එකක වැඩ කරන්න Query language එකක් use කරන්න ඕන. mySQL කියන්නේ එහෙම language එකක්. ඒ කියන්නේ අපි database එකට data enter හෝ data retrieve කරන්න වගේම තව database සම්බන්ද වැඩ කරන්න තම query language එකක් ඕන වෙන්නේ. hardware වශයෙන් ගත්තම database server එකක් normal computer එකක් වුනත් run කරන්න පුලවන්. එත් ඒවාට වෙනම හදපු computers තියෙනව. ඒවා specially database server functionalities වලටම හදල තියෙන්නේ. ඒ වගේම ඒ computers run කරන්න වෙනම OS පවා තියෙනව. ලෝකේ වැඩියෙන්ම භාවිත වෙන්නේ linux base උන OS තමා.  Red Hat Enterprise Linux (RHEL) හා  SUSE Linux Enterprise Server තමා linux based OS servers වලට හොදම උදාහරණ. Apple computers වලට නම් OS X Server කියන OS එක තමා තියෙන්නේ. ඒ වගේම කවුරුත් දන්න microsoft ලගෙ තියෙන්නේ windows server කියන OS server එක.



වාසි අවාසි  !!!


database server එකක් use කරන එකේ වාසි අවාසි කීපයක් තියෙනව. 
අවාසි විදියට කියන්න පුළුවන් ඉතින් ආරක්ෂාව පිළිබද ප්‍රශ්නේ තම. ඒ කියන්නේ cyber attacks වලට ගොඩක් ගොදුරු වෙන දෙයක් තම data servers. ඒ වගේම අවශ්‍යතාව හදුනා නොගෙන implement කරන server එකක් උනත් අපරාදයක්. එකත් අවාසියක් වෙන්න පුළුවන් අවසානයේ. server එකේ capacity, performance එහෙම හොයල බලන්නැතුව use කරොත් එකත් අවසියෙක් වෙන්න පුළුවන්. 

වාසි ගැන කතා කරොත්,  සාමාන්‍ය වැඩකට data store කරන්න අපිට spread sheet එකක් ගන්න පුලුවන්. එත් මහා පරිමාණ වැඩක් කරන්න නම් database මට්ටමටම යන්න වෙනවා. එකෙත් පොඩි computer වල කරාම ඕන වැඩේ efficient විදියට කරගන්න බෑ.  ඒ අතින් ගත්තම database server කියන තැනට එන්න වෙනව. එක තම big picture එකක් විදියට කියන්න පුලවන්. ඒ වගේම concurrent access වගේ දේවල් කරන්න වගේම, backup data වගේ දේවල් කරන්න database servers implement කරන්න ඕන. මෙතන මම server කියල අදහස් කරන්නේ software එකක් නෙමේ. dbms එකක් run වෙන server machine එකක්.

New trends


අලුත්ම විදියට වැඩ කරන තැන වල නම් databse එකක් run කරන්න අලුතෙන් server machines ගන්නේ නෑ. ඒකට තියෙන හොදම විසදුම තම cloud computing කියන concept එකෙන් ලැබිල තියෙන්නේ. එකෙන් වෙන්නේ මොකක් හරි company එකක් කොහේ හරි තැනක ගොඩක් හොද efficient server machines implement කරනවා. ඊට පස්සේ service එක අවශ්‍ය අයට යම් මුදලකට ඉඩ ලබා දෙනවා.එටකොට databse server එකේ hardware  සම්පුර්ණ වෙන්ව. software පැත්ත තමා අපි බල ගන්න ඕන. 


A database server installed in FB HQ


Security of database servers



database එකක් ගත්තම security කියන එකම අත්‍යාවශ්‍යම දෙයක්. එහෙම ආරක්ෂාව තහවුරු වෙන්න නම් database එක run වෙන server machines secure වෙන්න ඕන. ලෝකේ දැන් ලොකු ප්‍රශ්නයක් වෙන තියෙන්නේ cyber crimes කියන එක. එකේ ලොකුම තර්ජනයක් තියෙන දෙයක් තමයි server security කියන එක. මොකද, server එකක් physicaly වගේම virtualy ත් තර්ජනයට ලක් වෙන්න පුළුවන්. virtual attacks වලින් මිදෙන්න තම ගොඩක් අමාරු. එකට කරන්න තියෙන්නෙත් ගෙදර computer එකට කරනවා වගේම ආරක්ෂාවක් තම. හැබැයි මේක ඊට වැඩ දරුණු විදියට ආරක්ෂා වෙන්න ඕන. මම එකෙන් අදහස් කරේ මේවටත් virus guard use කරනවා. unauthorized access නොදීම, remote access වලදී පරිස්සම් වෙන්න වගේ දේවල් කෙරෙන්න ඕන. 
මේ ගැන ටිකක් හොද ලිපියක් තම මේ link එක තියෙන්නේ.