சேவையக பகுப்பாய்வு அமைப்புகள்

இது பகுப்பாய்வு அமைப்புகளைப் பற்றிய தொடர் கட்டுரைகளின் இரண்டாம் பகுதி (பகுதி 1 க்கான இணைப்பு).

சேவையக பகுப்பாய்வு அமைப்புகள்

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

வாடிக்கையாளர் ஆய்வாளர்கள்

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

சேவையக ஆய்வாளர்கள்

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

Плюсы
Минусы

நீங்கள் விரும்பும் எதையும் தனிப்பயனாக்கலாம்
இது பெரும்பாலும் மிகவும் கடினம் மற்றும் தனி டெவலப்பர்கள் தேவை

இரண்டாவது: SaaS சேவைகளை (Amazon, Google, Azure) நீங்களே பயன்படுத்துவதற்குப் பதிலாக எடுத்துக்கொள்ளுங்கள். மூன்றாம் பாகத்தில் SaaS பற்றி விரிவாகப் பேசுவோம்.

Плюсы
Минусы

இது நடுத்தர அளவுகளில் மலிவானதாக இருக்கலாம், ஆனால் பெரிய வளர்ச்சியுடன் அது இன்னும் விலை உயர்ந்ததாக இருக்கும்
எல்லா அளவுருக்களையும் கட்டுப்படுத்த முடியாது

நிர்வாகம் முற்றிலும் சேவை வழங்குநரின் தோள்களுக்கு மாற்றப்படுகிறது
சேவையின் உள்ளே என்ன இருக்கிறது என்பது எப்போதும் தெரியாது (அது தேவைப்படாமல் இருக்கலாம்)

சேவையக பகுப்பாய்வுகளை எவ்வாறு சேகரிப்பது

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

1. தரவு பெறுதல்

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

படி Quora இல் இடுகை 2014 ஆம் ஆண்டில், அப்பாச்சி காஃப்காவை உருவாக்கியவர் மென்பொருளுக்கு ஃபிரான்ஸ் காஃப்காவின் பெயரை வைக்க முடிவு செய்தார், ஏனெனில் "இது எழுதுவதற்கு உகந்த அமைப்பு" மற்றும் காஃப்காவின் படைப்புகளை அவர் விரும்பினார். — விக்கிப்பீடியா

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

அதே நேரத்தில், காஃப்கா உங்களைத் துண்டுகளாகப் படிக்கவும், மினி-பேட்ச்களில் நிகழ்வுகளின் ஸ்ட்ரீமை செயலாக்கவும் அனுமதிக்கிறது. காஃப்கா என்பது மிகவும் வசதியான கருவியாகும், இது வளர்ந்து வரும் தேவைகளுடன் நன்கு அளவிடப்படுகிறது (உதாரணமாக, நிகழ்வுகளின் புவிஇருப்பிடம் மூலம்).
பொதுவாக ஒரு துண்டு போதும், ஆனால் அளவிடும் போது விஷயங்கள் மிகவும் சிக்கலாகின்றன (அவை எப்போதும் செய்வது போல). கட்டிடக்கலை தவறுகளை பொறுத்துக்கொள்ளக்கூடியதாக இருக்க வேண்டும் என்பதால், உற்பத்தியில் ஒரே ஒரு உடல் துண்டை மட்டுமே பயன்படுத்த யாரும் விரும்ப மாட்டார்கள். காஃப்காவைத் தவிர, மற்றொரு நன்கு அறியப்பட்ட தீர்வு உள்ளது - RabbitMQ. நிகழ்வு பகுப்பாய்வுக்கான வரிசையாக நாங்கள் அதை தயாரிப்பில் பயன்படுத்தவில்லை (உங்களுக்கு அத்தகைய அனுபவம் இருந்தால், அதைப் பற்றி கருத்துகளில் சொல்லுங்கள்!). இருப்பினும், நாங்கள் AWS Kinesis ஐப் பயன்படுத்தினோம்.

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

2. நிகழ்வு ஸ்ட்ரீம்களை செயலாக்குகிறது

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

3. தரவுத்தளம்

மூன்றாவது படி சாதாரண நிகழ்வுகளை பராமரிப்பதாகும். ஆயத்த பகுப்பாய்வு அமைப்புடன் பணிபுரியும் போது, ​​அவற்றை அடிக்கடி அணுக வேண்டியிருக்கும், எனவே வசதியான தரவுத்தளத்தைத் தேர்ந்தெடுப்பது முக்கியம்.
நிலையான திட்டத்தில் தரவு பொருந்தினால், நீங்கள் தேர்வு செய்யலாம் கிளிக்ஹவுஸ் அல்லது வேறு சில நெடுவரிசை தரவுத்தளங்கள். இந்த வழியில் திரட்டல்கள் மிக விரைவாக வேலை செய்யும். தீமை என்னவென்றால், திட்டம் கடுமையாக சரி செய்யப்பட்டுள்ளது, எனவே மாற்றமின்றி தன்னிச்சையான பொருட்களைச் சேர்க்க முடியாது (எடுத்துக்காட்டாக, ஒரு தரமற்ற நிகழ்வு நிகழும்போது). ஆனால் நீங்கள் மிக விரைவாக எண்ணலாம்.
கட்டமைக்கப்படாத தரவுகளுக்கு, நீங்கள் NoSQL ஐ எடுக்கலாம், எடுத்துக்காட்டாக, அப்பாச்சி கசாண்ட்ரா. இது HDFS இல் இயங்குகிறது, நன்றாகப் பிரதிபலிக்கிறது, நீங்கள் பல நிகழ்வுகளை எழுப்பலாம், மேலும் தவறு-சகிப்புத்தன்மை கொண்டது.
நீங்கள் எளிமையான ஒன்றையும் எழுப்பலாம், எடுத்துக்காட்டாக, MongoDB. இது மிகவும் மெதுவாக மற்றும் சிறிய தொகுதிகளுக்கு. ஆனால் பிளஸ் என்னவென்றால், இது மிகவும் எளிமையானது மற்றும் தொடங்குவதற்கு ஏற்றது.
சேவையக பகுப்பாய்வு அமைப்புகள்

4. திரட்டல்கள்

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

5. முன்பக்கம்

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

  1. பயனர் ஒரு SQL வினவலை செய்கிறார்.
  2. பதிலுக்கு அவர் ஒரு அடையாளத்தைப் பெறுகிறார்.
  3. இது ஒரு 'புதிய காட்சிப்படுத்தலை' உருவாக்கி, உங்களுக்காகச் சேமிக்கக்கூடிய அழகான வரைபடத்தைப் பெறுகிறது.

சேவையில் காட்சிப்படுத்தல்கள் தானாகப் புதுப்பிக்கப்படுகின்றன, உங்கள் கண்காணிப்பைத் தனிப்பயனாக்கலாம் மற்றும் கண்காணிக்கலாம். Redash சுயமாக ஹோஸ்ட் செய்தால் இலவசம், ஆனால் SaaS ஆக மாதத்திற்கு $50 செலவாகும்.
சேவையக பகுப்பாய்வு அமைப்புகள்

முடிவுக்கு

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

வாசித்ததற்கு நன்றி! கருத்துகளில் கேள்விகளைக் கேட்பதில் நான் மகிழ்ச்சியடைவேன்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்