Monday, July 26, 2010

ஆரக்கிள் எனும் குறி சொல்லும் தேவதை !



பண்டைய கிரேக்க காலத்தில் கடவுள்கள் "ஆரக்கிள்" என்று அழைக்கப்பட்ட தேவதைகள் மூலமாக மக்களிடம் பேசினார்களாம். அல்லது மக்கள் தங்கள் சுக துக்கங்களை, தங்களுக்குத் தெரியாத‌ செய்திகளை அறிய ஆரக்கிள் என்னும் "குறி" சொல்லும் தேவதைகளை நாடினார்கள் யாரோ ஒருவர் ஆழ்மனதின் ஏதோ ஒரு அற்புத சக்தி மூலமாக, உங்களுக்கு நடந்த‌ ஒரு செயலைப் பற்றியோ அல்லது நீங்கள் மட்டுமே அறிந்த ஒரு நிகழ்வைப் பற்றியோ கூறும் போது ஒரு ஆச்சர்யம் உண்டாகும் தானே....

ஆனால் நாம் இப்போது ஆன்மீகம் பேசப்போவதில்லை, இந்த புள்ளியில் இருந்து தொடங்கி தொழில்நுட்பம் பேசப் போகிறோம். சரி, இப்போ இன்னும் ஒரு 40 வருடம் கழித்து நீங்கள் உங்களது அறுபதாவது பிறந்தநாளையோ, என்பதாவது பிறந்தநாளையோ கொண்டாடும் போது, உங்கள் பேரன் உங்களுக்கு ஒரு பரிசளிக்கிறான். திற‌ந்து பார்த்தால், நீங்கள் உங்கள் மனைவிக்கு அனுப்பிய குறுஞ்செய்திகளின் தொகுப்பு ... அதுவும்... அவர் உங்களுக்கு அறிமுகமான போது, உங்கள் தோழியான பிறகு, உங்கள் காதலில் திளைத்திருந்த போது, உங்கள் மனைவியான புதிதில், திருமணத்திற்குப் பிறகு முதன்முதலில் நீங்கள் இருவரும் பிரிந்த்திருந்த சமயங்களில்......நீங்கள் அனுப்பிய தொகுப்பு. (சரி, "பொக்கிஷம்" கதை மாதிரி போகுதா, இருங்க விசயத்துக்கு வர்றேன்.)

இது சாத்தியமா ? இன்றைய நிலைமமைக்கே நிச்சயம் சத்தியம் தான். இப்படி எண்ணிலடங்கா செய்திகளை, எண்களை, இன்றைய‌ கணினி யுகத்தில் பரிமாறப்படும் அனைத்து தகவல்களையும் சேமித்து வைத்து நாம் "குறி" கேட்கும் போது வழங்கும் தேவதைகள் இருக்கத்தான் செய்கிறார்கள். அதில் ஒன்று "ஆரக்கிள்" எனும் டேட்டாபேஸ்.
இப்போ "ஆரக்கிள்" எனும் இந்த குறி சொல்லும் தேவதை எப்படி வேலை செய்கிறது என கொஞ்சம் சுருக்கமாவே பார்க்கலாம்.

ஆரக்கிள் சர்வர்(server) இரண்டு பகுதிகளைக் கொண்டது. பயனாளிகள் தகவலை அடைய உதவும் வழி, இன்ஸ்டன்ஸ் (instance) முதலாவது. மற்றொன்று தகவல் பெட்டகம் (database). ஒரு பயனாளி இந்த தகவல் பெட்டகத்திலிருந்து ஒரு தகவலைப் பெறவோ, புதிய தகவலை சேர்க்கவோ, அல்லது இருக்கும் தகவலை மாற்றவோ வேண்டுமென்றால், அவர் எஸ்.க்யு.எல் (SQL) என்ற கணினி மொழி மூலமே செய்ய முடியும். அதற்கு தேவையானவை இரண்டு.

1. ஆரக்கிள் சர்வராக(server) நிறுவப்பட்டுள்ள கணினிக்கும், பயனாளி உபயோகைக்கும் கணினிக்கும் இடையேயுள்ள நெட்வர்க். இது சரியாக இருக்கும் பட்சத்தில் பயனாளியின் கேள்வி (query) சர்வரை அடைந்து விடும்.
2. ஆரக்கிள் டேட்டாபேஸில் பயனாளிக்கு அளிக்கப் பட்டிருக்கும் உரிமைகள் (privileges). இந்த உரிமை சரியாக இருக்கும் பட்சத்தில் தனக்குத் தேவையானவற்றை பயனாளி பெற்றுக் கொள்ள முடியும்.

சரி, ஆரக்கிள் எப்படி தகவல்களை சேர்த்து வைக்கிறது? 

ஆரக்கிள் டேட்டாபேஸில் தகவல்கள் பட்டியல்களாகவே (tables) சேமிக்கப் படுகின்றன். இந்த பட்டியல்கள் அடங்கிய கோப்புகள் (files), முக்கியத்துவம் கருதி மூன்று பகுதிகளாக பிரிக்கப் பட்டுள்ளன.

1. தகவல் கோப்பு (datafile)
2. கட்டுப்பாட்டு கோப்பு (controlfile)
3. தகவல் பரிவர்த்தனைக் குறிப்புக்கான கோப்பு (redo log file).

இந்த கோப்புகளில் எழுதப்படும் தகவல்கள் அனைத்தும் "ஆரக்கிள் ப்லாக்ஸ்" (oracle blocks) எனப்படும் சிற்சிறு துண்டுகளாகவே சேமிக்கப்படுகின்றன. இப்பொழுது நமக்குத் தேவையான ஒரு தகவலை ஆரக்கிள் டேட்டபேஸிலிருந்து எப்படி பெறுவது என பார்ப்போம்.

1. பயனாளி தனக்குத் தேவையான கேள்வியை எஸ்.க்யு.எல் கணினி மொழியில் கேட்கிறார்.
2. நெட்வொர்க் இணைக்கும் பட்சத்தில் அது ஆரக்கிள் சர்வரை அடைகிறது.
3. ஆரக்கிள் இன்ஸ்டன்ஸ் அந்த கேள்வியின் பொருளை கிரகித்து அதற்கான தகவலைப் பெற முனைகிறது.
4. அதற்காக இன்ஸ்டன்ஸிலிருந்து டேட்டாபேஸை இணைக்கும் பின்புல செயல்முறைகள் செயல்படத் தொடங்குகிறது.
5. பின்புல செயல்முறைகள் சரியான தகவலை கட்டுப்பாட்டு கோப்பு (through controlfile) உதவியுடன் தகவல் கோப்பிலிருந்து (from datafile) பெற்று
 இன்ஸ்டன்ஸ் வழியாக பயனாளிக்கு தெரிவிக்கிறது.
6. இணையாக, என்ன பரிவர்த்தனை நடந்துள்ளது என்ற முழு விவரத்தையும் தகவல் பரிவர்த்தனைக் குறிப்புக்கான கோப்பில் (redo log file) சேமித்தும் வைக்கிறது. 

இவை அனைத்தும் சரியாக இயங்கும் பட்சத்தில், பயனாளி கேட்ட தகவல் நொடிப் பொழுதில் அவருக்குக் கிடைக்கிறது. 


இன்றைய எண்மயமாக்கப்பட்ட கணினி உலகில், வங்கி கணக்கு முதல் ரயில்வே முன்பதிவு வரை,  மின்னஞ்சல் கணக்கு முதல், தொலபேசி இணைப்பு வரை, குறுந்தகவல் முதல் தேர்தல் முடிவு வரை எந்தத் துறையை எடுத்துக் கொண்டாலும், அனைத்துமே ஏதேனும் ஒரு தகவல் பெட்டகத்தில் (database) இருந்து தான் இயங்குகிறது. எல்லையற்ற தகவல்களை ஒருங்கிணைத்து, பட்டியலிட்டு தேவையான நேரத்தில், தேவையான அளவில், தேவையான நபருக்கு வழங்குவதில் தான் இன்றைய தகவல் தொழில்நுட்பத்தின் சூட்சமம் இருக்கிறது.

***