HBase கட்டிடக்கலை பற்றிய நுண்ணறிவு



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

இன்றைய இடுகையில், HBase கட்டிடக்கலை பற்றி விவாதிக்கலாம். HBase கட்டமைப்பை ஆழமாக ஆராய்வதற்கு முன், HBase இன் அடிப்படைகளை துலக்குவோம்.





HBase - அடிப்படைகள்:

HBase என்பது ஒரு திறந்த மூல, NoSQL, விநியோகிக்கப்பட்ட, அல்லாத தொடர்புடைய, பதிப்பு செய்யப்பட்ட, பல பரிமாண, நெடுவரிசை சார்ந்த கடை, இது Google BigTable க்குப் பிறகு வடிவமைக்கப்பட்டுள்ளது, இது HDFS க்கு மேல் இயங்குகிறது. '' NoSQL 'என்பது தரவுத்தளமானது SQL ஐ அதன் முதன்மை அணுகல் மொழியாக ஆதரிக்கும் ஒரு RDBMS அல்ல என்பதாகும். ஆனால் பல வகையான NoSQL தரவுத்தளங்கள் உள்ளன மற்றும் பெர்க்லி DB ஒரு உள்ளூர் NoSQL தரவுத்தளத்திற்கு ஒரு சிறந்த எடுத்துக்காட்டு, அதேசமயம் HBase மிகவும் விநியோகிக்கப்பட்ட தரவுத்தளம்.

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



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

php இல் வரிசையை எவ்வாறு காண்பிப்பது

HBase க்கு எப்போது செல்ல வேண்டும்?

நூற்றுக்கணக்கான மில்லியன் அல்லது பில்லியன் வரிசைகள் இருக்கும்போது மட்டுமே HBase ஒரு நல்ல வழி. ஒரு துறைமுகத்திற்கு மாறாக ஒரு முழுமையான மறுவடிவமைப்பாக RDBMS இலிருந்து HBase க்கு செல்ல கருத்தில் கொள்ளும்போது HBase இடங்களிலும் பயன்படுத்தப்படலாம். வேறுவிதமாகக் கூறினால், HBase உன்னதமான பரிவர்த்தனை பயன்பாடுகளுக்காக அல்லது தொடர்புடைய பகுப்பாய்வுகளுக்கு கூட உகந்ததாக இல்லை. பெரிய தொகுதி MapReduce செய்யும்போது இது HDFS க்கு முழுமையான மாற்றாக இல்லை. பிறகு நீங்கள் ஏன் HBase க்கு செல்ல வேண்டும் ?? உங்கள் வரிசையில் ஒவ்வொரு வரிசையும் சற்று வித்தியாசமாக இருக்கும் மாறி ஸ்கீமா இருந்தால், நீங்கள் HBase ஐப் பார்க்க வேண்டும்.

HBase கட்டமைப்பு:

பின்வரும் எண்ணிக்கை HBase கட்டமைப்பை தெளிவாக விளக்குகிறது.



HBase கட்டிடக்கலை பற்றிய நுண்ணறிவு

HBase இல், மூன்று முக்கிய கூறுகள் உள்ளன: மாஸ்டர், பிராந்திய சேவையகம் மற்றும் உயிரியல் பூங்கா பராமரிப்பாளர் . மற்ற கூறுகள் மெம்ஸ்டோர், HFile மற்றும் WAL.

HBase HDFS க்கு மேல் இயங்கும்போது, ​​இது மாஸ்டர்-ஸ்லேவ் கட்டமைப்பைப் பயன்படுத்துகிறது, இதில் HMaster முதன்மை முனையாகவும், பிராந்திய சேவையகங்கள் அடிமை முனைகளாகவும் இருக்கும். கிளையண்ட் எழுத்து கோரிக்கையை அனுப்பும்போது, ​​எச்மாஸ்டர் அந்த கோரிக்கையைப் பெற்று அந்தந்த பிராந்திய சேவையகத்திற்கு அனுப்புகிறார்.

ஜாவாஸ்கிரிப்டில் வரிசையின் அளவு

பிராந்திய சேவையகம்:

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

மெம்ஸ்டோர் என்ன செய்கிறது?

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

மெம்ஸ்டோரைப் பயன்படுத்துவதற்கான முக்கிய நோக்கம் வரிசை விசையால் வரிசைப்படுத்தப்பட்ட டி.எஃப்.எஸ் இல் தரவைச் சேமிக்க வேண்டிய அவசியம். எச்.டி.எஃப்.எஸ் தொடர்ச்சியான வாசிப்பு / எழுதுதலுக்காக வடிவமைக்கப்பட்டுள்ளதால், கோப்பு மாற்றங்கள் எதுவும் அனுமதிக்கப்படாமல், HBase தரவைப் பெறுகையில் வட்டுக்கு திறமையாக எழுத முடியாது: எழுதப்பட்ட தரவு வரிசைப்படுத்தப்படாது (உள்ளீடு வரிசைப்படுத்தப்படாதபோது) அதாவது எதிர்காலத்திற்கு உகந்ததாக இல்லை மீட்டெடுப்பு. இந்த சிக்கலைத் தீர்க்க, HBase இடையகங்கள் கடைசியாக நினைவகத்தில் (மெம்ஸ்டோரில்) தரவைப் பெற்றன, சுத்தப்படுத்துவதற்கு முன்பு அதை 'வரிசைப்படுத்துகின்றன', பின்னர் விரைவான தொடர்ச்சியான எழுத்துக்களைப் பயன்படுத்தி HDFS க்கு எழுதுகின்றன. எனவே, வரிசைப்படுத்தப்பட்ட வரிசைகளின் பட்டியலை HFile கொண்டுள்ளது.

ஒவ்வொரு முறையும் மெம்ஸ்டோர் பறிப்பு நடக்கும் போது ஒவ்வொரு சி.எஃப்-க்கும் ஒரு எச்.ஃபைல் உருவாக்கப்பட்டது மற்றும் அடிக்கடி ஃப்ளஷ்கள் டன் எச்ஃபைல்களை உருவாக்கக்கூடும். HBase ஐப் படிக்கும்போது பல HFiles ஐப் பார்க்க வேண்டியிருக்கும் என்பதால், வாசிப்பு வேகம் பாதிக்கப்படலாம். அதிகமான HFiles ஐத் திறப்பதைத் தடுக்கவும், வாசிப்பு செயல்திறன் மோசமடைவதைத் தவிர்க்கவும், HFiles சுருக்க செயல்முறை பயன்படுத்தப்படுகிறது. HBase அவ்வப்போது (சில உள்ளமைக்கக்கூடிய வாசல்கள் பூர்த்தி செய்யப்படும்போது) பல சிறிய HFiles ஐ ஒரு பெரியதாக மாற்றும். வெளிப்படையாக, மெம்ஸ்டோர் ஃப்ளஷ்களால் உருவாக்கப்பட்ட அதிகமான கோப்புகள், கணினிக்கு அதிக வேலை (கூடுதல் சுமை). அதனுடன் சேர்த்து, பொதுவாக பிற கோரிக்கைகளுக்கு இணையாக சுருக்க செயல்முறை செய்யப்படுகிறது, மேலும் HBase உடன் HFiles ஐ சுருக்கமாக வைத்திருக்க முடியாது (ஆம், அதற்கும் கட்டமைக்கப்பட்ட வாசல்கள் உள்ளன), இது மீண்டும் RS இல் எழுதுவதைத் தடுக்கும். நாம் மேலே விவாதித்ததைப் போல, இது மிகவும் விரும்பத்தகாதது.

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

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

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

உயிரியல் பூங்கா பராமரிப்பாளர்:

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

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? கருத்துகள் பிரிவில் அவற்றைக் குறிப்பிடுங்கள், நாங்கள் உங்களைத் தொடர்புகொள்வோம்.

ஒன்றிணைத்தல் c ++ வரிசை

தொடர்புடைய இடுகைகள்:

பயனுள்ள ஹைவ் கட்டளைகள்