డేటాను డూప్లికేట్ చేయకండి: Zero Copy

చాలా వ్యవస్థలు డేటాను డౌన్‌లోడ్ చేయడం ద్వారా పనిచేస్తాయి. మీరు ఒక సర్వర్ నుండి సమాచారాన్ని కోరతారు, మరియు సర్వర్ తిరిగి ఒక పేలోడ్‌ను పంపుతుంది. ఆ తర్వాత మీరు ఆ డేటాను మీ స్వంత సిస్టమ్‌లో నిల్వ చేస్తారు.

ఇది ఒక సమస్యను సృష్టిస్తుంది. దీనివల్ల మీ వద్ద డూప్లికేట్ డేటా తయారవుతుంది. దీనిని Zero Copy అనే సూత్రాన్ని ఉపయోగించి పరిష్కరించవచ్చు.

Zero Copy అంటే ఏమిటి?

Zero Copy అంటే డేటాను కదపకుండానే దాన్ని యాక్సెస్ చేయడం. దీనిని ఒక కిటికీని తెరిచినట్లుగా ఊహించుకోండి. మీరు కిటికీ ద్వారా డేటాను చూడగలరు, కానీ డేటా దాని అసలు స్థానంలోనే ఉంటుంది. డేటాను చూడటానికి మీరు దాన్ని మీ ఇంటికి తీసుకురావాల్సిన అవసరం లేదు.

ServiceNow దీనిని ఎలా ఉపయోగిస్తుంది:

Operations Management కోసం SAP, AWS లేదా Snowflake వంటి అనేక చోట్ల నుండి డేటా అవసరమవుతుంది. సాధారణంగా, ఈ డేటాను తరలించడానికి మీరు ETL పైప్‌లైన్‌లను ఉపయోగిస్తారు. దీనికి సమయం పడుతుంది మరియు తప్పులు (errors) జరిగే అవకాశం ఉంటుంది.

దీనికి బదులుగా ServiceNow Virtual Data Fabric Tablesను ఉపయోగిస్తుంది. మీరు అడిగినప్పుడు మాత్రమే ఇది డేటాను క్వెరీ చేస్తుంది. సిస్టమ్ ఆ డేటాను తాత్కాలికంగా మెమరీలో ఉంచుతుంది. మీరు మీ పని పూర్తి చేసిన తర్వాత, ఆ డేటా మాయమవుతుంది.

ప్రయోజనాలు:

• మీరు డేటాను డూప్లికేట్ చేయరు. • సిస్టమ్‌ల మధ్య డేటాను సింక్ (sync) చేయాల్సిన అవసరం లేదు. • డేటా రెండో చోట ఉండదు కాబట్టి, మీరు భద్రతా ప్రమాదాలను (security risks) తగ్గిస్తారు.

ప్రతికూలతలు (Trade-offs):

• వేగం (Speed): మీరు నెట్‌వర్క్ వేగంపై ఆధారపడతారు. మూలం (source) నెమ్మదిగా ఉంటే, మీరు వేచి ఉండాల్సి వస్తుంది. • అప్‌టైమ్ (Uptime): మూల సిస్టమ్ డౌన్ అయితే, మీకు ఏమీ కనిపించదు. మీ వద్ద లోకల్ బ్యాకప్ ఉండదు. • లోడ్ (Load): ప్రతి యూజర్ రిక్వెస్ట్ మూల సిస్టమ్‌కు లైవ్ క్వెరీని పంపుతుంది. • ఖర్చులు (Costs): తరచుగా చేసే API కాల్స్ ఖరీదైనవి కావచ్చు. • రిపోర్టింగ్ (Reporting): మీరు ఈ డేటాను ఇండెక్స్ చేయలేరు, కాబట్టి సంక్లిష్టమైన రిపోర్టులను రూపొందించడం కష్టమవుతుంది.

Zero Copyని ఎప్పుడు ఉపయోగించాలి:

డేటాను తరలించడానికి అయ్యే ఖర్చు, దాన్ని నిల్వ చేయడం వల్ల కలిగే ప్రయోజనం కంటే ఎక్కువగా ఉన్నప్పుడు దీనిని ఉపయోగించండి.

  1. సున్నితమైన డేటా (Sensitive Data): ప్రమాదాన్ని తగ్గించడానికి PII లేదా HIPAA డేటాను ఒకే చోట ఉంచండి.
  2. రియల్-టైమ్ అవసరాలు (Real-Time Needs): పాత డేటా (stale data) పనికిరాని చోట, అంటే IT ట్రబుల్షూటింగ్ కోసం దీనిని ఉపయోగించండి.
  3. అప్పుడప్పుడు చేసే లుకప్‌లు (Occasional Lookups): మొత్తం డేటాబేస్‌ను సింక్ చేసే బదులు, ఒకే ఒక బడ్జెట్ నంబర్‌ను తనిఖీ చేయడానికి దీనిని ఉపయోగించండి.
  4. భారీ డేటాసెట్‌లు (Massive Datasets): పెటాబైట్ల డేటాను తరలించే బదులు, భారీ లాగ్‌ల సారాంశాన్ని (summaries) చూడటానికి దీనిని ఉపయోగించండి.

Source: https://dev.to/syncrofosatron/dont-repeat-data-zero-copy-1ff0

Optional learning community: https://t.me/GyaanSetuAi