ஊடாடும் தரவு காட்சிப்படுத்தல்களுக்கு (Interactive Data Visualizations) பேக்எண்ட் சிந்தனையும் தேவை
மக்கள் தரவு காட்சிப்படுத்தல்களின் தவறான அடுக்கைப் புகழ்கிறார்கள்.
அவர்கள் மென்மையான அனிமேஷன்களையும், நேர்த்தியான வரைபடங்களையும் கவனிக்கிறார்கள். ஆனால் அந்தத் தரவு காட்சிகளைச் சாத்தியமாக்கும் கண்ணுக்குத் தெரியாத வேலைகளை அவர்கள் கவனிக்கத் தவறிவிடுகிறார்கள். ஒழுங்கற்ற தரவுகளைச் சுத்தப்படுத்தும் தரவு உட்கொள்ளல் பணிகளையோ (ingestion jobs) அல்லது API-ஐ வேகமாகவும் சுறுசுறுப்பாகவும் வைத்திருக்கும் கேச் உத்திகளையோ (cache strategies) அவர்கள் பார்ப்பதில்லை.
அந்த கண்ணுக்குத் தெரியாத வேலையே உண்மையான தயாரிப்பு (product) ஆகும்.
நீங்கள் அதிகத் தரவு சார்ந்த அனுபவங்களை உருவாக்குகிறீர்கள் என்றால், முன்பக்கத் தொழில்நுட்பம் (frontend) என்பது வெறும் ஒரு ரெண்டரர் (renderer) மட்டுமே. உண்மையான பொறியியல் சவால் முன்பக்கத்திற்கு முன்னரே (upstream) நிகழ்கிறது. எந்தத் தரவு வடிவம் (data shape) உலாவியை (browser) சென்றடைய வேண்டும் மற்றும் எவ்வளவு தரவு சென்றடைய வேண்டும் என்பதை நீங்கள் தீர்மானிக்க வேண்டும்.
உங்கள் காட்சிப்படுத்தல் உண்மையான டிராஃபிக்கைத் (traffic) தாங்கி நிற்க வேண்டுமென்றால், உங்களுக்கு 'பேக்எண்ட்-முதலில்' (backend-first) என்ற வடிவமைப்புத் தேவை. அது இல்லையென்றால், நீங்கள் ஒரு நிலையற்ற பாதையின் மேல் அழகான அனிமேஷன் அடுக்கைக் கொண்டு ஒரு டெமோவை (demo) மட்டுமே வழங்குகிறீர்கள் என்று அர்த்தம்.
பல காட்சிப்படுத்தல் கட்டமைப்புகள் (visualization stacks) தோல்வியடைகின்றன, ஏனெனில் API சேமிப்பு மாதிரியுடன் (storage model) மிக நெருக்கமாக உள்ளது. பேக்எண்ட் மூலத் தரவுகளை (raw records) அனுப்புகிறது, இதனால் முன்பக்கம் தரவைச் சுத்தப்படுத்தவும், ஒருங்கிணைக்கவும் (aggregate), குழுவாக்கவும் (group) வேண்டிய கட்டாயத்திற்குத் தள்ளப்படுகிறது. இது மேம்பாட்டுப் பணியின் போது (development) வேகமாகத் தோன்றலாம். ஆனால் பயன்பாட்டு நிலையில் (production), ஒவ்வொரு பயனரும் தரவைச் சுத்தப்படுத்தும் செலவைச் சுமக்க வேண்டியிருப்பதால் இது அதிகச் செலவுமிக்கதாக மாறுகிறது.
உங்கள் பேக்எண்ட் ஒரு மூலப் பதிவை (raw log) வழங்காமல், ஒரு பிளேபேக் மாதிரியை (playback model) வழங்க வேண்டும்.
பேக்எண்ட் கடினமான வேலைகளைச் செய்யும்போது, அனைத்தும் மேம்படும்:
- CPU வேலைகள் உலாவியிலிருந்து வெளியேறுகின்றன.
- செயல்பாடுகளைச் சோதனை செய்வது எளிதாகிறது.
- கேச் செய்யும் திறன் (Cacheability) மேம்படுகிறது.
- அமைப்பு கணிக்கக்கூடியதாக மாறுகிறது.
ஒரு காட்சிப்படுத்தல் என்பது ஒரு சிறப்பு நுகர்வோர் (specialized consumer). அதற்கு வேகமான அணுகலும், சிறிய தரவுப் பேலோடுகளும் (small payloads) தேவை. ஒரு அட்மின் டேஷ்போர்டு (admin dashboard) அல்லது தரவு ஏற்றுமதிக்கு (data export) பயன்படுத்தும் அதே API-ஐ இதற்கும் பயன்படுத்தக் கட்டாயப்படுத்தாதீர்கள். அதற்கு ஒரு பிரத்யேக பேக்எண்ட் ஒப்பந்தத்தை (dedicated backend contract) வழங்குங்கள்.
ஒரு தொழில்முறை குழாய்முறை (pipeline) ஐந்து விஷயங்களைச் செய்ய வேண்டும்:
- தவறான தரவுகளை நிராகரிக்க மூலப் பதிவுகளைச் சரிபார்க்க வேண்டும் (Validate).
- நேர மண்டலங்கள் (time zones) மற்றும் அலகுகள் (units) போன்ற கட்டமைப்புகளை இயல்பாக்க வேண்டும் (Normalize).
- மூல வரிசைகளுக்குப் பதிலாக பிளேபேக் துண்டுகளைப் (playback segments) பெற வேண்டும்.
- வெவ்வேறு ஜூம் நிலைகளுக்குப் பல தெளிவுத்திறன்களை (resolutions) உருவாக்க வேண்டும்.
- பழைய தரவுகள் கலப்பதைத் தவிர்க்க திருத்தங்களை முத்திரையிட வேண்டும் (Stamp revisions).
பேலோட் அளவை (payload size) ஒரு முன்பக்கப் பிரச்சனையாகக் கருதுவதை நிறுத்துங்கள். இது ஒரு API ஒப்பந்தப் பிரச்சனை. உங்கள் சர்வர் அதிகப்படியான தரவை அனுப்பினால், அந்தத் தொடர்பு (interaction) ஒருபோதும் வேகமாக இருக்காது.
ஒரு வலுவான API சாத்தியமான மிகச்சிறிய மற்றும் உண்மையான பார்வையை அனுப்புகிறது. இது கோரிக்கைகளை (requests) நேரம், பிராந்தியம் மற்றும் விவரத் தன்மை ஆகியவற்றின் அடிப்படையில் கட்டுப்படுத்துகிறது.
உங்கள் அமைப்பை வளையங்களாக (rings) உருவாக்குங்கள்:
- முதல் வளையம் ஒரு மேலோட்டமான பார்வையின் (overview) மூலம் ஒரு திசையையும் புரிதலையும் வழங்குகிறது.
- இரண்டாவது வளையம் ஸ்க்ரப்பிங் (scrubbing) மற்றும் ஜூம் செய்வதற்கான தொடர்புகளை வழங்குகிறது.
- மூன்றாவது வளையம் ஆழமான விவரங்களைப் பார்க்க ஆய்வு செய்ய (inspection) உதவுகிறது.
வெறும் இயங்கும் நேரத்தை (uptime) மட்டும் கண்காணிக்காதீர்கள். பேலோட் அளவுகள், கேச் ஹிட் விகிதங்கள் (cache hit rates) மற்றும் தரவின் புத்துணர்ச்சி (data freshness) ஆகியவற்றைக் கண்காணிக்கவும். மிக முக்கியமாக, உங்கள் செயலாக்கப்பட்ட கலைப்படைப்புகள் (processed artifacts) இன்னும் யதார்த்தத்துடன் ஒத்துப்போகின்றனவா என்பதைச் சரிபார்க்கவும்.
பெறப்பட்ட ஒரு காட்சிப்படுத்தல் என்பது ஒரு தரவுத் தயாரிப்பு (data product). அதற்கு வெறும் ரெண்டரிங் மட்டுமல்ல, சரிபார்ப்பும் (validation) தேவை.
முன்பக்கம் என்பது ஒரு பதிப்புப்படுத்தப்பட்ட தரவுத் தயாரிப்பிற்கான (versioned data product) ஒரு பிளேபேக் கிளையண்ட் (playback client) என்பது போல உங்கள் பேக்எண்டைக் கட்டமைக்கவும். அவ்வாறு செய்தால் மட்டுமே வெளியீட்டிற்குப் பிறகும் நிலைத்து நிற்கும் அமைப்புகளை உங்களால் உருவாக்க முடியும்.
Source: https://dev.to/saqueib/interactive-data-visualizations-need-backend-thinking-too-5bk0
