தமிழ்

CQRS (கட்டளை வினவல் பொறுப்புப் பிரிவினை) பற்றிய ஒரு முழுமையான வழிகாட்டி. இது அளவிடக்கூடிய மற்றும் பராமரிக்கக்கூடிய அமைப்புகளை உருவாக்க அதன் கொள்கைகள், நன்மைகள், செயல்படுத்தும் உத்திகள் மற்றும் நிஜ உலகப் பயன்பாடுகளை உள்ளடக்கியது.

CQRS: கட்டளை வினவல் பொறுப்புப் பிரிவினையில் தேர்ச்சி பெறுதல்

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

CQRS என்றால் என்ன?

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

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

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

CQRS-இன் முக்கிய கொள்கைகள்

CQRS பல முக்கிய கொள்கைகளின் மீது கட்டமைக்கப்பட்டுள்ளது:

CQRS-இன் நன்மைகள்

CQRS-ஐ செயல்படுத்துவது பல நன்மைகளை வழங்க முடியும், அவற்றுள்:

CQRS-ஐ எப்போது பயன்படுத்த வேண்டும்

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

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

CQRS-ஐ செயல்படுத்துதல்

CQRS-ஐ செயல்படுத்துவதில் பல முக்கிய கூறுகள் உள்ளன:

எடுத்துக்காட்டு: மின்வணிக பயன்பாடு

ஒரு மின்வணிக பயன்பாட்டைக் கவனியுங்கள். ஒரு பாரம்பரிய கட்டமைப்பில், ஒரு ஒற்றை `Product` সত্তை தயாரிப்பு தகவலைக் காண்பிப்பதற்கும், தயாரிப்பு விவரங்களைப் புதுப்பிப்பதற்கும் பயன்படுத்தப்படலாம்.

ஒரு CQRS செயலாக்கத்தில், நாங்கள் வாசிப்பு மற்றும் எழுதும் மாதிரிகளைப் பிரிப்போம்:

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

ஒரு `CreateProductCommand` செயல்படுத்தப்படும்போது, `CreateProductCommandHandler` எழுதும் மாதிரியில் ஒரு புதிய `Product` திரட்டியை உருவாக்குகிறது. இந்த திரட்டி பின்னர் ஒரு `ProductCreatedEvent`-ஐ எழுப்புகிறது, இது நிகழ்வு பஸ்ஸில் வெளியிடப்படுகிறது. ஒரு தனி செயல்முறை இந்த நிகழ்விற்கு சந்தா செலுத்தி அதற்கேற்ப வாசிப்பு மாதிரியைப் புதுப்பிக்கிறது.

தரவு ஒத்திசைவு உத்திகள்

எழுதும் மற்றும் வாசிப்பு மாதிரிகளுக்கு இடையில் தரவை ஒத்திசைக்க பல உத்திகளைப் பயன்படுத்தலாம்:

CQRS மற்றும் நிகழ்வு ஆதாரம்

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

இருப்பினும், நிகழ்வு ஆதாரம் கணினிக்கு சிக்கலையும் சேர்க்கிறது. இது நிகழ்வு பதிப்பு, ஸ்கீமா பரிணாமம் மற்றும் நிகழ்வு சேமிப்பகம் ஆகியவற்றைக் கவனமாகக் கருத்தில் கொள்ள வேண்டும்.

மைக்ரோசர்விசஸ் கட்டமைப்பில் CQRS

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

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

எடுத்துக்காட்டு: உலகளாவிய மின்வணிக தளம்

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

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

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

CQRS-இன் சவால்கள்

CQRS பல நன்மைகளை வழங்கினாலும், இது பல சவால்களையும் அறிமுகப்படுத்துகிறது:

CQRS-க்கான சிறந்த நடைமுறைகள்

CQRS-ஐ வெற்றிகரமாக செயல்படுத்த, இந்த சிறந்த நடைமுறைகளைப் பின்பற்றுவது அவசியம்:

CQRS கருவிகள் மற்றும் கட்டமைப்புகள்

பல கருவிகள் மற்றும் கட்டமைப்புகள் CQRS-இன் செயலாக்கத்தை எளிதாக்க உதவும்:

CQRS-இன் நிஜ உலக எடுத்துக்காட்டுகள்

பல பெரிய நிறுவனங்கள் அளவிடக்கூடிய மற்றும் பராமரிக்கக்கூடிய அமைப்புகளை உருவாக்க CQRS-ஐப் பயன்படுத்துகின்றன. இதோ சில எடுத்துக்காட்டுகள்:

இந்த எடுத்துக்காட்டுகள் CQRS-ஐ மின்வணிக தளங்கள் முதல் சமூக வலைப்பின்னல் தளங்கள் வரை பரந்த அளவிலான பயன்பாடுகளுக்கு வெற்றிகரமாகப் பயன்படுத்த முடியும் என்பதை நிரூபிக்கின்றன.

முடிவுரை

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

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

மேலும் அறிய

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