HBase கட்டிடக்கலை: HBase தரவு மாதிரி & HBase படிக்க / எழுது பொறிமுறை

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

HBase கட்டிடக்கலை

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

இந்த HBase கட்டிடக்கலை வலைப்பதிவில் நான் உங்களை அழைத்துச் செல்லும் முக்கியமான தலைப்புகள்:

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

HBase கட்டமைப்பு: HBase தரவு மாதிரி

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

வரிசை சார்ந்த Vs நெடுவரிசை சார்ந்த தரவுத்தளங்கள்:

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

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

அட்டவணை - HBase கட்டிடக்கலை - எடுரேகா

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

ஒன்று,பால் வாக்கர்,எங்களுக்கு,231,துணிச்சலான,

2, வின் டீசல்,பிரேசில்,520,முஸ்டாங்

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

நெடுவரிசை சார்ந்த தரவுத்தளங்கள் இந்த தரவை இவ்வாறு சேமிக்கின்றன:

ஒன்று,2, பால் வாக்கர்,வின் டீசல், எங்களுக்கு,பிரேசில், 231,520, துணிச்சலான,முஸ்டாங்

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

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

HBase அட்டவணைகள் பின்வரும் கூறுகளைக் கொண்டுள்ளன, அவை கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளன:

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

மிகவும் எளிமையான மற்றும் புரிந்துகொள்ளும் வகையில், HBase பின்வருவனவற்றைக் கொண்டுள்ளது என்று நாம் கூறலாம்:

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

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

HBase கட்டிடக்கலை: HBase கட்டிடக்கலை கூறுகள்

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

கீழேயுள்ள படம் HBase கட்டமைப்பின் படிநிலையை விளக்குகிறது. அவை ஒவ்வொன்றையும் தனித்தனியாகப் பேசுவோம்.


இப்போது HMaster க்குச் செல்வதற்கு முன்பு, இந்த சேவையகங்கள் அனைத்தும் (HMaster, Region Server, Zookeeper) பிராந்தியங்களை ஒருங்கிணைத்து நிர்வகிப்பதற்கும் பிராந்தியங்களுக்குள் பல்வேறு செயல்பாடுகளைச் செய்வதற்கும் வைக்கப்பட்டுள்ளதால் பிராந்தியங்களைப் புரிந்துகொள்வோம். எனவே பகுதிகள் எவை என்பதை அறிய ஆர்வமாக இருப்பீர்கள், அவை ஏன் மிகவும் முக்கியம்?

HBase கட்டமைப்பு: பிராந்தியம்

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

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

எனவே, எளிமையான வழியில் முடிக்கிறது:

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

இப்போது வரிசைக்கு மேலே இருந்து தொடங்கி, முதலில் ஒரு பெயர்நொட்டாக செயல்படும் HMaster சேவையகத்தைப் பற்றி நான் உங்களுக்கு விளக்க விரும்புகிறேன் HDFS . பின்னர், வரிசைக்கு கீழே நகரும்போது, ​​நான் உங்களை ZooKeeper மற்றும் Region Server மூலம் அழைத்துச் செல்வேன்.

HBase கட்டமைப்பு: எச் மாஸ்டர்

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

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

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

HBase கட்டமைப்பு: ZooKeeper - ஒருங்கிணைப்பாளர்

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

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

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

HBase கட்டமைப்பு: மெட்டா அட்டவணை

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

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

HBase கட்டமைப்பு: பிராந்திய சேவையகத்தின் கூறுகள்

இந்த கீழேயுள்ள படம் ஒரு பிராந்திய சேவையகத்தின் கூறுகளைக் காட்டுகிறது. இப்போது, ​​நான் அவற்றை தனித்தனியாக விவாதிப்பேன்.

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

  • வால்: மேலே உள்ள படத்திலிருந்து நீங்கள் முடிவுக்கு வரும்போது, ​​எழுதப்பட்ட முன்னோக்கி பதிவு (WAL) என்பது விநியோகிக்கப்பட்ட சூழலுக்குள் ஒவ்வொரு பிராந்திய சேவையகத்திலும் இணைக்கப்பட்ட ஒரு கோப்பு. நிரந்தர சேமிப்பகத்தில் தொடர்ந்து அல்லது உறுதிப்படுத்தப்படாத புதிய தரவை WAL சேமிக்கிறது. தரவுத் தொகுப்புகளை மீட்டெடுக்கத் தவறினால் இது பயன்படுத்தப்படுகிறது.
  • தற்காலிக சேமிப்பு: மேலேயுள்ள படத்திலிருந்து, பிராந்திய சேவையகத்தின் மேற்புறத்தில் பிளாக் கேச் வசிக்கிறது என்பது தெளிவாகத் தெரிகிறது. இது அடிக்கடி படிக்கும் தரவை நினைவகத்தில் சேமிக்கிறது. BlockCache இல் உள்ள தரவு குறைந்தது சமீபத்தில் பயன்படுத்தப்பட்டால், அந்த தரவு BlockCache இலிருந்து அகற்றப்படும்.
  • மெம்ஸ்டோர்: இது எழுதும் தற்காலிக சேமிப்பு. இது வட்டு அல்லது நிரந்தர நினைவகத்தில் ஈடுபடுவதற்கு முன்பு உள்வரும் எல்லா தரவையும் சேமிக்கிறது. ஒரு பிராந்தியத்தில் ஒவ்வொரு நெடுவரிசை குடும்பத்திற்கும் ஒரு மெம்ஸ்டோர் உள்ளது. படத்தில் நீங்கள் காணக்கூடியது போல, ஒரு பிராந்தியத்திற்கு பல மெம்ஸ்டோர்ஸ் உள்ளன, ஏனெனில் ஒவ்வொரு பிராந்தியத்திலும் பல நெடுவரிசை குடும்பங்கள் உள்ளன. தரவு வட்டில் செய்யப்படுவதற்கு முன்பு அதை லெக்சோகிராஃபிக்கல் வரிசையில் வரிசைப்படுத்தப்படுகிறது.
  • HFile: மேலே உள்ள படத்தில் இருந்து HFile HDFS இல் சேமிக்கப்பட்டிருப்பதைக் காணலாம். இதனால் அது வட்டில் உண்மையான கலங்களை சேமிக்கிறது. மெம்ஸ்டோர் அளவு மீறும் போது மெம்ஸ்டோர் தரவை HFile க்கு அனுப்புகிறது.

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

HBase கட்டமைப்பு: HBase இல் தேடல் எவ்வாறு துவக்கப்படுகிறது?

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

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

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

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

ஜாவாவில் தொகுப்பை உருவாக்குவது எப்படி

HBase கட்டமைப்பு: HBase எழுது பொறிமுறை

கீழே உள்ள இந்த படம் HBase இல் எழுதும் பொறிமுறையை விளக்குகிறது.

எழுதும் வழிமுறை பின்வரும் செயல்முறையின் வழியாக தொடர்ச்சியாக செல்கிறது (மேலே உள்ள படத்தைப் பார்க்கவும்):

படி 1: கிளையண்ட்டுக்கு எழுதும் கோரிக்கை இருக்கும் போதெல்லாம், கிளையன் தரவை WAL க்கு எழுதுகிறார் (முன்னால் பதிவு எழுது).

  • திருத்தங்கள் பின்னர் WAL கோப்பின் முடிவில் சேர்க்கப்படுகின்றன.
  • இந்த WAL கோப்பு ஒவ்வொரு பிராந்திய சேவையகத்திலும் பராமரிக்கப்படுகிறது மற்றும் வட்ட சேவையகம் வட்டில் ஈடுபடாத தரவை மீட்டெடுக்க இதைப் பயன்படுத்துகிறது.

படி 2: தரவு WAL க்கு எழுதப்பட்டதும், அது மெம்ஸ்டோருக்கு நகலெடுக்கப்படுகிறது.

படி 3: தரவு மெம்ஸ்டோரில் வைக்கப்பட்டதும், கிளையன் ஒப்புதலைப் பெறுவார்.

படி 4: மெம்ஸ்டோர் வாசலை அடையும் போது, ​​அது தரவை ஒரு HFile இல் செலுத்துகிறது அல்லது செய்கிறது.

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

HBase எழுது பொறிமுறை- மெம்ஸ்டோர்

  • மெம்ஸ்டோர் எப்போதும் அதில் சேமிக்கப்பட்டுள்ள தரவை, ஒரு சொற்களஞ்சிய வரிசையில் (தொடர்ச்சியாக ஒரு அகராதி முறையில்) வரிசைப்படுத்தப்பட்ட கீவல்யூஸாக புதுப்பிக்கிறது. ஒவ்வொரு நெடுவரிசை குடும்பத்திற்கும் ஒரு மெம்ஸ்டோர் உள்ளது, இதனால் புதுப்பிப்புகள் ஒவ்வொரு நெடுவரிசை குடும்பத்திற்கும் வரிசைப்படுத்தப்பட்ட முறையில் சேமிக்கப்படுகின்றன.
  • மெம்ஸ்டோர் வாசலை அடையும் போது, ​​அது அனைத்து தரவையும் ஒரு புதிய HFile இல் வரிசைப்படுத்தப்பட்ட முறையில் செலுத்துகிறது. இந்த HFile HDFS இல் சேமிக்கப்படுகிறது. ஒவ்வொரு நெடுவரிசை குடும்பத்திற்கும் HBase இல் பல HFiles உள்ளன.
  • காலப்போக்கில், மெம்ஸ்டோர் தரவைக் குறைக்கும்போது HFile இன் எண்ணிக்கை அதிகரிக்கிறது.
  • மெம்ஸ்டோர் கடைசியாக எழுதப்பட்ட வரிசை எண்ணையும் சேமிக்கிறது, எனவே மாஸ்டர் சர்வர் மற்றும் மெம்ஸ்டோர் இருவருக்கும் தெரியும், இதுவரை என்ன செய்யப்பட்டுள்ளது, எங்கிருந்து தொடங்குவது என்பது. பகுதி தொடங்கும் போது, ​​கடைசி வரிசை எண் படிக்கப்படும், அந்த எண்ணிலிருந்து புதிய திருத்தங்கள் தொடங்கும்.

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

HBase கட்டமைப்பு: HBase எழுது பொறிமுறை- HFile

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

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

HBase கட்டமைப்பு: பொறிமுறையைப் படியுங்கள்

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

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

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

HBase கட்டமைப்பு: காம்பாக்சன்

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

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

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

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

HBase கட்டமைப்பு: பகுதி பிளவு

கீழேயுள்ள படம் பிராந்திய பிளவு பொறிமுறையை விளக்குகிறது.

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

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

HBase கட்டமைப்பு: HBase செயலிழப்பு மற்றும் தரவு மீட்பு

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

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

இப்போது நீங்கள் HBase கட்டமைப்பைப் புரிந்து கொண்டீர்கள், பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால். சில்லறை, சமூக மீடியா, விமான போக்குவரத்து, சுற்றுலா, நிதி களத்தில் நிகழ்நேர பயன்பாட்டு நிகழ்வுகளைப் பயன்படுத்தி எச்டிஎஃப்எஸ், நூல், மேப்ரூட், பன்றி, ஹைவ், எச் பேஸ், ஓஸி, ஃப்ளூம் மற்றும் ஸ்கூப் ஆகியவற்றில் நிபுணர்களாக மாற எடூரெகா பிக் டேட்டா ஹடூப் சான்றிதழ் பயிற்சி பாடநெறி உதவுகிறது.

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