రోబ్లాక్స్ రోజుకు 2 ట్రిలియన్ల విశ్లేషణాత్మక ఈవెంట్ల మార్గం
విస్తరించదగిన విశ్లేషణ ఇంజెషన్ మౌలిక సదుపాయాలను నిర్మించడం

ప్రతిరోజూ, సగటున 97.8 మిలియన్ల వినియోగదారులు* సంభాషించడానికి, సృష్టించడానికి మరియు కలిసి ఆడటానికి రాబ్లాక్స్ను సందర్శిస్తారు. ఈ పరస్పర చర్యలన్నీ కలిసి 2 పెటాబైట్ల విశ్లేషణ ఈవెంట్ల డేటాను ఉత్పత్తి చేస్తాయి. ఒక కొత్త స్కేలబుల్ ఇంజెషన్ సిస్టమ్కు ధన్యవాదాలు, మేము ఇటీవల ఒక ప్రధాన మైలురాయిని చేరుకున్నాము: మా సిస్టమ్ ఇప్పుడు రోజుకు 2 ట్రిలియన్లకు పైగా ఈవెంట్లను ప్రాసెస్ చేస్తోంది. ఈ సిస్టమ్ రాబ్లాక్స్ ప్లాట్ఫారమ్కు శక్తినిచ్చే వ్యక్తిగతీకరణ, భద్రత మరియు ఆర్థిక వ్యవస్థ అల్గారిథమ్లను సాధ్యం చేస్తుంది.
గతంలో, ఒక క్లౌడ్ క్యూ సర్వీస్, రాబ్లాక్స్-సృష్టించిన అనలిటిక్స్ డేటాను events_hourly అని పిలువబడే ఒకే లాజికల్ టేబుల్లోకి ఇంజెస్ట్ చేసేది. ఇది తేదీ, గంట, మరియు వెబ్, మొబైల్, లేదా ఫ్రెండ్ సర్వీస్ వంటి యాదృచ్ఛికంగా నిర్వచించబడిన ట్యాగ్ల ద్వారా విభజించబడింది. మా డేటా సైంటిస్టులు మరియు ఇంజనీర్లు, నిర్దిష్ట ఈవెంట్లను ప్రత్యేకమైన టేబుల్స్లోకి తీసివేయడానికి షెడ్యూల్ చేయబడిన బ్యాచ్ జాబ్లపై ఆధారపడ్డారు. కొత్త అనలిటిక్ ఈవెంట్లను సృష్టించడానికి మరియు పంపడానికి ముందుగా స్కీమా అవసరం లేదు. ఇంజనీర్లు ఎక్స్ట్రాక్ట్, ట్రాన్స్ఫార్మ్, మరియు లోడ్ (ETL) పైప్లైన్ దశలో తమ టేబుల్ స్కీమాను తర్వాత నియంత్రించుకున్నారు.

ఈ సెటప్ సరళంగా ఉండటంతో ఇంజనీర్లు వేగంగా పనిచేయగలిగారు, కానీ ఇది కొన్ని సవాళ్లను కూడా విసిరింది.
- ఈవెంట్ల పరిమాణం పెరిగేకొద్దీ, కేవలం తేదీ, గంట మరియు ట్యాగ్ల ఆధారంగా విభజించబడిన 2 ట్రిలియన్ వరుసలతో పరస్పర చర్య చేయడం చాలా అసమర్థంగా మారింది.
- events_hourly టేబుల్ కోసం ఆరు గంటల రోజు చివరి ఆలస్యం మరియు events_daily కోసం 24 గంటల ఆలస్యం, డేటా పైప్లైన్లు నిలిచిపోయే సమయాలను సృష్టించాయి.
- డేటాసెట్-స్థాయి అనుమతులు, స్థాయి, నిలుపుదల, మరియు హెచ్చరికలను నిర్వహించడం మరింత సంక్లిష్టంగా మారింది.
- ఈవెంట్ డాక్యుమెంటేషన్, చరిత్ర మరియు యాజమాన్యం లేకపోవడం వల్ల, డేటాను ఉపయోగించడం మరియు దాని జాడను తెలుసుకోవడం కష్టమైంది.
- క్లౌడ్ క్యూ సర్వీస్తో నిర్మించిన ఇంజెషన్ ఇన్ఫ్రాస్ట్రక్చర్, 23 Gbps క్లౌడ్ ఇంజెషన్ ఖర్చును భరించాల్సి వచ్చింది.

ఖరీదైన ఈవెంట్ ఎక్స్ట్రాక్షన్ను తొలగించడం
డేటా అనలిటిక్స్ గతంలో అనేక బ్యాచ్ పైప్లైన్ల ద్వారా ఒకే లాజికల్ టేబుల్ నుండి డేటాను సంగ్రహించడంపై ఆధారపడి ఉండేది. పెద్ద, అధిక పనితీరు గల క్వెరీలను అమలు చేయడానికి ఇది అవసరం—కానీ ఇది ప్రాసెసింగ్ను కూడా నెమ్మదింపజేసింది. ఈ ఈవెంట్లను ప్రత్యేక టేబుల్లకు రూట్ చేయడానికి ఇంజెషన్ బ్యాకెండ్ సర్వీస్ను ఉపయోగించడం ద్వారా, అనలిటిక్ ఈవెంట్లకు ఒక స్కీమాను ఇవ్వడం మరియు ముందుగానే గమ్యస్థాన టేబుల్ను నిర్వచించడం ద్వారా బ్యాచ్ ఎక్స్ట్రాక్షన్ పైప్లైన్లను తొలగించవచ్చు.
రాబ్లాక్స్లో అనలిటిక్స్ ఈవెంట్ల కోసం స్కీమా భాషగా మేము ప్రోటోబఫ్ (ప్రోటో)ను ఎంచుకున్నాము. ఇది ఒక సహజమైన ఎంపిక, ఎందుకంటే ప్రోటో మరియు gRPC మా ప్రాధాన్యత గల బిల్డింగ్ సర్వీసెస్ ఫ్రేమ్వర్క్లు. అదనంగా, యాజమాన్యం, నిలుపుదల, ఉత్పాదకత సాఫ్ట్వేర్ ఛానెల్లు మరియు ఈవెంట్ స్కీమా వంటి అదనపు మెటాడేటాను సేకరించడానికి మేము ఉపయోగించే కస్టమ్ ఆప్షన్లను నిర్వచించడానికి ప్రోటో గొప్ప మద్దతును అందిస్తుంది.

మా స్కీమా భాషను ఎంచుకున్న తర్వాత, ఒక స్కీమాను అప్డేట్ చేసినప్పుడు ఏమి జరుగుతుందో మరియు ఏ అప్డేట్లను అనుమతించాలో మేము పరిశీలించాము. ప్రచురించబడిన స్కీమాను ఉపయోగించే అత్యధిక సంఖ్యలో డౌన్స్ట్రీమ్ వినియోగదారులకు మద్దతు ఇవ్వడానికి, డేటా బృందం స్కీమా రిజిస్ట్రీలో వివరించిన వెనుకబడిన ట్రాన్సిటివ్ మోడ్ను స్వీకరించింది. ఈ విధానంతో, ఒక ఫీల్డ్ను జోడించడం మరియు సాఫ్ట్గా తొలగించడం అనుమతించబడింది. ఇది డౌన్స్ట్రీమ్ వినియోగదారులతో సమన్వయం అవసరం లేకుండా స్కీమా మార్పులను సాధ్యం చేస్తుంది.
పైన ఉన్న ఉదాహరణలో, ప్రోటో ఫైల్ను అప్డేట్ చేయడం ద్వారా మనం ఒక ఫీల్డ్ను జోడించవచ్చు మరియు తొలగించవచ్చు.

స్కీమాలు అనేక ప్రయోజనాలను అందిస్తాయి, కానీ వాటిని ముందుగానే తప్పనిసరి చేయడం వలన ఆటంకాలు కలుగుతాయి. డేటా సైంటిస్టులు మరియు ఇంజనీర్లు అడ్డంకులు లేకుండా వేగంగా ముందుకు సాగాలి మరియు పునరావృతం చేయాలి. దీనికి మద్దతు ఇవ్వడానికి, మేము ఒక కేంద్రీకృత స్కీమాల రిపోజిటరీని ప్రవేశపెట్టాము మరియు స్కీమాలను రూపొందించడాన్ని వీలైనంత ఆటోమేటిక్గా మరియు సరళంగా చేయడానికి అనేక సాధనాల సమితిని నిర్మించాము.
ఉదాహరణకు, ప్రతి స్కీమాకు అవసరమైన మెటాడేటా ఉందని మరియు అది Roblox కన్వెన్షన్లకు అనుగుణంగా ఉందని ధ్రువీకరించడానికి మేము ఒక కస్టమ్ ప్రోటో లింటర్ను నిర్మించాము. మేము ఒక ఈవెంట్ స్కీమాను హైవ్ డేటా డెఫినిషన్ లాంగ్వేజ్కు అనువదించడానికి ఒక ప్రోటో ప్లగ్-ఇన్ను కూడా నిర్మించాము, తద్వారా స్కీమా ఎక్కడైనా సృష్టించబడినప్పుడు లేదా నవీకరించబడినప్పుడు సంబంధిత హైవ్ టేబుల్ సింక్లో ఉంటుంది. ఈ సాధనాలన్నీ ఒక CI/CD పైప్లైన్లోకి ఏకీకృతం చేయబడ్డాయి మరియు పుల్ రిక్వెస్ట్ సృష్టించబడినప్పుడు స్వయంచాలకంగా నడుస్తాయి. ఇది ఇంజనీర్లను స్కీమా సమస్యలను ముందుగానే గుర్తించడానికి మరియు వారి స్కీమాలు మర్జ్ చేయబడటానికి ముందు టెస్ట్ హైవ్ టేబుల్స్లో ఈవెంట్లను ధృవీకరించడానికి అనుమతిస్తుంది. ఫలితంగా, ఒక స్కీమాను ప్రొడక్షన్కు డిప్లాయ్ చేయడం అనేది మర్జ్ చేయడం అంత సులభం.
సులభతరమైన డెవలపర్ అనుభవం అందుబాటులోకి వచ్చిన తర్వాత, ఇంజెషన్ పైప్లైన్లో ఎక్కడ ఒక ఈవెంట్ను స్కీమాటైజ్ చేసి, ప్రోటోగా మార్చాలో మేము పరిశీలించాము. ఈవెంట్ ప్రొడ్యూసర్లను సీరియలైజ్డ్ ప్రోటో బైట్లను స్వీకరించి, పంపమని అడగడం అనేది అనేక బృందాలకు సంబంధించిన ఒక పెద్ద మార్పు అవుతుంది. సమస్యలను పరిష్కరించడానికి మరియు క్రమంగా విలువను అందించడానికి, మేము ఇన్కమింగ్ ఈవెంట్లను ప్రోటోగా మార్చడానికి ఇంజెషన్ బ్యాకెండ్ సర్వీస్ను అప్డేట్ చేయడం ద్వారా, ఈవెంట్ ప్రొడ్యూసర్ల నుండి స్కీమాటైజేషన్ ప్రయత్నాన్ని వేరు చేశాము. ఇప్పుడు, మార్పిడి చేయబడిన ఈవెంట్లు పార్క్ ఫైల్స్గా సేకరించబడి, పంపిణీ చేయబడిన నిల్వకు అప్లోడ్ చేయబడి, వ్యక్తిగత హైవ్ టేబుల్స్గా నమోదు చేయబడతాయి.
రాబ్లాక్స్ డేటా సెంటర్లతో రియల్-టైమ్ ఈవెంట్ ఇంజెషన్
తరువాత, మేము అనలిటిక్స్ ఈవెంట్లను సర్వ్ చేయడానికి అయ్యే ఖర్చులపై దృష్టి పెట్టాము. గతంలో, ఇంజెషన్ బ్యాకెండ్ క్లౌడ్ ఇన్ఫ్రాస్ట్రక్చర్పై నిర్మించబడింది. అనలిటిక్స్ ఈవెంట్లను ఒక క్యూ సర్వీస్కు పంపేవారు, అది వాటిని బఫర్ చేసి, తర్వాత డౌన్స్ట్రీమ్ ప్రాసెసింగ్ మరియు విశ్లేషణ కోసం డ్యూరబుల్ క్లౌడ్ స్టోరేజ్లో నిల్వ చేసేది. క్లౌడ్ క్యూ సర్వీస్ మా సేవను సులభతరం చేసి, పారదర్శక స్కేలింగ్కు అనుమతించినప్పటికీ, దానిని ఇతర స్ట్రీమింగ్ జాబ్లు ఉపయోగించడం కష్టం మరియు ఇది మరింత ఖరీదైనది. దీన్ని పరిష్కరించడానికి, మేము ఇంజెషన్ సర్వీస్ను రాబ్లాక్స్ డేటా సెంటర్లలోకి తీసుకురావడాన్ని అన్వేషించాము.
మా అంతర్గత స్టోరేజ్ బృందం, ఒక ఓపెన్-సోర్స్ డిస్ట్రిబ్యూటెడ్ ఈవెంట్ స్ట్రీమింగ్ ప్లాట్ఫారమ్పై ఆధారపడి, క్యూ-యాజ్-ఎ-సర్వీస్ (QaaS)ను నిర్మించింది. QaaS అనేది అనలిటిక్ ఈవెంట్ ఇంజెషన్ కోసం ఒక గొప్ప ప్రత్యామ్నాయం, ఎందుకంటే ఈవెంట్లు ఫస్ట్-ఇన్, ఫస్ట్-అవుట్ క్రమంలో టెయిల్ చేయబడతాయి మరియు తక్కువ నిలుపుదల కాలం తర్వాత తొలగించబడతాయి. రాబ్లాక్స్లో, మేము ప్రతి స్కీమటైజ్డ్ ఈవెంట్కు ఒక ప్రత్యేక టాపిక్ను సృష్టిస్తాము మరియు పెద్ద ఈవెంట్ స్ట్రీమ్ల కోసం స్కేల్ చేయడానికి పార్టిషన్ కౌంట్ను ఉపయోగిస్తాము. డేటా బృందం QaaS నుండి వినియోగించడానికి, పార్క్ ఫైల్లను నిర్మించడానికి మరియు ఫైల్లను డ్యూరబుల్ క్లౌడ్ స్టోరేజ్కు అప్లోడ్ చేయడానికి కూడా ఒక ప్రత్యేక సేవను నిర్మించింది.
QaaS అందుబాటులోకి వచ్చాక, పార్క్ ఫైళ్లను నిర్మించి నిల్వ చేయడానికి ఒక ప్రత్యేక సేవతో, డేటా బృందం డేటా యొక్క సరైనతనం మరియు స్కేలబిలిటీ రెండింటినీ ధృవీకరించడానికి ఆరు నెలల పాటు షాడో రైట్స్ నిర్వహించింది. చివరగా, డేటా సంపూర్ణత మరియు సమగ్రతపై విస్తృతమైన తనిఖీల తర్వాత, మేము మా పాత క్లౌడ్ క్యూ సేవ నుండి అనలిటిక్ ఈవెంట్స్ ఇంజెషన్ ను విజయవంతంగా తరలించాము. ఇది ఒక ప్రధాన మైలురాయి. మేము ఇంజెషన్ మార్గం నుండి క్లౌడ్ వనరుల ఖర్చును తొలగించాము మరియు ఒక ఈవెంట్ జరిగినప్పటి నుండి అది మా డేటా లేక్లో చేరే మధ్య ఆలస్యాన్ని గణనీయంగా తగ్గించాము. గతంలో మాకు మూడు గంటల సర్వీస్-లెవల్ అగ్రిమెంట్ ఉండేది, దానిని మేము తరచుగా అందుకోలేకపోయేవాళ్ళం—ఈ రోజు, మేము స్థిరంగా సగటున 15 నిమిషాల సమయాన్ని చేరుకుంటున్నాము.

ప్రగతి మరియు భవిష్యత్ పని

ఇది ఇంజనీర్లను, QaaS నుండి వినియోగించుకోవడం ద్వారా స్కీమాటైజ్డ్ ఈవెంట్లపై రియల్-టైమ్ ఈవెంట్ ప్రాసెసింగ్ పైప్లైన్లను వ్రాయడానికి, తద్వారా సేఫ్టీ మరియు రియల్-టైమ్ సిఫార్సు ఫీచర్లను శక్తివంతం చేయడానికి అనుమతిస్తుంది. మేము అదే స్కీమాటైజేషన్ ఫ్రేమ్వర్క్ మరియు QaaS ఇంజెషన్తో మార్పు డేటా క్యాప్చర్ను కూడా ప్రారంభించాము, ఇది పూర్తి డేటాబేస్ డంప్లను చాలా వరకు తొలగిస్తుంది. రియల్-టైమ్ అనలిటిక్స్ మరియు ఈవెంట్ స్ట్రీమింగ్ నుండి కొత్త వినియోగ సందర్భాలను అన్లాక్ చేయడం వరకు, మేము పెద్ద ఎత్తున మరింత స్మార్ట్, వేగవంతమైన, మరింత ఖర్చు-సమర్థవంతమైన డేటా సిస్టమ్లను ఆవిష్కరించి, నిర్మించే కొద్దీ మా పని కొనసాగుతుంది.
ఈ పనికి ఆయన అందించిన విలువైన సహకారానికి మేము పాల్ మౌకు ధన్యవాదాలు తెలియజేస్తున్నాము.
* మార్చి 31, 2025తో ముగిసిన మూడు నెలల వరకు.


