பிக்டேட்டா - ஹடூப்
தற்போது அமெரிக்காவில் மட்டும் 16800 ஹடூப் (Hadoop) வேலை வாய்ப்புகள் இருக்கின்றன. 2018ம் ஆண்டில் இந்தியாவில் இரண்டு லட்சம் டேட்டா சயன்டிஸ்ட் பணியிடங்கள் இருப்பதாகக் கணித்திருந்தார்கள். இப்போது இன்னும் அதிகம். தரவு விஞ்ஞானி (டேட்டா சயன்டிஸ்ட்) ஆக விரும்பினால் இன்றைய சூழலில் ஹடூப் பற்றிய அறிவு அவசியம்.

பெருந்தரவு (big data) என்றால் என்ன? அவற்றை எவ்வாறு வகைப்படுத்துகிறார்கள்? பெருந்தரவை எப்படிக் கையாள்கிறார்கள்? இவைபற்றியும் ஹடூப் டியூட்டோரியல்களும் இணையத்தில் ஏராளமாக இருக்கின்றன. முதலில் உள்ளே நுழைவது முக்கியம். நுனியைப் பிடித்துவிட்டால் போதும், கற்றுக்கொள்வது சுலபம். 'ஐடி துறையில் எப்படி ஒரு தொழில்நுட்பத்திலிருந்து இன்னொன்றுக்கு மாறுவது?' என்று கேட்கிறீர்களா? உங்களுக்கு என்னுடைய பரிந்துரை பிக் டேட்டா என்பதாக இருக்கும். ஹடூப் படிப்பது பெரிய சிரமமில்லை. ஏற்கனவே ஐடி துறையில் அனுபவமிருப்பவர்களும் கூட பின்வரும் வகையில் தம்மைத் தயார் செய்து கொள்ளலாம்.

ஜாவா தெரிந்தவர்கள் - ஹடூப் டெவலப்பர் / ஹடூப் ஆர்க்கிடெக்ட்
SQL தெரிந்தவர்கள் - ஹடூப் டேட்டா அனலிஸ்ட் / ஹடூப் ஆர்க்கிடெக்ட்
டேட்டா ஆர்க்கிடெக்ட் - ஹடூப் ஆர்க்கிடெக்ட்
டேட்டாபேஸ் அட்மினிஸ்டரேஷன் - ஹடூப் அட்மினிஸ்டரேஷன்

புதிதாகப் படிக்க நேரமில்லையா?
ஏற்கனவே ஆயிரம் பிரச்சனைகள். அலுவலகத்தில் அழுத்தம். நேரமில்லை. இதில் புதியதாக ஒன்றைப் படிக்க எப்படிங்க நேரம் கண்டுபிடிக்கிறது என்று கேட்கலாம். அப்படித்தான் நானும் இருந்தேன். வால் ஸ்ட்ரீட் ஜர்னல் பத்திரிக்கையில் வெளியான கட்டுரையில் இப்படி ஒரு பத்தி இருந்தது. "ஒரு காலத்தில் நான் ரொம்ப பிஸி; அப்படித்தான் நினைத்துக் கொண்டிருந்தேன். ஒரு வாரத்திற்கு 60 மணி நேரம் வேலை செய்தேன். ஒரு நாளைக்கு 6 மணி நேரம்தான் தூங்கினேன். மூச்சு விடக்கூட நேரமில்லை. இந்த மர்மத்தைக் கண்டறிய வேண்டியிருந்தது. நான் செய்கிற ஒவ்வொரு செயலுக்கும் - அது அலுவலக வேலை, உறக்கம், பிற வேலைகள் - என எதுவாக இருப்பினும் ஒவ்வொன்றும் உண்மையில் எவ்வளவு நேரம் எடுக்கிறது என்று கணக்கெடுக்க ஆரம்பித்தேன். எனக்கு நானே பொய் சொல்லிக் கொண்டிருந்தேன் என்பதை உணர்ந்தேன். 60 மணிநேர வேலை என்பது கண்டிப்பாக இல்லை. அதிகநேரம் இன்டர்நெட் பார்க்கத்தான் செலவு செய்தேன்" என்று முடியும்.

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

ஹடூப் என்னும் தூண்டில்
பெருந்தகவல் (Big data) ஒரு பெருங்கடல். ஃபேஸ்புக், ஜிமெயில் என்பதெல்லாம் தரவுகள் கொட்டிக் கிடக்கும் கடல். ஒரு சிறு நிறுவனத்தில்கூடப் பல டெராபைட் தரவுகள் இருக்கக்கூடும். அந்தக் கடலிலிருந்து நமக்குத் தேவையான மீன்களை மட்டும் பிடிக்க வீசப்படும் தூண்டில்தான் ஹடூப். அதுவொரு கருவி (Tool). நாம் பணிபுரியும் நிறுவனம், தற்போதைய அனுபவம் ஆகியவற்றைப் பற்றிக் கவலைப்படாமல் ஹடூப் போன்ற புதிய தொழில்நுட்பத்தைக் கற்பது நிச்சயம் பயனளிக்கும். குறிப்பாக, மென்பொருள் நிறுவனங்களில் வேலை செய்பவர்கள் கற்றுக்கொண்டால் ஒருபோதும் வீணாகாது. லட்சக்கணக்கில் செலவு செய்து எம்.பி.ஏ. படிப்பதில்லையா? அதுபோலத்தான் இதுவும் என்று வைத்துக் கொள்ளலாம்.

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

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

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

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

பெருந்தரவை எவ்வாறு சேர்த்து வைப்பது ?
இன்றைய நிறுவனங்கள் முன் எப்போதையும்விட மிக அதிகமான தரவுகளைக் (data) கையாள வேண்டி இருக்கிறது. உலகம் முழுவதும் கிட்டத்தட்ட 200 கோடி (2 பில்லியன்) மக்கள் இன்டர்நெட்டைப் பயன்படுத்துகிறார்கள். எல்லாவகைத் தொழில்களும் வளர்ந்து வருகின்றன. அதனால் தரவுகள் பெருகிக்கொண்டே போகின்றன. இந்த வருட ஆரம்பத்தில் கிட்டத்தட்ட 44 ஸீடா பைட் (zetabyte) அளவு தரவுகள் உருவாகியிருக்கும்.

1 ZB = 1 Million petabytes = 1Billion Terabytes = 1Trillion Gigabytes (கணக்குப் போட்டால் தலையே சுற்றுகிறது)

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

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

பெருந்தரவு பல்வகையான தரவுகளாக (கட்டமைத்த தரவு - structured data, ஒளிவடிவத் தரவு, ஒலிவடிவத் அல்லது கோப்பு வடிவத் தரவு) என கசமுசாவென்று பல வடிவுகளிலும் இருக்கக்கூடும். இவை எந்த ஒழுங்குமற்ற கட்டமைக்கப்படாத தரவாகவும் (unstructured data)) இருக்கலாம். இப்படிக் குப்பையாகக் கொட்டுகிற தரவுகளைக் கையாளுவதே மலைபோன்ற காரியம்தான்.

இதில் இன்னொரு பெரிய பிரச்சினையும் இருக்கிறது. உருவாகும் 90% தரவு கட்டமைப்பில்லாத் தரவு (unstructured data). எந்த ஒழுங்குமில்லாத இந்த அமைப்பில்லா தரவுகளை, கட்டமைத்த தகவலாக மாற்றினால் மட்டுமே அதிலிருந்து மிகவும் பயனுள்ள அறிவைப் (knowledge) பெற முடியும்.

இதை எவ்வாறு செய்வது? ஆரக்கிள் (Oracle), டெராடாட்டா (Teradata) போன்ற பாரம்பரிய தரவுத்தள (database) மென்பொருள் இதைச் செய்ய முடியுமா?

பொதுவாக பெருந்தகவலை பகுப்பாய்வு செய்ய பெரிய அளவில் பகுப்பாய்வு/சிபியு (CPU) திறன் தேவைப் படுகிறது. ஆரக்கிள் மாதிரியான பாரம்பரிய டேட்டாபேஸ் மென்பொருட்கள் ஒப்பீட்டளவில் சிறிய அளவிலான தரவுகளை மட்டுமே பகுப்பாய்வு செய்யப் பயன்படுகின்றன. இவை வேகமான செயலி (Processor) மற்றும் அதிக மெமரியைப் பயன்படுத்துகின்றன. அதனால் முதலீடு அதிகம். அப்படியே பணத்தைக் கொட்டி முதலீடு செய்தாலும், இருப்பதிலேயே வேகமான செயலியாலும் கூட பெருந்தரவைப் பகுப்பாய முடிவதில்லை.

ஆக, பாரம்பரிய தரவுத்தள மென்பொருளால் பெருந்தரவைப் பகுப்பாய முடிவதில்லை என்னும்போது பெருந்தரவுப் பகுப்பாய்வைச் செய்வது எப்படி?

பகிர்வுக் கணிப்பணி (Distributed Computing)
பகிர்வுக் கணிப்பணிச் செய்முறை என்பது ஒரே கட்டளை நிரலை (ப்ரோக்ராமை) ஒரே நேரத்தில் பல கணினிகளுக்குப் பிரித்துக் கொடுத்து, வேலையைச் செய்து முடிப்பதாகும். இது ஒரு பலசாலியால் முடியாத வேலையை ஊர் மக்கள் கூடி வெற்றிகரமாகச் முடிப்பது போன்றதாகும்.

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

பகிர்வுக் கணினிச் செய்முறையில் உள்ள சவால்கள் என்ன?
1. பல கணினிகளுக்கு வேலையைப் பிரித்துக் கொடுத்து வேலையை ஆரம்பித்த பின் ஒரு கணினியின் செயல்பாடு பழுதடைந்தால், மொத்த வேலையும் பாதிக்கப்படக் கூடாது. அதே சமயம் வேலை தொடர்பான தரவுகளும் தொலைந்து போகக்கூடாது. வேலையின் பயன்முடிவு (result) சரியாகக் கொடுக்கப்பட வேண்டும்.
2. ஒரு கணினியின் பயன்முடிவு மற்றக் கணினிகளின் பயன்முடிவுகளோடு சரியான முறையில் சேர்த்துக் கொடுக்கப்பட வேண்டும்.
3. கணினி வலைப்பின்னல் (network) தொடர்பான சிக்கல்கள், துண்டிப்புகள் கையாளப்பட வேண்டும்.

இந்தச் சவால்களைச் சமாளிப்பது எப்படி?
பெருந்தரவு தொடர்பான மென்பொருள்கள் இந்தச் சிக்கல்களைத் திறம்படக் கையாள்கின்றன. இவற்றில் ஹடூப் (Hadoop) முன்னணியில் நிற்கிறது. ஹடூப் என்பது பொதுவாயில் (Open source) என்னும் வகை மென்பொருள் பணித்தளம் (Software Platform). யார் வேண்டுமானாலும் மேம்படுத்தலாம். இது இலவசமாகக் கிடைக்கும், வாங்கப் பணம் செலவழிக்கத் தேவை இல்லை. மேற்சொன்ன பெருந்தரவுகளை ஹடூப் மென்பொருள்கள் மூலமாகச் சேமிக்கவும் வகைப்படுத்தவும் முடியும். இலவசமாகக் கிடைப்பதால் பல நிறுவனங்கள் கோடிக்கணக்கான டாலர் தொகையை மிச்சப்படுத்த முடியும்.

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

2005ல் டக் கட்டிங் (Doug Cutting) மற்றும் மைக்கல் சபாரெலா இணைந்து ஹடூப்பை உருவாக்கினர். இதற்கு யாஹூ நிதி உதவியது. 2006ல் யாஹூ இதை அபாச்சே (Apache) நிறுவனத்திடம் ஒப்படைத்து பொதுவாயில் மென்பொருளாக மாற்றியது.

ஒரு சுவாரசியமான கதை: டக்கின் மகன், ஹடூப் எனும் ஒரு மஞ்சள் யானை பொம்மை வைத்திருந்தான். டக் பல பெயர்களை யோசித்துவிட்டு, கடைசியில் ஹடூப் எனும் பெயரையே வைத்து விட்டார்.

ஹடூப் எவ்வாறு பரவுக் கணினிச் செய்முறையில் உள்ள சவால்களை கையாள்கிறது?
ஹடூப் பெருந்தரவுகளைக் கையாள்வதில் ஒரு முன்னணி மென்பொருளாக திகழ்கிறது. ஹடூப் தரவுகளைப் பல கணினிகளில் பிரித்துச் சேமித்து வைக்கிறது. பல கணினிகள் ஒன்றாகச் சேர்த்து ஒரு ஹடூப் திரள் (Cluster) என்று அழைக்கப்படுகிறது. ஹடூப் தரவுச் சேமிப்பு மற்றும் தரவுச் செயலாக்கம் இரண்டையும் திறமையாகப் பல கணினிகளிடம் பிரித்துக் கொடுத்து வேலை வாங்குகிறது. ஹடூப் எந்த ஒரு தரவையும் 2 அல்லது 3 கணினிகளில் சேமிக்கிறது. இதனால் ஒரு கணினியின் செயல் பழுதடைந்தாலும் அதனால் தரவுகள் இழக்கப்படாது.

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

ஹடூப் நிரல்களை ஜாவா, ரூபி, பைதான் மொழிகளில் எழுதலாம்.

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

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

கீதா சுரேஷ்,
கூப்பர்டினோ, கலிஃபோர்னியா

© TamilOnline.com