தரவுச் சுரங்கம் - 12

தரவுச் சுரங்கமும் (Data Mining), நிகழ்தரவு பகுப்பாய்வு முறையும் (Online Analytical Processing) ஒன்றுக்கொன்று தொடர்புடையவை மட்டுமல்ல. ஒன்றையொன்று சார்ந்தும் இருப்பவையாகும். இரண்டுமே வியாபார நுண்ணறிவைப் பெறுதற்கு முக்கியப் பங்கு வகிக்கின்றன.

தரவுச்சுரங்கத்தின் முக்கியப் பயன்கள் அல்லது நோக்கங்கள்:

  1. தரவிலிருக்கும் பாங்குகள் அல்லது திரும்பத் திரும்ப வரும் வார்ப்புகளைக் கண்டறிதல். (Hidden Patterns)
  2. பெருந்தரவினைப் பகுப்பாய்வு செய்தல்
  3. எதிர்காலத்தில் என்ன நிகழக் கூடும் என்று கணித்தல்
  4. தரவு சார்ந்த முடிவெடுத்தல்

தரவுச் சுரங்கத்தின் உறுப்புகள்:

  1. தரவு குறித்த அறிவுத்தளம் (knowledge base)
  2. தரவுச் சுரங்கப் பொறியமைப்பு
  3. தரவிலிருக்கும் வார்ப்பு/மாதிரி/பாங்கு கண்டறியும் உறுப்பு
  4. பயனர் இடைமுகம் (User Interface)

தரவுச் சுரங்கத்தின் படிநிலைகளாவன:

  1. வியாபாரம் குறித்த புரிதல் (business understanding)
  2. தரவு குறித்த புரிதல் (data understanding)
  3. தரவு தயார்படுத்தல் (data preparation)
  4. மாதிரி உருவாக்கம் (pattern designing)
  5. அளவிடுதல்/சீரமைத்தல்/சரிபார்த்தல் (evaluation)
  6. பயன்பாட்டுக்கு விடுதல் (deployment)

தரவுச் சுரங்கத்தில் பயன்படுத்தும் உத்திகள்:

  1. பகுத்தல் (Classification)
  2. தொகுத்தல் (Clustering)
  3. கணித்தல் (Regression)
  4. விளிம்பு கண்டறிதல் (Outliers)

நிகழ்தரவு பகுப்பாய்வு முறையின் பயன்கள்:

  1. தரவில் பல்பரிமாணம் உணர்தல் மற்றும் பகுப்பாய்வு செய்தல்
  2. நடந்து முடிந்த/நடக்கின்ற நடவடிக்கைகளை ஆராய்தல்
  3. குறிப்பிட்ட கால அளவில் தரவு சார்ந்த முடிவெடுத்தல்

நிகழ்தரவு பகுப்பாய்வு முறையில் கனதரவில் பயன்படுத்தும் செயல்பாடுகள்:

  1. அச்சு அமைப்பு (Pivoting)
  2. பகடை/பாய்ச்சிகை (Dicing)
  3. துண்டாடுதல்/வெட்டுதல் (Slicing)
  4. துளையிடல் (Drilling Down)
  5. உருட்டுதல் (Rolling Up)

நிகழ்தரவு பகுப்பாய்வின் முக்கிய வகைகள்:

  1. பல்பரிமாணப் பகுப்பாய்வு (Multidimensional OLAP)
  2. உறவுமுறை பகுப்பாய்வு (Relational OLAP)
  3. கலப்பின பகுப்பாய்வு (Hybrid OLAP)

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

தரவுச் சுரங்கம் - 11

சென்ற பகுதியில் ஒரு முக்கியமான சொற்றொடரைக் கண்டோம். அதுபற்றிய விளக்கமாகவே இந்தப் பகுதி அமைந்துள்ளது. தரவு பகுப்பாய்வில் மிகவும் பிரபலமானதும் அனைவரும் சரளமாகப் பயன்படுத்தப்படுவதும் இச்சொற்றொடரின் முக்கியத்துவத்தைப் பறைசாற்றும்.

ஆங்கிலத்தில் Online Analytical Processing என்று முழுமையாகவும் OLAP என்று சுருக்கமாகவும் அழைக்கப்படுகின்றது இச்சொற்றொடர். நிகழ்வுகளின் தரவை நடவடிக்கையின் அடிப்படையில் பார்க்காமல் அல்லது பார்த்து முடித்தவுடன் அதை மூட்டை கட்டி வைத்து விடாமல், அதைத் தரவுக் கிட்டங்கியில் தகுந்த முறையில் அடுக்கி வைத்துப் பின் அதைத் தொடர் பகுப்பாய்வுக்கு உட்படுத்துவதே இவ்வாறு அழைக்கப்படுகின்றது.

செய்தி எப்போது தரவாகின்றதோ அப்போதே அது மதிப்பு மிக்கதாகி விடுகின்றது என்று முன்பே கண்டோம். எப்போதைய தரவாக இருந்தாலும் அது எப்போதும் மதிப்பு மிக்கது தான். தினந்தோறும் நடவடிக்கைகள் நடைபெற்று முடிந்ததும் அதை உதாசீனப்படுத்தாமல் தொடர்ந்து பகுப்பாய்வு செய்வதன் மூலம் வியாபாரத்தில் பல அறிவார்ந்த முடிவுகள் எடுக்க முடியும் என்பது எந்த வித சந்தேகத்துக்கும் இடமின்றி நிரூபணமாகி இருக்கின்றது.

மாதந்தோறும் அல்லது குறிப்பிட்ட கால அடிப்படையில் வியாபார அறிக்கைகளைக் கண்காணித்து அதன்படி முடிவுகள் எடுக்கப்பட்டு வியாபாரம் நடைபெற்று வரும் காலம் மலையேறி வருகின்றது. குறிப்பிட்ட காலம் முடியும் வரை நாம் காத்திருக்க முடியாத அவசர அவசிய காலகட்டத்தில் இப்போது இருக்கின்றோம்.

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

உண்மையில் இந்த நிகழ்தரவு பகுப்பாய்வு முறையில் அப்படி என்ன தான் நடக்கின்றது என்று கேள்வி கேட்போம். இங்கு காலங்காலமாக சேர்ந்து கொண்டே இருக்கும் பெருந்தரவு அல்லது தற்போது நடைபெற்றுக் கொண்டிருக்கும் நிகழ்தரவு இவற்றைப் பல்பரிமாண நோக்கில் ஆய்வு செய்தல் நடக்கின்றது என்பதே விடையாகக் கிடைக்கின்றது.

நாம் முதல் பகுதியில் கண்ட தரவைப் பல பரிமாணங்களில் காண முயற்சி செய்யும் கன தரவு (Data Cube) முறையும் இந்த ஆய்வில் தான் பிறக்கின்றது. ஆக, இந்த நிகழ்தரவு பகுப்பாய்வு முறை என்பது பாற்கடலைக் கடைந்து எடுப்பதைப் போல பல புதுமைகளையும் அமுதங்களையும் நமக்கு வாரி வாரி வழங்கிக் கொண்டே இருக்கின்றது.

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

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

            இனி அடுத்த பகுதியில் இந்த நிகழ்தரவு பகுப்பாய்வு முறையை உருவாக்கிப் பயனுள்ளதாக ஆக்கிக் கொள்வதற்கான படிநிலைகளை விரிவாகக் காண்போம்.

தரவுச் சுரங்கம் - 10

நெடுவரிசைத் தரவுத்தளம்: (Columnar Database)

            நெடுவரிசைகளில் (Columns) வேண்டிய தரவைச் சேமிப்பது என்பது ஏதோ புதிதாய் கண்டுபிடிக்கப்பட்டது அல்ல. நாம் நிரைகளிலேயே (Rows) தரவுகளைப் பார்ப்பது வழக்கமாக இருப்பதால் இது புதிதாகத் தோன்றுகின்றது. நமது தேவைக்குத் தகுந்தவாறு நிரைகளிலோ நிரல்களிலோ தரவுகளைச் சேமித்து வைப்பது நல்லது. அதிலும் தரவுக் கிட்டங்கிகளில் (Data Warehouses) சேமித்து வைத்துப் பின்னர் தரவுச்சுரங்கத்தில் (Data Mining) பயன்படுத்துவதற்கு இந்த வகை தரவுத்தளம் பொருத்தமானதாக இருப்பதால் இதைப் பயன்படுத்துகின்றனர்.

            இனி, ஒரு சிறு எடுத்துக்காட்டின் உதவியோடு இந்த நெடுவரிசைத்தளத்தினைப் பற்றி அறிந்து கொள்வோம். ஒரு விற்பனைத் தரவு அட்டவணையில் ஒரு லட்சம் வரிகளும், பதினைந்து நெடுவரிசைகளும் இருக்கின்றது என்று வைத்துக் கொள்வோம். இதில் பதிநான்காவது நெடுவரிசையில் விற்பனைத் தொகை இருப்பதாக வைத்துக் கொள்வோம். இப்போது ரூ. 10000/-க்கு அதிகமான விற்பனைத் தொகைகளைப் பட்டியலிட வேண்டியிருந்தால் நிரை தரவுத்தளத்தில் ஒரு லட்சம் வரிகளையும் பார்வையிட வேண்டும். ஒவ்வொரு வரியைப் பார்வையிடும் போதும் தேவையில்லாத மற்ற பதிநான்கு நெடுவரிசைகளையும் தாண்டித் தாண்டி வன்தட்டிலிருந்து தகவல்கள் எடுக்கப்படுவதால் மிகவும் நேரமெடுக்கும். அதுவே 1 லட்சம் விற்பனைத் தொகைகளும் ஒரே நெடுவரிசையாகச் சேமிக்கப்பட்டிருந்தால் மிகக் குறைந்த நேரத்திலேயே தேவையான பதிலை எடுத்துவிட முடியும்.

வ.எண்தேதிபெயர்சம்பளம்
101-09-2022முருகன்100000
201-09-2022குமரன்150000
301-09-2022தமிழ்ச்செல்வன்120000
401-09-2022கண்ணன்125000
501-09-2022தென்றல்120000
601-09-2022ரவி100000
701-09-2022சந்திரன்110000

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

101-09-2022முருகன்100000201-09-2022குமரன்1500003

இதையே நெடுவரிசைத் தரவுத்தளத்தில் கீழ்க்கண்டவாறு பதிவிடப்படும்.

வ.எண் தேதி 1 01-09-2022 2 01-09-2022 3 01-09-2022 4 01-09-2022 5 01-09-2022 6 01-09-2022 7 01-09-2022வ.எண் பெயர் 1 முருகன் 2 குமரன் 3 தமிழ்ச்செல்வன் 4 கண்ணன் 5 தென்றல் 6 ரவி 7 சந்திரன்வ.எண் சம்பளம் 1 100000 2 150000 3 120000 4 125000 5 120000 6 100000 7 110000 

இதை வன்தட்டில் பதியும் போது கீழ்க்கண்டவாறு பதிந்தால் போதும்.

01-09-2022:1,2,3,4,5,6,7

முருகன்:1;குமரன்:2;தமிழ்ச்செல்வன்:3;கண்ணன்:4;தென்றல்:5;ரவி:6; சந்திரன்:7

100000:1,6;15000:2;120000:3,5;125000:4;110000:7

01-09-2022 என்ற தேதி ஒரே ஒருமுறை மட்டும் பதியப்படுவதையும், வரிசை எண் மட்டுமே திரும்ப வருவதையும் கவனியுங்கள். இதில் ஒவ்வொரு நெடுவரிசைக்கும் சுட்டுகையும் (Index) உருவாக்கிவிட்டால் இன்னும் வேகமாகத் தரவுகளை மீட்டெடுக்க முடியும். இந்த முறையில் ஒரு தகவல் ஒருமுறை மட்டுமே சேமிக்கப்பட்டு வன்தட்டின் பயன்பாட்டு அளவும் கணிசமாகக் குறைகின்றது.

லட்சம் வரிகளில் சேமிப்பதை 15 நெடுவரிசைகளில் சேமிப்பது உகந்தது தானே? மேலும், தரவுகளைப் பகுப்பாய்வு செய்யும் போது நாம் எப்போதும் முழு வரியையும் தேர்ந்தெடுப்பதே இல்லை. (எ.கா. 120000க்கு மேல் சம்பளம் வாங்குபவர்களின் பெயர் மட்டுமே தேவைப்படுமே ஒழிய முழு முகவரி, அவர் வேலைக்கு வந்த நாட்கள், விடுமுறை எடுத்த நாட்கள் போன்ற தகவல்கள் தேவையில்லை தானே? )

ஆனால் அதுவே மாதாந்திரச் சம்பள அறிக்கை எடுக்கும் போது முழு முகவரியும் மேலே குறிப்பிட்ட அனைத்து தகவல்களுமே தேவைப்படக்கூடும். எனவே நடவடிக்கைகளைச் சேமித்து வைத்து முழு நடவடிக்கைகளின் தகவல்களும் தேவைப்படும் நிகழ்நிலை நடவடிக்கைச் செயலாக்கத்திற்கு (Online Transaction Processing – OLTP) நிரைவரிசை முறை சிறப்பானதாகும்.

நெடுவரிசைத் தரவுத்தளத்தில் மீட்டெடுக்கும் நேரம் மிகக் குறைவானதாக இருந்தாலும், புதியதாக ஒரு வரியை உள்ளீடு செய்து சேமிப்பது அதிக நேரமெடுக்கும். எனவே தான் ஒரே நேரத்தில் அதிக நடவடிக்கைகளைப் பதிவதற்கு இந்த தரவுத்தளம் உகந்ததல்ல. நடவடிக்கைகள் முடிந்த பின்னர் அத்தகவல்களைப் பகுப்பாய்வு செய்வதற்கான நோக்கத்துடன் (Online Analytical Processing - OLAP) அடுக்கி வைக்கப்படும் தரவுக்கிட்டங்கிகளில் முக்கியமாக இந்த நெடுவரிசைத் தரவுத்தளங்கள் பயன்படுத்தப்படுகின்றன.

தற்போதைய மைக்ரோசாப்ட் ஆஃபீஸ் 365 பதிப்பில் தரவு பகுப்பாய்வுக்கு இந்த வகை தரவுத்தளம் பயன்படுத்துவதால், எக்செல் மென்பொருளின் 1048576 வரிகள் என்ற குறைபாடில்லாமல் எத்தனை கோடி வரிகள் கொண்ட தரவாக இருந்தாலும் மிகச் சிறப்பாக பகுப்பாய்வு செய்ய முடிகின்றது.

தரவுச் சுரங்கம் - 9

இதுவரை நாம் கண்டது அனைத்தும் தரவுத்தளம் குறித்த அடிப்படை ஆகும். இவையெல்லாம் நாற்பது ஆண்டுகளுக்கும் மேலாக நடைமுறையில் இருக்கின்றன! இந்தப் பகுதியில் தற்போதைய தரவுத்தளப் புதுமைகளைக் கண்டு பின் நமது தரவுச்சுரங்கப் பயணத்தைத் தொடரலாம்.

  • பொருள் சார் தரவுத்தளம்: (Object Oriented Database)

1980 களில் பொருள் சார்ந்த நிரலாக்கம் (Object Oriented Programming -OOP) பிரபலமடைந்தது. இதனால் தரவுத்தளங்களில் சேமித்திருக்கும் தரவுகளைக் கையாளும் முறையும் சற்று மாறியது. மென்பொறியாளர்களும் வடிவமைப்பாளர்களும் தரவுத்தளங்களில் உள்ள தரவுகளை ஒரு பொருளாக அணுக முற்பட்டனர்.  உதாரணமாக ஒரு நபரை பொருளாகவும், அவரைப்பற்றிய தகவல்களின் அந்த பொருளின் பண்புகளாகவும் பார்க்கப்படுகிறது. தரவுகளை வெறும் அட்டவணையாகவும் அதிலுள்ள வரிசையாகவும் பாவிக்காமல், ஒவ்வொரு வரிசையையும் ஒரு பொருளாகவும், அதிலுள்ள அனைத்துத் தகவல்களும் அதன் பண்புகளாகவும் பாவிக்கப்படுகிறது. இதனால் தரவுகள் அட்டவணைக்கும் அதிலுள்ள நெடுவரிசைக்கும் சொந்தமானது என்று பார்க்காமல், அவை அணைத்தும் அதனதன் பொருளிற்கு சொந்தமாகப் பார்க்கப்படுகிறது.

இதனால் சில சிக்கல்கள் ஏற்படுகிறது. இந்த சிக்கல் பொருள் - தொடர்பு பொருத்தமின்மை என்று அழைக்கப்படுகிறது. பொருள் தரவுத்தளங்கள் மற்றும் பொருள்-தொடர்புசால் தரவுத்தளங்கள் ஆகியவை இந்த சிக்கலை தீர்க்க அதன் வினவு மொழிகளை மாற்றி அமைத்தனர். இந்த சிக்கலைத் தீர்பதற்கு இன்னொரு முயற்சியே பொருள்-தொடர்பு மேப்பிங் ஆகும். (நன்றி விக்கிபீடியா)

  • கட்டமைப்பு மட்டுமல்லா வினவு மொழி: (NoSQL)

ஏற்கனவே நாம் இது வரை கண்ட உறவுமுறை தரவுத்தள மேலாண்மையில் எளிமைக்கு மிகப் பெரிய பங்கு வகிப்பது எளிய கட்டமைப்புள்ள வினவு மொழி ஆகும். (Structured Query Language – SQL). நம்மிடையே இருக்கும் பல தரவுகள் கட்டமைப்புள்ள தரவுகள் தான் என்றாலும், கட்டமைப்பில்லா மற்றும் பகுதி கட்டமைவுள்ள தரவுகளையும் (எடுத்துக்காட்டு: மின்னஞ்சல்) நிர்வகிப்பதற்கு 2000களில் உருவான தொழில்நுட்பம் இதுவாகும். மையத் தரவுத்தளங்களிலிருந்து விடுபட்டு இணையத்தில் தரவுகளைச் சேமித்து வைக்க வேண்டிய கட்டாயத்துக்கு நாம் தள்ளப்பட்டுள்ளோம். இதற்குப் பெருந்தரவு ஒரு முக்கியமான காரணியாகும். மேகக்கணிமையும், பகிர்ந்தமை தரவுத்தளங்களும் கோலோச்சும் இந்தக் காலகட்டத்தில் கட்டமைப்பு உள்ள தரவுமொழி சரியானது அல்ல. எனவே பழையன கழிதலும் புதியன புகுதலுமாக கட்டமைப்பு மட்டுமல்லா வினவு மொழி தற்போது நடைமுறையில் உள்ளது. (Not only SQL).

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

ஆகவே, ஒரு இணையப்பக்கத்துக்குத் தேவையான அனைத்துத் தரவுகளும் ஒரே ஆவணமாகச் சேமிக்கப்படுவது சிறப்பாக இருக்கும். இதில் பலவகைகள் இருந்தாலும்,  சாவி-மதிப்பு கிட்டங்கிகள் (Key-Value Stores) மற்றும் கோப்பு சார் தரவுத்தளம் ஆகியவை மிகவும் குறிப்பிடத் தக்கவை ஆகும். இவற்றில் முக்கியமாக XML மற்றும் JSON வடிவத்தில் தரவுகள் சேமிக்கப்படுகின்றன. இதனாலேயே வருமான வரித் தாக்கல் செய்வதும், சரக்கு மற்றும் விற்பனை வரி தாக்கல் செய்வதும் தற்போது இந்த வடிவங்களில் தாக்கல் செய்யப்படுகின்றது.

  • நெடுவரிசைத் தரவுத்தளம்: (Columnar Database)

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

எனவே தரவைப் பகுப்பாய்வு செய்ய இந்த நெடுவரிசை தரவுத்தளம் மிகவும் உதவிகரமாக இருக்கின்றது. தரவுச்சுரங்கத்தில் தோண்டி விலைமதிப்பில்லா ஞானத்தைப் பெறுவதற்கு நாம் இன்னும் இது பற்றி அடுத்த பகுதியில் அதிகம் அறிந்து கொள்வோம்.

தரவுச் சுரங்கம் - 8

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

  1. முதல் இயல்புப் படிவம் – First Normal Form

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

இப்போது ஒரு எடுத்துக்காட்டைக் காண்போம்:

வரிசை எண்பெயர்அலைபேசிஎண்
1குமார்9123456789, 9234567890
2ரவி9421541251
3வேலவன்

என்றொரு பட்டியல் இருப்பதாய்க் கொள்வோம். மேற்கண்ட பட்டியலில் குமாருக்கு மட்டும் இரண்டு அலைபேசி எண்கள் இருக்கின்றன. வேலவனுக்கு அலைபேசி எண் இல்லை. தரவுத்தள மேலாண்மையில் மிக முக்கியமானதாக் கருதப்படும் ககாட் அவர்களின் 13 விதிகளில் ஒன்று வெற்றிடத்தை அறிவியல்பூர்வமாக நிர்வகிக்க வேண்டும் என்பதாகும். கூடுமானவரை வெற்றறையைத் தவிர்க்க வேண்டும்.

முதல் இயல்புப் படிவத்தின் விதிப்படி ஒரு அறையில் ஒரு தகவல் தான் இருக்க வேண்டும். இரண்டு அலைபேசி எண்களை வைப்பது சரியல்ல. எனவே மேற்கண்ட பட்டியலை இரண்டாகப் பிரித்து கீழ்க்கண்டவாறு அமைப்பது முதல் படிவ இயல்பாக்கம் என்றழைக்கப்படுகின்றது.

வரிசை எண்பெயர்
1குமார்
2ரவி
3வேலவன்
வரிசை எண்அலைபேசி எண்
19123456789
19234567890
29421541251

இப்போது வெற்றிடமே இல்லை என்பதையும், ஒரு அறையில் ஒரு தகவல் மட்டும் இருப்பதையும் காணலாம். வரிசை எண் முதல் அட்டவணையில் முதன்மைத் திறவியாகவும், இரண்டாம் அட்டவணையில் அந்நியத் திறவியாகவும் செயல்படுகின்றது.

கீழ்க்கண்ட பட்டியலிலும் முதல் படிவ இயல்பாக்கம் செய்ய இயலும்.

எடுத்துக்காட்டாக நமது கடையில் மொத்தம் மூன்று பொருட்கள் இருப்பதாகவும் அதற்கான விற்பனைப் பட்டியலில் மேற்கண்ட தகவல்களிருப்பதாகவும் கொண்டால் அதை ஒரே பட்டியலில் சேமிக்கும் போது எத்தனை வெற்றிடங்கள் காணக்கிடைக்கின்றன என்று பாருங்கள்? அனைவரும் மூன்று பொருட்களும் வாங்க முடியாது தானே? இதுவே நூற்றுக்கு மேற்பட்ட பொருட்கள் கொண்டிருக்கும் ஒரு கடையென்றால் அதன் நிலை என்ன? அதுவே முதல் படிவ இயல்பாக்கம் செய்யும் போது எளிதாகின்றது.

கீழ்க்கண்ட இரு பட்டியல்களைப் பாருங்கள். எங்கும் வெற்றிடம் இல்லை. எத்தனை பொருட்கள் இருந்தாலும் கவலையில்லை என்பது புரியும்.

மேற்கண்ட பட்டியல்களிலும் எண் முதன்மை மற்றும் அந்நியத் திறவியாகப் பயன்படுகின்றது.

  • இரண்டாம் இயல்புப் படிவம் (Second Normal Form)

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

எடுத்துக்காட்டில் மஞ்சள் நிறத்திலிருப்பவை முதன்மைத் திறவிகள். பச்சை நிறத்திலிருப்பவை அந்நியத் திறவிகள்.

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

  • மூன்றாம் இயல்புப் படிவம் (Third Normal Form)

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

எடுத்துக்காட்டாக கீழ்க்கண்ட வாடிக்கையாளர் பட்டியலைப் பாருங்கள்.

இதில் வாடிக்கையாளரின் ஊர் அவருக்கு மட்டுமே உரியதில்லை தானே? அவரது பெயருக்கு அவர் உரிமை கொண்டாடலாம். ஆனால் ஊருக்கே அவர் உரிமை  கொண்டாட முடியாது அல்லவா? ஒரே ஊரில் பலரும் இருக்கலாம் தானே? எனவே அதையும் கீழ்க்கண்டவாறு மற்றுமொரு பட்டியலாகப் பிரிப்பதையே மூன்றாம் இயல்புப் படிவம் என்கின்றோம்.

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

தரவுச் சுரங்கம் - 7

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

            அவை பெரும்பாலும் கீழ்க்கண்ட உறவுமுறைகளைக் கொண்டுள்ளன:

  1. முதன்மை – நடவடிக்கை தரவு (Master – Transaction Data)
  2. பெற்றோர் – குழந்தை உறவு (Parent – Child Relationship)

இவ்விரண்டும் கிட்டத்தட்ட ஒரே பொருளைக் குறிப்பதாக இருந்தாலும் தனித்தனியான குணத்தினைக் கொண்டே விளங்குகின்றன.

முதன்மைத் தரவு எனும் போது அது ஒரு உருபொருளின் நிரந்தரமான தன்மையைக் குறிக்கின்றது. எத்தனை ஆண்டுகள் ஆனாலும் அவற்றின் பயன்பாடு மாறுவதில்லை (Relatively permanent). எடுத்துக்காட்டாக ஒரு வாடிக்கையாளரின் பெயர்/அலைபேசி எண்/முகவரி ஆகிய தரவுகள் அடிக்கடி மாற்றப்படுவதில்லை.

நடவடிக்கைத் தரவோ அந்த நடவடிக்கை நடப்பில் இருக்கும் வரை மட்டுமே முக்கியத்துவம் பெறுகின்றது. நடவடிக்கை முடிந்ததும் அது கண்டுகொள்ளப்படுவதில்லை (temporary usage). எடுத்துக்காட்டாக, காலாண்டுத் தேர்வு முடிந்து மாணவர்கள் எடுக்கும் மதிப்பெண்கள் தரவு அவர்கள் அரையாண்டுத் தேர்வு எழுதியவுடன் முக்கியத்தன்மை இழந்து விடுகின்றது. முழு ஆண்டுத் தேர்வு முடிந்து அடுத்த வகுப்புக்குச் சென்று விட்டால் முந்தைய ஆண்டின் அத்தனை நடவடிக்கைத் தரவுகளும் சில சமயங்களில் தேவையில்லாததாக் கூட மாறி குப்பைத் தொட்டிக்கும் செல்வதுண்டு!

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

இனி, பெற்றோர் - குழந்தை உறவுமுறை தரவுகளுக்கிடையே ஏன் வருகின்றது என்பதையும் காண்போம். இங்கே எது அடிப்படை என்பதைக் காட்டுவதற்காகவும், எதன் பின்னே எது வருகின்றது என்று காட்டுவதற்காகவும் இந்த உறவு முறை குறிப்பிடப்படுகின்றது. குழந்தை இல்லாமல் பெற்றோர் இருக்கலாம் ஆனால் பெற்றோர் இல்லாமல் குழந்தை இருக்க முடியாது அல்லவா? அடிப்படையான உருபொருளை பெற்றோர் என்றும், அதன் இருப்பின் மூலமே உறுதி செய்யப்பட்டு அடுத்து வரும் உருபொரு(ட்க)ளை குழந்தை(கள்) என்றும் குறிப்பிடலாம். எடுத்துகாட்டாக, புத்தகம் என்று ஒன்று இருந்தால் அதன் ஆசிரியர் என்று ஒருவர் இருக்க வேண்டுமல்லவா? ஒரே ஆசிரியர் பல புத்தகங்கள் எழுதக் கூடும் அல்லவா? எனவே தான் ஒன்றுடன் – பல (One to Many) என்ற உறவுமுறை உருவாகின்றது. இந்த பெற்றோர் – குழந்தை உறவின் மூலம் ஒட்டு மொத்தத்  தரவொழுங்கு (Data Integrity) பராமரிக்கப்படுகின்றது.

நமது அன்றாட வாழ்க்கை முறையில் அநாதைகள் இருக்கலாம். ஆனால் தரவுத்தள மேலாண்மைகள் அநாதைகளே இல்லாதவாறு தரவுத்தள மேலாண்மை மென்பொருள் கவனித்துக் கொள்வதையே தரவொழுங்கு என்று அழைக்கின்றோம்.

தரவுத்தள மேலாண்மை குழூஉக்குறியில் சொல்வதாக இருந்தால் முதன்மைத் திறவி இன்றி அந்நியத் திறவி இருக்க இயலாது. (For maintaining the  referential integrity in the database, foreign key without primary key is not allowed.) உருபொருளைச் சுட்டும் எண் அல்லது தனிக்குறி பெற்றோர் அட்டவணையில் இருக்குமானால் அதை முதன்மைத் திறவி என்றும், அதே எண் அல்லது குறி குழந்தை அட்டவணை அல்லது வேறோர் அட்டவணையில் பெற்றோரைச் சுட்டுவதற்காக இருந்தால் அதை அந்நியத் திறவி என்றும் அழைக்கின்றோம்.

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

இவ்வாறு உருபொருட்களை முதன்மை/பெற்றோர் மற்றும் நடவடிக்கை/குழந்தை என்று தரம்பிரிப்பதை தரவுத்தள இயல்பாக்கம் (Database Normalization) என்று அழைக்கலாம். இவ்வாறான இயல்பாக்கத்தினை அடிப்படையிலிருந்து படிப்படியாக கடினமான இயல்பாக்க நிலையை எட்ட வைக்கின்றார்கள். அதை முதல்நிலை, இரண்டாம் நிலை, மூன்றாம் நிலை, பாய்ஸ் காட் நிலை, நான்காம் நிலை, ஐந்தாம் நிலை மற்றும் ஆறாம் நிலை (1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF – NF: Normal Form) வரை எடுத்துச் செல்லப்படுகின்றது. இதில் ஐந்தாம் நிலை வரை தெளிவான தரவடிவமைப்பு இருக்கின்றது. அனைத்து நிலைகளைப் பற்றியும் இத்தொடரில் முழுதும் விளக்காவிட்டாலும் முதல் மூன்று நிலைகளை மட்டும் சிறிய எடுத்துக்காட்டைக் கொண்டு அடுத்த பகுதியில் விளக்கலாம்.

தரவுச் சுரங்கம் - 6

உறவுமுறை தகவல் தரவுத்தள மேலாண்மையில் மட்டுமின்றிப் பொதுவாகவே தரவு மேலாண்மையில் தரவுகளின் இடையே இருக்கும் உறவைப் பற்றியே முந்தைய பகுதியிலிருந்து தொடர்ந்து பார்த்துக் கொண்டிருக்கின்றோம். ஒவ்வொரு உருபொருளும் அதனதன் பண்புகளைத் தன்னகத்தே கொண்டு மற்றொரு உருபொருளுடன் இருக்கும் தொடர்பை எவ்வாறு ஏற்படுத்திக் கொள்கின்றது என்பதில் மொத்தம் நான்கு வகையான உறவுமுறைகள் இருக்கின்றன. அவற்றுள் இரண்டு அடிப்படையான உறவுமுறைகள் ஆகும். மற்ற இரண்டு உறவுமுறைகள் மேற்கண்ட அடிப்படை உறவுமுறைகளைக் கொண்டே அமைகின்றன.

உருபொருட்களுக்கிடையேயான உறவு அவற்றின் எண்ணிக்கையைப் பொருத்தே அமைகின்றது. ஒரு உருபொருளுடன் பல உருபொருட்கள் ஒரே நேரத்தில் இணைந்திருக்க வேண்டியிருந்தால் அதனை ஒன்றுடன் – பல உறவுமுறை (One to Many Relationship) என்று அழைக்கின்றோம். எடுத்துக்காட்டாக, ஒரே நுழைவுச்சீட்டில் பலர் உள்ளே நுழைவதையும், ஒரு குறிப்பிட்ட எண் கொண்ட ரயிலில் (எடுத்துகாட்டாக 12661 – பொதிகை விரைவு வண்டி) பல பெட்டிகள் இருப்பதையும் குறிப்பிடலாம்.

ஒரு உருபொருளுடன் ஒரே ஒரு உருபொருள் மட்டுமே இணைந்திருக்க முடியுமாயின் அதை ஒன்றுடன் – ஒன்று உறவுமுறை (One to One) என்று அழைக்கின்றோம். எடுத்துக்காட்டாக, ஒரு நாற்காலி உருபொருளில் ஒரு மனிதர் மட்டுமே அமரலாம் என்பதையும், ஒரு பேருந்தை ஒரு ஓட்டுநர் மட்டுமே ஓட்டலாம் என்பதையும் குறிப்பிடலாம்.

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

மேற்கண்ட இரு உறவுமுறைகள் தவிர பலவற்றுடன் – ஒன்று (Many to one) , பலவற்றுடன் – பல (Many to Many) ஆகிய இரண்டு உறவுமுறைகளும் உண்டு என்றாலும், அவை மேற்கண்ட அடிப்படை உறவுமுறைகளின் சேர்க்கை அல்லது மாறுபட்ட பார்வையே ஆகும். எடுத்துக்காட்டாக, பல மாணவர்கள், பல வகுப்புகளில் சேர்ந்திருக்கின்றார்கள் என்று கூறினாலும், ஒவ்வொரு மாணவரும் பல வகுப்புகளில் சேர்ந்திருக்கின்றார்கள் என்றும், ஒரு வகுப்பில் பல மாணவர்கள் இருக்கின்றார்கள் என்றும் கொள்ளப்பட்டு, இரண்டு ஒன்றுடன் – பல உறவுமுறைகளாகப் பிரிக்கலாம்.

மேற்கண்ட படத்தில் காட்டியிருப்பதைப் போல் இரண்டு ஒன்றுடன் - பல உறவுமுறைகள் இணையும் போது பலவற்றுடன் – பல எனும் உறவுமுறையாக உண்டாகின்றது.

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

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

தரவுச் சுரங்கம் - 5

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

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

            உருபொருள்: (Entity) தனித்துவமானதாவும் மற்றவைகளிடமிருந்து வேறுபடுத்திக் காட்டுமளவுக்கு பண்புகள்/தன்மைகள் கொண்டதாகவும்  தனது இருப்பை உணர்த்துவதாகவும் இருக்கும் பொருளையே உருபொருள் என்று அழைக்கின்றோம். எடுத்துக்காட்டாக ஒரு பேனாவிலிருந்து இந்தப் பேரண்டம் வரை எதையெல்லாம் தனித்துவமாகக் கண்டு உணர முடிகின்றதோ அதையெல்லாம் உருபொருள் என்று அழைக்கின்றோம். பேனாவுடன் சேர்ந்திருக்கும் போது பேனா என்று அறியப்பட்டாலும், அதிலிருந்து கழற்றி விட்டால் பேனாவின் மூடி கூட ஒரு தனிப்பட்ட உருபொருள் என்று ஆகிவிடக் கூடும். தரவுகளைப் பொருத்தவரை உயிருள்ள, உயிரற்ற என்ற பாகுபாடுகள் கிடையாது. எனவே உயிருள்ள நீங்களும், நானும் கூட தரவு மேலாண்மையில் உருபொருள் என்றே அழைக்கப்படுவோம்!

            பண்புகள்: (Attributes) மேற்கண்ட உருபொருட்களுக்கே உரித்தான பண்புண்மைகளை உருபொருளின் பண்புகள் என்று அழைக்கின்றோம். இப்பண்புகள் தான் நாம் உருபொருளுடன் கோந்து போல் இணைத்து சேர்த்துக் கட்டி வைக்கும் உருபொருளைப் பற்றிய செய்திகள் என்று உணர்ந்து கொண்டிருப்பீர்கள் என்று நினைக்கின்றேன். ஆங்கிலத்தில் சொல்வதானால், (Everything uniquely identifiable is called entity. Every entity has its own attributes. These attributes are nothing but the facts about the entity itself.)

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

            இவ்வாறு உருபொருட்களையும் அவற்றின் பண்புகளையும் கொண்டு தரவு மென்பொருள் நிர்வாகிகள் மற்றும் படைப்பாளிகள் யாவருக்கும் புரியும் வண்ணம் ஒரு வரைபடத்தைத் தயாரிக்கின்றார்கள். அதற்கு உருபொருள் உறவுநிலை வரைபடம் (உ.உ.வரைபடம்) (Entity Relationship Diagram – Shortly ER Diagram) என்று பெயர்.

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

செவ்வகம் – உருபொருள்

நீள்வட்டம் – பண்புகள்

வைரம் – உறவு   

            கீழ்க்காணும் உருபொருள் வரைபடத்தைப் பார்த்தவுடன் இது ஒரு மாணவரின் தரவுப் பட்டியலில் இருக்கும் அவரது தனித்தன்மையான பண்புகள் என்று புரிகின்றது அல்லவா?

            எந்த ஒரு நிறுவனத்தின் தரவுகளையும் நாம் பகுப்பாய்வு செய்ய முற்படும் போது அந்த நிறுவனத்தின் ஒட்டு மொத்த உருபொருள் உறவுநிலை வரைபடத்தைக் கண்டுணர்தல் அவசியமாகும். அவ்வாறு ஒரு வரைபடம் இதுவரை இல்லையாயின் நாமே உருவாக்குதல் நலம் பயக்கும்.

            நாம் அடுத்துக் காண்பது ஒரு மருத்துவமனையின் மாதிரி உ.உ. வரைபடம் ஆகும். (நன்றி: https://practice.geeksforgeeks.org/problems/er-diagram-of-hospital-management-system) இதன் மூலம் எவ்வாறு மருத்துவர், நோயாளி, செவிலியர், அறைகள், மருந்து, மருத்துவம் பார்த்த சீட்டுகள், பட்டிகள், வேலையாட்கள், ஆவணங்கள் என்று மருத்துவமனை தொடர்பான அனைத்து உருபொருட்களும், அவற்றின் பண்புகளும், எவ்வாறு ஒரு உருபொருள் மற்றொரு உருபொருளுடன் உறவு கொள்கின்றது என்றும் அதன் மூலம் எவ்வாறு அனைத்து உருபொருட்களும் ஒட்டு மொத்த நிறுவனத்தில் இணைந்து செயலாற்றுகின்றன என்றும் உணர்ந்து கொள்ள முடியும்.

தரவுச் சுரங்கம் - 4

கணினி உலகின் வாயிலாக விஸ்வரூபம் எடுத்து நிற்கும் தரவின் பல பரிமாண அவதாரங்களைக் கண்ட நாம் இப்போது தரவின் பரிணாம வளர்ச்சியையும் காண்போம்.

கல்வெட்டிலும், பட்டயங்களிலும், ஓலைச்சுவடிகளிலும் இருந்த தகவல்கள் இயேசு கிறிஸ்து பிறப்புக்கு 200 ஆண்டுகளுக்கு முன்பு காகிதம் கண்டுபிடிக்கப்பட்டவுடன் காகிதத்திற்கு மாறியது. அப்போதிருந்து கி.பி. 1725ம் ஆண்டில் தறி இயந்திரங்களில் அழகான ஆடை வடிவமைப்பைச் சேமித்து வைக்கும் துளை அட்டைகள் வரும் வரை காகிதத்தின் கைகளே ஓங்கியிருந்தன. அதன் பின் 1837ல் கணினி உலகின் தந்தை சார்லஸ் பாப்பேஜ்  1837ல் முதல் கணினியைக் கண்டறியும் போது துளை அட்டைகளே அதிகம் பயன்படுத்தப்பட்டன. 1980 வரையிலும் துளை அட்டைகளின் பயன்பாடு இருந்தது என்பது ஆச்சரியமான தகவல். 1960களில் காந்தத் தட்டுகள் பயன்பாடு ஆரம்பித்தது. காந்தத் தட்டுகளில் வன் தட்டு மென்தட்டு  என்று பலவகைகள் பல அளவுகளில் வர ஆரம்பித்தன. 20MB அளவிலான வன்தட்டுகளில் அனைத்து மென்பொருட்களையும் உள்ளடக்கி, பத்தாண்டுகளுக்கான தகவல்களை ஏற்றிய பின்னும் பாதி இடம் மீதி இருந்தது நினைவில் இருக்கின்றது. பின்னர் லேசர் ஒளி அலைகளின் மூலம் எழுதி வைக்கப்படும் முறையில் சிடி, டிவிடி, ப்ளூரே என்று பலவித தொழில்நுட்பங்கள் தகவலை எழுதி வைப்பதற்குப் பயன்பட்டன. பிளாஷ் எனப்படும் அதிவிரைவு நினைவகம் வந்த பின்னர் தற்போது SSD, NAND ஆகிய தொழில்நுட்பங்களைக் கொண்டு அதில் பதியப்பட்டு வருகின்றது.

மெய்நிகர் மற்றும் மேகக் கணிமை (Virtual and Cloud Computing) வந்த பின் இப்போது நமது தகவல் எங்கே பதியப்படுகின்றது எந்த வன்பொருளில் பதியப்படுகின்றது என்பதே தெரியாவிட்டாலும் கூட நம்மால் தகவலைப் பதிந்து கொண்டு எப்போது வேண்டுமானாலும் எடுத்துக் கொள்ள முடிகின்றது.

எத்தகைய தரவாக இருந்தாலும் அது (Binary Digit-Bit) இரும இலக்க எண்ணாக மாற்றப்பட்டு ஏதேனும் ஒரு கோப்பின் பெயரிலேயே கணினியில் சேமிக்கப்படுகின்றது என்பதை நாம் அறிவோம்.

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

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

எனவே முதலில் தனிக் கோப்புகளில் மட்டுமே தரவுகள் சேமிக்கப்பட்டு வந்தன. அவற்றைத் தட்டை கோப்பு முறை (Flat File System) என்றே அழைத்து வந்தனர். அதன்பின்னர் தகவல்களுக்கிடையே இருக்கும் உறவுமுறைகளைக் குறித்து வைக்க ஏதுவாக அடுக்கு முறை தரவு மேலாண்மை (Hierarchial Database Management) சிலகாலம் இருந்தது. அதன்பின்னர் இன்னும் சிலகாலம் வலைமுறை தரவு மேலாண்மையும் பயன்பாட்டில் இருந்தது. இந்தச் சூழ்நிலையில் தான் 1970களில் தரவின் அடிமைச் சங்கிலியைத் தகர்த்தெறிந்து அதன் சுதந்திரத்திற்கு வழிவகுத்த எட்கர் காட் (Edgar F. Codd) உறவுநிலைத் தரவுத் தளமேலாண்மை முறையைக் கண்டறிந்து அறிமுகப்படுத்தினார்.

அவரது வழிகாட்டுதல்களான மிகவும் பெயர்பெற்ற காட் 12 (Codd's 12 rules) விதிகளுக்குட்பட்டு ரேய்மண்ட் பாய்ஸ் (Raymond F. Boyce) உருவாக்கிய SQL எனும் தரவுத்தள வினவல் மொழி தினந்தோறும் மாறிக் கொண்டிருக்கும் கணினி உலகில் ஐம்பதாண்டுகளுக்குப் பின்னர் இன்றளவும் நடைமுறையில் இருக்கின்றது என்றால் அதன் முக்கியத்துவத்தை நாம் உணர்ந்து கொள்ளலாம்.

வியாபாரக் கணக்குகளைக் குறித்து வைப்பதற்கும் முறைசார் தரவுகளைக் குறித்து வைப்பதற்கும் இந்த உறவுநிலைத் தரவுத்தள மேலாண்மை முறை மிகவும் கனகச்சிதமாகப் பொருந்துவதால் என்ன தான் பொருள் நோக்கு தரவுத்தள மேலாண்மை (Object Oriented Database) மற்றும் மட்டற்ற மட்டுமல்லா SQL (NoSQL) என்று பலவித தொழில்நுட்பங்கள் வந்தாலும் இன்னும் இந்த உறவுநிலைத்தரவுத் தள மேலாண்மையின் இடத்தைப் பிடிக்க யாரும் வரவில்லை என்றே சொல்லலாம்!

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

தரவுச் சுரங்கம் - 3

ஒன்றுக்கொன்று தொடர்புடைய செய்திகளின் அல்லது நிகழ்வுகளின் தொகுப்பு மட்டுமே தரவு என்று முடித்து விடமுடியாது. தரவின் பல்பரிமாணங்களைத் தொடர்ந்து காண்போம்.

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

  1. நடவடிக்கைகள் (Transactional Facts)

தினந்தோறும் நடந்து வரும் செயல்பாடுகளைக் கண்ணுற்று அவற்றில் தேவையானவை யாதென்று அறிந்து அவற்றைத் தொடர்ந்து குறித்து வைத்து வருவது நடவடிக்கைகள் ஆகும். பெரும்பாலும் அவை யார்? என்ன? எங்கே? எப்போது எவ்வளவு? (Who, What, Where, When, How much or How many) ஆகிய ஐந்து கேள்விகளுக்கான பதில்களாகத் தான் இருக்கும்.

வணிக நிறுவனங்களின் குறிப்பேடுகளை இந்த வகை தரவுக்கு எடுத்துக்காட்டாகக் குறிப்பிடலாம். இக்குறிப்பேடுகள் பின்னர் தேவைக்கேற்ப பேரேடுகளில் பதியப்பட்டு பின்னர் அவற்றின் மொத்தம் மற்றும் மீதம் ஆகியவை கணக்கிடப்பட்டு அறிக்கைகளாக உருப்பெற்றுப் பின்னர் நாம் வணிகம் சார்ந்து எதிர்காலத்தில் முடிவெடுக்க வசதியாகப் பின்பற்றப்படுகின்றன.

கணினி யுகம் வந்த பின்பு பெரும்பாலும் அனைத்து பெரும் மற்றும் நடுத்தர வணிக நிறுவனங்களின் மொத்த நடவடிக்கைக் குறிப்புகளும் கடந்த பதினைந்து ஆண்டுகளுக்கும் மேல் பலருக்கும் தெரியாமல் தேக்கி வைக்கப்பட்டு இருக்கின்றன. அவற்றில் எத்தனை மாணிக்கங்களும் வைரங்களும் பதுங்கி இருக்கின்றனவோ!?

  • நேரப் படப்பதிகை: (Periodic Snapshots)

நடவடிக்கைகள் அனைத்தையும் குறிப்பெடுத்து வைத்து விட்டோமே? இன்னும் அப்படி என்ன சேர்த்து வைக்க இருக்கின்றது என்று நினைத்து விடவேண்டாம். சிறந்த முறையில் ஒரு வணிக நிறுவனம் நடத்துவதற்கு இவை மட்டுமே அனைத்து தகவல்களையும் தந்து விட முடியாது. அந்த நிகழ்வுகளால் ஏற்பட்ட விளைவுகளை அவ்வப்போது படம் பிடிப்பது போல் குறித்து வைத்திருப்பதும் தேவையாகின்றது.

எடுத்துக்காட்டாக ஒரு ஐந்து நட்சத்திர தங்கும் விடுதியில் தினந் தோறும் எத்தனை அறைகள் நிரம்பி இருக்கின்றன எத்தனை அறைகள் காலியாக இருந்தன என்ற விபரம் தொடர்ந்து பதியப்பட்டு வருவதைக் குறிப்பிடலாம். தினந்தோறும் உங்கள் பையில் பணம் எவ்வளவு இருந்தது என்று தொடர்ந்து கவனித்து வந்தாலே உங்கள் பணப்புழக்கம் பற்றி அறிந்து கொள்ள முடியும்.

கூகுள் வரைபடத்தில் 2000ம் ஆண்டு  ஒரு நிலப்பரப்பு எவ்வாறு இருந்தது என்றும் 2020ம் ஆண்டு அதே நிலப்பரப்பு எவ்வாறு இருந்தது என்றும் குறித்து வைத்திருந்தால் அதனால் அந்தப் பகுதியில் என்னென்ன மாற்றங்கள் நிகழ்ந்திருக்கின்றது என்று அனுமானிக்க முடியும். அதுமட்டுமின்றி இன்னும் இருபது ஆண்டுகள் கழித்து எவ்வாறு இருக்கும் என்றும் கண்டறிய முடியும் அல்லவா?

  • கூட்டுப் படப்பதிகை (Cumulative/Accumulating Snapshots)

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

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

அவ்வளவு பெரிய நிறுவனத்தில் தினம் நடைபெறும் கோடிக்கணக்கான நடவடிக்கைகளை இவ்வாறு தொகுப்பது என்று மனிதர்களால் ஆகாது என்றாலும் கணினிகளால் அது முடிகின்றது.

அடுத்ததாக மேகக் கணிமையில் தரவு எவ்வாறு சேமிக்கப்படுகின்றது என்பதையும் பெருந்தரவு குறித்தும் காணலாம்.