3.1 பலவீனமான ACID பண்புகள்
நீண்ட காலமாக, கட்டிடக் கலைஞர்கள் மற்றும் டெவலப்பர்களுக்கு தரவு நிலைத்தன்மை ஒரு புனிதமான பசுவாக இருந்து வருகிறது. அனைத்து தொடர்புடைய தரவுத்தளங்களும் புதுப்பித்தல் பூட்டுகள் மற்றும் வாசிப்புகளைத் தடுப்பது அல்லது பதிவுகளை செயல்தவிர்த்தல் மூலம் சில அளவிலான தனிமைப்படுத்தலை வழங்குகின்றன. பெரிய அளவிலான தகவல் மற்றும் விநியோகிக்கப்பட்ட அமைப்புகளின் வருகையுடன், ஒருபுறம், அவர்களுக்கு ஒரு பரிவர்த்தனை செயல்பாடுகளை உறுதிப்படுத்துவது சாத்தியமற்றது என்பது தெளிவாகியது, மறுபுறம் அதிக கிடைக்கும் மற்றும் விரைவான மறுமொழி நேரத்தைப் பெறுவது.
மேலும், ஒரு பதிவைப் புதுப்பிப்பது கூட, வேறு எந்த பயனரும் கணினியில் மாற்றங்களை உடனடியாகக் காண்பதற்கு உத்தரவாதம் அளிக்காது, ஏனெனில் மாற்றம் ஏற்படலாம், எடுத்துக்காட்டாக, முதன்மை முனையில், மற்றும் பிரதி ஒத்திசைவற்ற முறையில் ஸ்லேவ் நோடில் நகலெடுக்கப்படுகிறது, அதனுடன் மற்றொரு பயனர் வேலை செய்கிறது. இந்த வழக்கில், அவர் ஒரு குறிப்பிட்ட காலத்திற்குப் பிறகு முடிவைப் பார்ப்பார். இது இறுதி நிலைத்தன்மை என்று அழைக்கப்படுகிறது, இதைத்தான் பேஸ்புக் மற்றும் அமேசான் உட்பட உலகின் அனைத்து பெரிய இணைய நிறுவனங்களும் இப்போது செய்யப் போகின்றன. பயனர் சீரற்ற தரவைப் பார்க்கக்கூடிய அதிகபட்ச இடைவெளி ஒரு வினாடிக்கு மேல் இல்லை என்று பிந்தையவர் பெருமையுடன் அறிவிக்கிறார். அத்தகைய சூழ்நிலையின் எடுத்துக்காட்டு படத்தில் காட்டப்பட்டுள்ளது:
அத்தகைய சூழ்நிலையில் எழும் தர்க்கரீதியான கேள்வி என்னவென்றால், கிளாசிக்கல் முறையில் அணு-நிலையான செயல்பாடுகளின் மீது அதிக கோரிக்கைகளை வைக்கும் மற்றும் அதே நேரத்தில் வேகமாக விநியோகிக்கப்பட்ட கிளஸ்டர்கள் தேவை - நிதி, ஆன்லைன் கடைகள், முதலியன அமைப்புகளை என்ன செய்வது? இந்த தேவைகள் இனி பொருந்தாது என்பதை நடைமுறை காட்டுகிறது: நிதி வங்கி அமைப்பின் வடிவமைப்பாளர் ஒருவர் கூறியதாவது: “உலக அளவிலான ஏடிஎம் நெட்வொர்க்கில் (ஏடிஎம்) ஒவ்வொரு பரிவர்த்தனையும் முடிவடையும் வரை நாங்கள் உண்மையிலேயே காத்திருந்தால், வாடிக்கையாளர்களுக்கு பரிவர்த்தனைகள் நீண்ட காலம் எடுக்கும். ஆத்திரத்தில் ஓடிவிடுவார்கள். நீங்களும் உங்கள் கூட்டாளியும் ஒரே நேரத்தில் பணத்தை எடுத்து வரம்பை மீறினால் என்ன நடக்கும்? "நீங்கள் இருவரும் பணத்தைப் பெறுவீர்கள், நாங்கள் அதை பின்னர் சரிசெய்வோம்."
மற்றொரு உதாரணம் படத்தில் காட்டப்பட்டுள்ள ஹோட்டல் முன்பதிவு. தரவுக் கொள்கையின் இறுதி நிலைத்தன்மையைக் கருதும் ஆன்லைன் ஸ்டோர்கள், அத்தகைய சூழ்நிலைகளில் (தானியங்கி மோதல் தீர்வு, செயல்பாடு திரும்பப் பெறுதல், பிற தரவுகளுடன் புதுப்பித்தல்) நடவடிக்கைகளை வழங்க வேண்டும். நடைமுறையில், அவசரநிலை ஏற்பட்டால் ஹோட்டல்கள் எப்போதும் இலவச அறைகளின் "குளம்" வைக்க முயற்சி செய்கின்றன, மேலும் இது ஒரு சர்ச்சைக்குரிய சூழ்நிலைக்கு ஒரு தீர்வாக இருக்கும்.
உண்மையில், பலவீனமான ACID பண்புகள் அவை இல்லை என்று அர்த்தமல்ல. பெரும்பாலான சந்தர்ப்பங்களில், ஒரு தொடர்புடைய தரவுத்தளத்துடன் பணிபுரியும் ஒரு பயன்பாடு, தர்க்கரீதியாக தொடர்புடைய பொருள்களை மாற்றுவதற்கு ஒரு பரிவர்த்தனையைப் பயன்படுத்துகிறது (ஆர்டர் - ஆர்டர் உருப்படிகள்), இவை வெவ்வேறு அட்டவணைகள் என்பதால் இது அவசியம். ஒரு NoSQL தரவுத்தளத்தில் தரவு மாதிரியின் சரியான வடிவமைப்பைக் கொண்டு (ஒட்டுமொத்தம் என்பது ஆர்டர் உருப்படிகளின் பட்டியலுடன் கூடிய ஒரு வரிசையாகும்), தொடர்புடைய தரவுத்தளத்தில் உள்ள ஒரே பதிவை மாற்றும் போது நீங்கள் அதே அளவிலான தனிமைப்படுத்தலை அடையலாம்.
3.2 விநியோகிக்கப்பட்ட அமைப்புகள், பகிரப்பட்ட ஆதாரங்கள் இல்லை (எதையும் பகிர வேண்டாம்)
மீண்டும், தரவுத்தள வரைபடங்களுக்கு இது பொருந்தாது, அதன் அமைப்பு, வரையறையின்படி, தொலை முனைகளில் நன்றாகப் பரவாது.
NoSQL தரவுத்தளங்களின் வளர்ச்சியின் முக்கிய அம்சம் இதுவாக இருக்கலாம். உலகில் தகவல்களின் பனிச்சரிவு வளர்ச்சி மற்றும் அதை ஒரு நியாயமான நேரத்தில் செயலாக்க வேண்டியதன் அவசியத்துடன், செங்குத்து அளவிடுதல் சிக்கல் எழுந்தது - செயலி வேகத்தின் வளர்ச்சி 3.5 GHz இல் நிறுத்தப்பட்டது, வட்டில் இருந்து படிக்கும் வேகமும் ஒரு வேகத்தில் வளர்ந்து வருகிறது. மெதுவான வேகம், மேலும் சக்திவாய்ந்த சேவையகத்தின் விலை எப்போதும் பல எளிய சேவையகங்களின் மொத்த விலையை விட அதிகமாக இருக்கும். இந்த சூழ்நிலையில், வழக்கமான தொடர்புடைய தரவுத்தளங்கள், வட்டுகளின் வரிசையில் கூட, வேகம், அளவிடுதல் மற்றும் செயல்திறன் ஆகியவற்றின் சிக்கலை தீர்க்க முடியாது.
சூழ்நிலையிலிருந்து வெளியேற ஒரே வழி கிடைமட்ட அளவீடு ஆகும், பல சுயாதீன சேவையகங்கள் வேகமான நெட்வொர்க்கால் இணைக்கப்பட்டு, ஒவ்வொன்றும் தரவின் ஒரு பகுதியை மட்டுமே / செயலாக்குகிறது மற்றும் / அல்லது படிக்க-புதுப்பிப்பு கோரிக்கைகளின் ஒரு பகுதியை மட்டுமே வைத்திருக்கும். இந்த கட்டமைப்பில், சேமிப்பக திறனை அதிகரிக்க (திறன், மறுமொழி நேரம், செயல்திறன்), நீங்கள் கிளஸ்டரில் ஒரு புதிய சேவையகத்தை மட்டும் சேர்க்க வேண்டும் - அவ்வளவுதான். ஷேர்டிங், நகலெடுத்தல், தவறு சகிப்புத்தன்மை (ஒன்று அல்லது அதற்கு மேற்பட்ட சேவையகங்கள் பதிலளிப்பதை நிறுத்தினாலும் முடிவு பெறப்படும்), ஒரு முனையைச் சேர்க்கும் போது தரவு மறுபகிர்வு NoSQL தரவுத்தளத்தால் கையாளப்படுகிறது.
விநியோகிக்கப்பட்ட NoSQL தரவுத்தளங்களின் முக்கிய பண்புகளை சுருக்கமாக முன்வைக்கிறேன்:
பிரதி - புதுப்பிக்கும் போது தரவை மற்ற முனைகளுக்கு நகலெடுக்கிறது. இரண்டையும் அதிக அளவிடுதல் மற்றும் தரவு கிடைக்கும் தன்மை மற்றும் பாதுகாப்பை அதிகரிக்க அனுமதிக்கிறது. இரண்டு வகைகளாகப் பிரிப்பது வழக்கம்:
எஜமானன்-அடிமை : மற்றும் சக-க்கு-சகா :முதல் வகை வாசிப்புக்கான நல்ல அளவிடுதல் (எந்த முனையிலிருந்தும் நிகழலாம்), ஆனால் அளவிட முடியாத எழுத்து (மாஸ்டர் முனைக்கு மட்டும்) கருதப்படுகிறது. நிலையான கிடைக்கும் தன்மையை உறுதி செய்வதிலும் நுணுக்கங்கள் உள்ளன (மாஸ்டர் கிராஷ் ஏற்பட்டால், கைமுறையாகவோ அல்லது தானாகவோ மீதமுள்ள முனைகளில் ஒன்று அதன் இடத்திற்கு ஒதுக்கப்படும்). இரண்டாவது வகை நகலெடுப்பு அனைத்து முனைகளும் சமமாக இருக்கும் மற்றும் படிக்க மற்றும் எழுதும் கோரிக்கைகளை வழங்க முடியும் என்று கருதுகிறது.
ஷார்டிங் என்பது கணுக்கள் மூலம் தரவைப் பிரிப்பதாகும்:
வேகம் மற்றும் செயல்திறனை அதிகரிப்பதற்காக ஷார்டிங் பெரும்பாலும் தொடர்புடைய தரவுத்தளங்களுக்கு "ஊன்றுகோலாக" பயன்படுத்தப்பட்டது: பயனர் பயன்பாடு பல சுயாதீன தரவுத்தளங்களில் தரவைப் பிரித்தது மற்றும் பயனர் தொடர்புடைய தரவைக் கோரும்போது, ஒரு குறிப்பிட்ட தரவுத்தளத்தை அணுகியது . NoSQL தரவுத்தளங்களில், நகலெடுப்பது போன்ற பகிர்தல் தரவுத்தளத்தால் தானாகவே செய்யப்படுகிறது மற்றும் பயனர் பயன்பாடு இந்த சிக்கலான வழிமுறைகளிலிருந்து தனித்தனியாக இருக்கும்.
3.3 NoSQL தரவுத்தளங்கள் பெரும்பாலும் ஓப்பன் சோர்ஸ் மற்றும் 21 ஆம் நூற்றாண்டில் உருவாக்கப்பட்டவை
இரண்டாவது அடிப்படையில்தான், சடலாஜ் மற்றும் ஃபோலர் ஆப்ஜெக்ட் தரவுத்தளங்களை NoSQL என வகைப்படுத்தவில்லை (http://nosql-database.org/ பொதுப்பட்டியலில் இருந்தாலும்), அவை 90களில் உருவாக்கப்பட்டன மற்றும் அதிக பிரபலம் பெறவில்லை. .
NoSQL இயக்கம் மிகப்பெரிய வேகத்தில் பிரபலமடைந்து வருகிறது. இருப்பினும், தொடர்புடைய தரவுத்தளங்கள் வெஸ்டிஜியல் அல்லது பழமையானதாக மாறுகின்றன என்று இது அர்த்தப்படுத்துவதில்லை. பெரும்பாலும் அவை பயன்படுத்தப்பட்டு முன்பு போலவே செயலில் பயன்படுத்தப்படும், ஆனால் அதிகமான NoSQL தரவுத்தளங்கள் அவர்களுடன் கூட்டுவாழ்வில் செயல்படும். வெவ்வேறு தேவைகளுக்கு வெவ்வேறு டேட்டா ஸ்டோர்கள் பயன்படுத்தப்படும் ஒரு சகாப்தத்தில் நாம் பாலிகிளாட் நிலைத்தன்மையின் சகாப்தத்தில் நுழைகிறோம். இப்போது தடையற்ற தரவு ஆதாரமாக தொடர்புடைய தரவுத்தளங்களின் ஏகபோகம் இல்லை. பெருகிய முறையில், கட்டிடக் கலைஞர்கள் தரவின் தன்மை மற்றும் அதை எவ்வாறு கையாள வேண்டும், எந்த அளவு தகவல் எதிர்பார்க்கப்படுகிறது என்பதன் அடிப்படையில் சேமிப்பகத்தைத் தேர்வு செய்கிறார்கள். அதனால் எல்லாம் மிகவும் சுவாரஸ்யமாகிறது.
கீழே NoSQL Cassandra DBMS ஐப் பயன்படுத்தி விநியோகிக்கப்பட்ட தரவுத்தளத்தின் செயல்பாட்டைப் புரிந்துகொள்ள முயற்சிப்போம்.
GO TO FULL VERSION