தமிழ்

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

கேப் கோட்பாட்டைப் புரிந்துகொள்ளுதல்: நிலைத்தன்மை, கிடைக்கும் தன்மை மற்றும் பகிர்வு சகிப்புத்தன்மை

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

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

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

நிலைத்தன்மை (C)

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

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

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

கிடைக்கும் தன்மை (A)

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

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

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

பகிர்வு சகிப்புத்தன்மை (P)

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

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

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

கேப் கோட்பாடு செயல்பாட்டில்: உங்கள் சமரசங்களைத் தேர்ந்தெடுத்தல்

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

CP அமைப்புகள்: நிலைத்தன்மை மற்றும் பகிர்வு சகிப்புத்தன்மை

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

CP அமைப்புகளின் எடுத்துக்காட்டுகள்:

CP அமைப்புகளுக்கான பயன்பாட்டு வழக்குகள்:

AP அமைப்புகள்: கிடைக்கும் தன்மை மற்றும் பகிர்வு சகிப்புத்தன்மை

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

AP அமைப்புகளின் எடுத்துக்காட்டுகள்:

  • Cassandra: உயர் கிடைக்கும் தன்மை மற்றும் அளவிடுதலுக்காக வடிவமைக்கப்பட்ட ஒரு NoSQL தரவுத்தளம். Cassandra உங்கள் குறிப்பிட்ட தேவைகளைப் பூர்த்தி செய்ய நிலைத்தன்மை அளவை சரிசெய்ய உங்களை அனுமதிக்கிறது.
  • Couchbase: கிடைக்கும் தன்மைக்கு முன்னுரிமை அளிக்கும் மற்றொரு NoSQL தரவுத்தளம். Couchbase இறுதியில் நிலைத்தன்மை முறையைப் பயன்படுத்தி அனைத்து முனைகளும் இறுதியில் ஒரே நிலைக்கு வருவதை உறுதி செய்கிறது.
  • Amazon DynamoDB: கணிக்கக்கூடிய செயல்திறன் மற்றும் அளவிடுதலை வழங்கும் ஒரு முழுமையாக நிர்வகிக்கப்படும் NoSQL தரவுத்தள சேவை. DynamoDB உயர் கிடைக்கும் தன்மை மற்றும் பிழை சகிப்புத்தன்மைக்காக வடிவமைக்கப்பட்டுள்ளது.
  • AP அமைப்புகளுக்கான பயன்பாட்டு வழக்குகள்:

    CA அமைப்புகள்: நிலைத்தன்மை மற்றும் கிடைக்கும் தன்மை (பகிர்வு சகிப்புத்தன்மை இல்லாமல்)

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

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

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

    இறுதியில் நிலைத்தன்மை

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

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

    BASE (அடிப்படையில் கிடைக்கும், மென்மையான நிலை, இறுதியில் நிலைத்தன்மை)

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

    BASE பெரும்பாலும் NoSQL தரவுத்தளங்கள் மற்றும் வலுவான நிலைத்தன்மையை விட அளவிடுதல் மற்றும் கிடைக்கும் தன்மை மிகவும் முக்கியமான பிற விநியோகிக்கப்பட்ட அமைப்புகளில் பயன்படுத்தப்படுகிறது.

    PACELC (பகிர்வு சகிப்புத்தன்மை மற்றும் மற்றபடி; நிலைத்தன்மை அல்லது கிடைக்கும் தன்மை)

    PACELC என்பது கேப் கோட்பாட்டின் ஒரு நீட்டிப்பாகும், இது நெட்வொர்க் பகிர்வுகள் இல்லாதபோதும் சமரசங்களைக் கருத்தில் கொள்கிறது. இது கூறுகிறது: ஒரு பகிர்வு (P) இருந்தால், கிடைக்கும் தன்மை (A) மற்றும் நிலைத்தன்மை (C) க்கு இடையில் தேர்வு செய்ய வேண்டும் (கேப்-இன்படி); இல்லையெனில் (E), அமைப்பு சாதாரணமாக இயங்கும்போது, தாமதம் (L) மற்றும் நிலைத்தன்மை (C) க்கு இடையில் தேர்வு செய்ய வேண்டும்.

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

    நடைமுறைப் பரிசீலனைகள் மற்றும் சிறந்த நடைமுறைகள்

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

    முடிவுரை

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

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