CodeGym /Java Course /தொகுதி 3 /மூன்று அடுக்கு கட்டிடக்கலை

மூன்று அடுக்கு கட்டிடக்கலை

தொகுதி 3
நிலை 14 , பாடம் 1
கிடைக்கப்பெறுகிறது

மூன்று அடுக்கு கட்டிடக்கலை அறிமுகம்

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

இது இப்படி இருந்தது:

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

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

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

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

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

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

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

தரவு அடுக்கைப் பிரிப்பதற்கான காரணங்கள்

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

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

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

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

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

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

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

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

சுவாரஸ்யமானது! ஜுக்கர்பெர்க் ஃபேஸ்புக்கை எழுதத் தொடங்கியபோது, ​​அவர் PHP + MySQL இல் எளிமையாக வேலை செய்தார். மில்லியன் கணக்கான பயனர்கள் இருந்தபோது, ​​​​அவர்கள் ஒரு சிறப்பு மொழிபெயர்ப்பாளரை எழுதினார்கள், அது அனைத்து PHP குறியீட்டையும் C ++ ஆக மொழிபெயர்த்து, அதை சொந்த இயந்திரக் குறியீட்டில் தொகுத்தது.

மேலும், MySQL ஆனது பில்லியன் கணக்கான பயனர்களின் தரவைச் சேமிக்கும் திறன் கொண்டதல்ல, எனவே Facebook NoSQL தரவுத்தளங்களின் கருத்தை உருவாக்கி, சக்திவாய்ந்த NoSQL DBMS - Cassandra சேவையகத்தை உருவாக்கியது. மூலம், இது முற்றிலும் ஜாவாவில் எழுதப்பட்டுள்ளது.

பயன்பாட்டு லாஜிக் இருப்பிட தெளிவின்மை

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

அத்தகைய தெளிவின்மைக்கான எடுத்துக்காட்டு கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது:

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

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

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

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

கருத்துக்கள்
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION