இன்-மெமரி என்பது பயன்பாட்டின் RAM இல் சேமிக்கப்படும் போது தரவு சேமிப்பதற்கான கருத்துகளின் தொகுப்பாகும், மேலும் வட்டு காப்புப்பிரதிக்கு பயன்படுத்தப்படுகிறது. கிளாசிக்கல் அணுகுமுறைகளில், தரவு வட்டில் சேமிக்கப்படுகிறது மற்றும் நினைவகம் தற்காலிக சேமிப்பில் சேமிக்கப்படுகிறது. எடுத்துக்காட்டாக, தரவைச் செயலாக்குவதற்கான பின்தளத்தைக் கொண்ட வலைப் பயன்பாடு அதை சேமிப்பகமாகக் கோருகிறது: அது அதைப் பெறுகிறது, மாற்றுகிறது, மேலும் பல தரவு நெட்வொர்க்கில் மாற்றப்படுகிறது. இன்-மெமரியில், கணக்கீடுகள் தரவுக்கு அனுப்பப்படுகின்றன - சேமிப்பகத்திற்கு, அவை செயலாக்கப்படும் மற்றும் நெட்வொர்க் குறைவாக ஏற்றப்படும்.
இன்-மெமரியில் வேறு என்ன சாத்தியங்கள் உள்ளன மற்றும் இது என்ன வகையான அணுகுமுறை? விளாடிமிர் பிளிகின் - GridGain இல் பொறியாளர். இன்-மெமரியுடன் பணிபுரியாத மற்றும் முயற்சி செய்ய விரும்பும் அல்லது மென்பொருள் மேம்பாடு மற்றும் கட்டிடக்கலை வடிவமைப்பில் நவீன போக்குகளில் ஆர்வமுள்ள இணைய பயன்பாட்டு பின்தள டெவலப்பர்களுக்கு இந்த மதிப்பாய்வு பொருள் பயனுள்ளதாக இருக்கும்.
கருத்து. #GetIT Conf இல் விளாடிமிரின் அறிக்கையின் படியெடுத்தலை அடிப்படையாகக் கொண்டது கட்டுரை. சுய-தனிமைப்படுத்தலை அறிமுகப்படுத்துவதற்கு முன்பு, மாஸ்கோ மற்றும் செயின்ட் பீட்டர்ஸ்பர்க்கில் டெவலப்பர்களுக்கான சந்திப்புகள் மற்றும் மாநாடுகளை நாங்கள் வழக்கமாக நடத்தினோம்: நாங்கள் போக்குகள், தற்போதைய வளர்ச்சி சிக்கல்கள், சிக்கல்கள் மற்றும் அவற்றின் தீர்வுகளைப் பற்றி விவாதித்தோம். இப்போது ஒரு மாநாட்டை நடத்துவது சாத்தியமில்லை, ஆனால் கடந்த காலங்களிலிருந்து பயனுள்ள பொருட்களைப் பகிர்ந்து கொள்ள வேண்டிய நேரம் இது.
இன்-மெமரியை யார் பயன்படுத்துகிறார்கள், எப்படி
வேகமான பயனர் தொடர்பு அல்லது பெரிய அளவிலான தரவு செயலாக்கம் தேவைப்படும் இடங்களில் இன்-மெமரி பெரும்பாலும் பயன்படுத்தப்படுகிறது.
- வங்கிகள் இன்-மெமரியைப் பயன்படுத்தவும், எடுத்துக்காட்டாக, வாடிக்கையாளர்கள் பயன்பாடுகளைப் பயன்படுத்தும் போது ஏற்படும் தாமதங்களைக் குறைக்க அல்லது கடனை வழங்குவதற்கு முன் கிளையண்டை பகுப்பாய்வு செய்ய.
- ஃபின்டெக் தரவு செயலாக்கம் மற்றும் பகுப்பாய்வை அவுட்சோர்ஸ் செய்யும் வங்கிகளுக்கான சேவைகள் மற்றும் பயன்பாடுகளின் செயல்திறனை மேம்படுத்த இன்-மெமரியைப் பயன்படுத்துகிறது.
- காப்பீட்டு நிறுவனங்கள்: அபாயங்களைக் கணக்கிட, எடுத்துக்காட்டாக, பல ஆண்டுகளாக வாடிக்கையாளர் தரவை பகுப்பாய்வு செய்வதன் மூலம்.
- தளவாட நிறுவனங்கள். எடுத்துக்காட்டாக, ஆயிரக்கணக்கான அளவுருக்கள் கொண்ட சரக்கு மற்றும் பயணிகள் போக்குவரத்திற்கான உகந்த வழிகளைக் கணக்கிடுவதற்கும், ஏற்றுமதியின் நிலையைக் கண்காணிப்பதற்கும் அவை நிறைய தரவுகளைச் செயலாக்குகின்றன.
- சில்லறை விற்பனை. இன்-மெமரி தீர்வுகள் வாடிக்கையாளர்களுக்கு விரைவாகச் சேவை செய்யவும், பெரிய அளவிலான தகவல்களைச் செயலாக்கவும் உதவுகின்றன: ஏற்றுமதிகள், விலைப்பட்டியல்கள், பரிவர்த்தனைகள், கிடங்குகளில் ஆயிரக்கணக்கான பொருட்கள் இருப்பது மற்றும் பகுப்பாய்வு அறிக்கைகளைத் தயாரித்தல்.
- В சனத்தொகை இன்-மெமரி பாரம்பரிய தரவுத்தளங்களை மாற்றுகிறது.
- மருந்து நிறுவனங்கள் இன்-மெமரியைப் பயன்படுத்துகின்றன, எடுத்துக்காட்டாக, மருந்து கலவைகளின் கலவையை வரிசைப்படுத்த.
எங்கள் வாடிக்கையாளர்கள் இன்-மெமரி தீர்வுகளை எவ்வாறு பயன்படுத்துகிறார்கள் மற்றும் அவற்றை நீங்களே எவ்வாறு செயல்படுத்தலாம் என்பதற்கான சில உதாரணங்களை நான் உங்களுக்கு சொல்கிறேன்.
முதன்மை சேமிப்பகமாக இன்-மெமரி
எங்கள் வாடிக்கையாளர்களில் ஒருவர் அமெரிக்காவிலிருந்து மருத்துவ அறிவியல் உபகரணங்களின் பெரிய சப்ளையர் ஆவார். அவர்கள் முக்கிய தரவு சேமிப்பகமாக இன்-மெமரி தீர்வைப் பயன்படுத்துகின்றனர். அனைத்து தரவுகளும் வட்டில் சேமிக்கப்படும், மேலும் செயலில் பயன்படுத்தப்படும் தரவுகளின் துணைக்குழு RAM இல் சேமிக்கப்படும். சேமிப்பக அணுகல் முறைகள் நிலையானவை - GDBC (பொது தரவுத்தள இணைப்பான்) மற்றும் SQL வினவல் மொழி.
ஒட்டுமொத்தமாக இது இன்-மெமரி டேட்டாபேஸ் (IMDB) அல்லது மெமரி-சென்ட்ரிக் ஸ்டோரேஜ் என்று அழைக்கப்படுகிறது. இந்த வகை தீர்வுகளுக்கு பல பெயர்கள் உள்ளன, இவை மட்டும் அல்ல.
IMDB அம்சங்கள்:
- இன்-மெமரியில் சேமிக்கப்படும் மற்றும் SQL மூலம் அணுகப்படும் தரவு மற்ற அணுகுமுறைகளைப் போலவே இருக்கும். அவை ஒத்திசைக்கப்பட்டுள்ளன, விளக்கக்காட்சியின் வழி, அவற்றைக் கையாளும் முறை மட்டுமே வேறுபட்டது. தரவுகளுக்கு இடையே பரிவர்த்தனை செயல்படுகிறது.
- IMDB தொடர்புடைய தரவுத்தளங்களை விட வேகமானது, ஏனெனில் இது வட்டில் இருந்து RAM இலிருந்து தகவலை மீட்டெடுப்பது வேகமானது.
- உள் தேர்வுமுறை அல்காரிதங்களில் குறைவான வழிமுறைகள் உள்ளன.
- பயன்பாடுகளில் தரவு, நிகழ்வுகள் மற்றும் பரிவர்த்தனைகளை நிர்வகிக்க IMDBகள் பொருத்தமானவை.
IMDBகள் ACIDயை ஓரளவு ஆதரிக்கின்றன: அணு, நிலைத்தன்மை மற்றும் தனிமைப்படுத்தல். ஆனால் அவை "ஆயுளை" ஆதரிக்காது - மின்சாரம் அணைக்கப்படும் போது, எல்லா தரவும் இழக்கப்படும். சிக்கலைத் தீர்க்க, நீங்கள் ஸ்னாப்ஷாட்களைப் பயன்படுத்தலாம் - தரவுத்தளத்தின் "ஸ்னாப்ஷாட்", வன்வட்டில் தரவுத்தள காப்புப்பிரதிக்கு ஒப்பானது அல்லது மறுதொடக்கத்திற்குப் பிறகு தரவை மீட்டெடுக்க பரிவர்த்தனைகளை (பதிவுகள்) பதிவு செய்யலாம்.
தவறுகளைத் தாங்கும் பயன்பாடுகளை உருவாக்க
பிழை-சகிப்புத்தன்மை கொண்ட வலை பயன்பாட்டின் உன்னதமான கட்டமைப்பை கற்பனை செய்யலாம். இது இவ்வாறு செயல்படுகிறது: அனைத்து கோரிக்கைகளும் சேவையகங்களுக்கு இடையில் ஒரு வலை சமநிலை மூலம் விநியோகிக்கப்படுகின்றன. இந்த அமைப்பு நிலையானது, ஏனெனில் சேவையகங்கள் ஒன்றையொன்று நகலெடுக்கின்றன மற்றும் சம்பவங்கள் ஏற்பட்டால் காப்புப் பிரதி எடுக்கின்றன.
பேலன்சர் அனைத்து கோரிக்கைகளையும் ஒரு அமர்விலிருந்து கண்டிப்பாக ஒரு சேவையகத்திற்கு அனுப்புகிறது. இது ஒரு ஸ்டிக் அமர்வு பொறிமுறையாகும்: ஒவ்வொரு அமர்வும் உள்ளூரில் சேமிக்கப்பட்டு செயலாக்கப்படும் சேவையகத்துடன் தொடர்புடையது.
சேவையகங்களில் ஒன்று தோல்வியுற்றால் என்ன நடக்கும்?
கட்டிடக்கலை நகல் செய்யப்படுவதால் சேவை பாதிக்கப்படாது. ஆனால் இறந்த சர்வரின் அமர்வுகளின் துணைக்குழுவை இழப்போம். அதே நேரத்தில், இந்த அமர்வுகளுடன் இணைக்கப்பட்ட பயனர்கள். உதாரணமாக, ஒரு வாடிக்கையாளர் ஒரு ஆர்டரைப் போட்டு, திடீரென்று அவரை அலுவலகத்திலிருந்து வெளியேற்றுகிறார். அவர் மீண்டும் உள்நுழைந்து, எல்லாவற்றையும் மீண்டும் செய்ய வேண்டும் என்பதைக் கண்டறிந்தால் அவர் மகிழ்ச்சியற்றவராக இருப்பார்.
அதிக எண்ணிக்கையிலான பயனர்களை ஆதரிக்க ஒரு வலை பயன்பாடு தேவைப்படுகிறது மற்றும் அவர்கள் வசதியாக வேலை செய்ய வேகத்தை குறைக்க வேண்டாம். ஆனால் அது நிராகரிக்கப்பட்டால், ஒவ்வொரு அடுத்தடுத்த கோரிக்கையிலும் அமர்வு கடையுடன் தொடர்பு கொள்ள எடுக்கும் நேரம் அதிகரிக்கும். இது மற்ற பயனர்களுக்கான சராசரி தாமதத்தை அதிகரிக்கிறது. ஆனால் அவர்கள் பழகியதை விட அதிக நேரம் காத்திருக்க விரும்பவில்லை.
அமெரிக்காவைச் சேர்ந்த பெரிய பாஸ் வழங்குநரான எங்கள் மற்ற கிளையண்ட்டைப் போலவே இந்தச் சிக்கலையும் தீர்க்க முடியும். இது வலை அமர்வுகளை கிளஸ்டர் செய்ய இன்-மெமரியைப் பயன்படுத்துகிறது. இதைச் செய்ய, அவற்றை உள்நாட்டில் அல்ல, மையமாக - ஒரு நினைவக கிளஸ்டரில் சேமிக்கிறது. இந்த வழக்கில், அமர்வுகள் மிக வேகமாக கிடைக்கின்றன, ஏனெனில் அவை ஏற்கனவே RAM இல் உள்ளன.
ஒரு சர்வர் செயலிழக்கும்போது, கிளாசிக்கல் ஆர்கிடெக்சரைப் போலவே, செயலிழந்த சேவையகத்திலிருந்து பிற சேவையகங்களுக்கு பேலன்சர் கோரிக்கைகளை அனுப்புகிறது. ஆனால் ஒரு முக்கியமான வேறுபாடு உள்ளது: அமர்வுகள் இன்-மெமரி கிளஸ்டரில் சேமிக்கப்படும் மற்றும் சேவையகங்கள் வீழ்ந்த சேவையகத்தின் அமர்வுகளுக்கான அணுகலைக் கொண்டுள்ளன.
இந்த கட்டிடக்கலை முழு அமைப்பின் தவறு சகிப்புத்தன்மையை அதிகரிக்கிறது. மேலும், குச்சி அமர்வு பொறிமுறையை முற்றிலுமாக கைவிடுவது சாத்தியமாகும்.
கலப்பின பரிவர்த்தனை பகுப்பாய்வு செயலாக்கம் (HTAP)
பொதுவாக, பரிவர்த்தனை மற்றும் பகுப்பாய்வு அமைப்புகள் தனித்தனியாக வைக்கப்படுகின்றன. அவர்கள் பிரிக்கும் போது, முக்கிய அடிப்படை சுமை கீழ் வருகிறது. பகுப்பாய்வு செயலாக்கத்திற்கு, தரவு ஒரு பிரதிக்கு நகலெடுக்கப்படுகிறது, இதனால் பகுப்பாய்வு செயலாக்கம் பரிவர்த்தனை செயல்முறைகளில் தலையிடாது. ஆனால் நகலெடுப்பது ஒரு பின்னடைவுடன் நிகழ்கிறது - ஒரு பின்னடைவு இல்லாமல் நகலெடுப்பது சாத்தியமில்லை. நாம் இதை ஒத்திசைவாகச் செய்தால், அது முக்கிய தளத்தையும் மெதுவாக்கும், மேலும் நமக்கு எந்த வெற்றியும் கிடைக்காது.
HTAP இல், எல்லாமே வித்தியாசமாகச் செயல்படும் - அதே தரவுக் கடை பயன்பாடுகளில் இருந்து பரிவர்த்தனை ஏற்றுவதற்கும், நீண்ட நேரம் எடுக்கும் பகுப்பாய்வு வினவல்களுக்கும் பயன்படுத்தப்படுகிறது. தரவு RAM இல் இருக்கும் போது, பகுப்பாய்வு வினவல்கள் வேகமாக செயல்படுத்தப்படும், மேலும் தரவுத்தளத்துடன் கூடிய சேவையகம் குறைவாக ஏற்றப்படும் (சராசரியாக).
ஒரு கலப்பின அணுகுமுறை பரிவர்த்தனை செயலாக்கத்திற்கும் பகுப்பாய்வுக்கும் இடையே உள்ள சுவரை உடைக்கிறது. அதே சேமிப்பகத்தில் நாம் பகுப்பாய்வு செய்தால், RAM இலிருந்து தரவுகளில் பகுப்பாய்வு வினவல்கள் தொடங்கப்படும். அவை மிகவும் துல்லியமானவை, மிகவும் புரிந்துகொள்ளக்கூடியவை மற்றும் போதுமானவை.
இன்-மெமரி தீர்வுகளின் ஒருங்கிணைப்பு
ஒரு (ஒப்பீட்டளவில்) எளிய வழி - புதிதாக அனைத்தையும் அபிவிருத்தி செய்யுங்கள். நாங்கள் தரவை வட்டில் வைத்து, சூடான தரவை நினைவகத்தில் சேமிக்கிறோம். இது சர்வர் ரீபூட் அல்லது செயலிழப்புகளைத் தவிர்க்க உதவுகிறது.
தரவு வட்டில் சேமிக்கப்படும் போது இங்கு இரண்டு முக்கிய காட்சிகள் உள்ளன. முதலாவதாக, கிளஸ்டர் அல்லது பாகங்களின் செயலிழப்புகள் அல்லது வழக்கமான மறுதொடக்கங்களைத் தக்கவைக்க விரும்புகிறோம் - அதை ஒரு எளிய தரவுத்தளமாகப் பயன்படுத்த விரும்புகிறோம். இரண்டாவது சூழ்நிலையில், அதிக தரவு இருக்கும்போது, அதில் சில நினைவகத்தில் இருக்கும்.
புதிதாக அனைத்தையும் உருவாக்க முடியாவிட்டால், ஏற்கனவே உள்ள நினைவகத்தில் ஒருங்கிணைக்க முடியும். தற்போதுள்ள கட்டிடக்கலை. ஆனால் அனைத்து இன்-மெமரி தீர்வுகளும் இதற்கு ஏற்றவை அல்ல. மூன்று கட்டாய நிபந்தனைகள் உள்ளன. இன்-மெமரி தீர்வு ஆதரிக்க வேண்டும்:
- தரவுத்தளத்துடன் இணைப்பதற்கான நிலையான வழி அதன் அடியில் இருக்கும் (எடுத்துக்காட்டாக, MySQL);
- ஒரு நிலையான வினவல் மொழி, சேமிப்பகத்துடனான தொடர்புகளின் தர்க்கத்தை மீண்டும் எழுதவும் மாற்றவும் கூடாது;
- பரிவர்த்தனை - தொடர்புகளின் சொற்பொருளைப் பாதுகாத்தல்.
மூன்று நிபந்தனைகளும் பூர்த்தி செய்யப்பட்டால், ஒருங்கிணைப்பு சாத்தியமாகும். பயன்பாட்டிற்கும் தரவுத்தளத்திற்கும் இடையில் இன்-மெமரி டேட்டா கிரிட்டை வைக்கிறோம். இப்போது எழுதுதல் கோரிக்கைகள் அடிப்படை தரவுத்தளத்திற்கு ஒதுக்கப்படும், மேலும் தரவு தற்காலிக சேமிப்பில் இல்லை என்றால், வாசிப்பு கோரிக்கைகள் அடிப்படை தரவுத்தளத்திற்கு ஒதுக்கப்படும்.
தரவுக்கான விரைவான அணுகல் மற்றும் அதன் செயலாக்கம் உங்களுக்கு முக்கியமானதாக இருந்தால், எடுத்துக்காட்டாக, வணிக பகுப்பாய்வுகளுக்கு, இன்-மெமரியை செயல்படுத்துவது பற்றி நீங்கள் சிந்திக்கலாம். செயல்படுத்துவதற்கு, ஒரு புதிய கட்டிடக்கலை வடிவமைக்கும் போது நீங்கள் இரண்டு முறைகளையும் பயன்படுத்தலாம்.
ஆதாரம்: www.habr.com