డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్

రేటు వద్ద కొత్త ప్రవాహం ప్రారంభానికి ఎదురుచూస్తూ డేటా ఇంజనీర్ మేము ఆసక్తికరమైన విషయాల అనువాదాన్ని సిద్ధం చేసాము.

డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్

పర్యావలోకనం

అప్లికేషన్‌లు బహుళ డేటా స్టోర్‌లను ఉపయోగించే చాలా జనాదరణ పొందిన నమూనా గురించి మాట్లాడుతాము, ఇక్కడ ప్రతి స్టోర్ దాని స్వంత ప్రయోజనాల కోసం ఉపయోగించబడుతుంది, ఉదాహరణకు, డేటా యొక్క నియమానుగుణ రూపాన్ని (MySQL, మొదలైనవి) నిల్వ చేయడానికి, అధునాతన శోధన సామర్థ్యాలను అందించడానికి (ElasticSearch, మొదలైనవి) .), కాషింగ్ (Memcached, మొదలైనవి) మరియు ఇతరులు. సాధారణంగా, బహుళ డేటా స్టోర్‌లను ఉపయోగిస్తున్నప్పుడు, వాటిలో ఒకటి ప్రైమరీ స్టోర్‌గా మరియు మిగిలినవి డెరివేటివ్ స్టోర్‌లుగా పనిచేస్తాయి. ఈ డేటా స్టోర్‌లను ఎలా సమకాలీకరించాలనేది మాత్రమే సమస్య.

డబుల్ రైట్‌లు, పంపిణీ చేయబడిన లావాదేవీలు మొదలైన బహుళ స్టోర్‌లను సమకాలీకరించే సమస్యను పరిష్కరించడానికి ప్రయత్నించిన అనేక విభిన్న నమూనాలను మేము పరిశీలించాము. అయితే, ఈ విధానాలు నిజ జీవిత వినియోగం, విశ్వసనీయత మరియు నిర్వహణ పరంగా గణనీయమైన పరిమితులను కలిగి ఉన్నాయి. డేటా సింక్రొనైజేషన్‌తో పాటు, కొన్ని అప్లికేషన్‌లు బాహ్య సేవలకు కాల్ చేయడం ద్వారా డేటాను మెరుగుపరచడం కూడా అవసరం.

ఈ సమస్యలను పరిష్కరించడానికి డెల్టా అభివృద్ధి చేయబడింది. డెల్టా అంతిమంగా డేటా సమకాలీకరణ మరియు సుసంపన్నత కోసం స్థిరమైన, ఈవెంట్-ఆధారిత ప్లాట్‌ఫారమ్‌ను అందిస్తుంది.

ఇప్పటికే ఉన్న పరిష్కారాలు

డబుల్ ఎంట్రీ

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

సమస్యలు:

పునరుద్ధరణ ప్రక్రియను నిర్వహించడం అనేది తిరిగి ఉపయోగించలేని నిర్దిష్ట పని. అదనంగా, పునరుద్ధరణ ప్రక్రియ జరిగే వరకు నిల్వ స్థానాల మధ్య డేటా సమకాలీకరించబడదు. రెండు కంటే ఎక్కువ డేటా స్టోర్లను ఉపయోగించినట్లయితే పరిష్కారం మరింత క్లిష్టంగా మారుతుంది. చివరగా, పునరుద్ధరణ విధానం అసలు డేటా మూలానికి లోడ్‌ను జోడించగలదు.

లాగ్ పట్టికను మార్చండి

పట్టికల సెట్‌లో మార్పులు సంభవించినప్పుడు (రికార్డ్‌ను చొప్పించడం, నవీకరించడం మరియు తొలగించడం వంటివి), మార్పు రికార్డులు అదే లావాదేవీలో భాగంగా లాగ్ పట్టికకు జోడించబడతాయి. మరొక థ్రెడ్ లేదా ప్రాసెస్ నిరంతరం లాగ్ టేబుల్ నుండి ఈవెంట్‌లను అభ్యర్థిస్తుంది మరియు వాటిని ఒకటి లేదా అంతకంటే ఎక్కువ డేటా స్టోర్‌లకు వ్రాస్తుంది, అవసరమైతే, రికార్డ్‌ను అన్ని స్టోర్‌లు ధృవీకరించిన తర్వాత లాగ్ టేబుల్ నుండి ఈవెంట్‌లను తీసివేస్తుంది.

సమస్యలు:

ఈ నమూనాను లైబ్రరీగా అమలు చేయాలి మరియు దానిని ఉపయోగించే అప్లికేషన్ కోడ్‌ను మార్చకుండా ఆదర్శంగా అమలు చేయాలి. బహుభాషా వాతావరణంలో, అటువంటి లైబ్రరీ యొక్క అమలు ఏదైనా అవసరమైన భాషలో ఉండాలి, అయితే భాషల అంతటా కార్యాచరణ మరియు ప్రవర్తన యొక్క స్థిరత్వాన్ని నిర్ధారించడం చాలా కష్టం.

MySQL వంటి లావాదేవీల స్కీమా మార్పులకు [1][2] మద్దతు ఇవ్వని సిస్టమ్‌లలో స్కీమా మార్పులను పొందడంలో మరొక సమస్య ఉంది. అందువల్ల, మార్పు చేసే నమూనా (ఉదాహరణకు, స్కీమా మార్పు) మరియు మార్పు లాగ్ పట్టికలో లావాదేవీల రీకార్డింగ్ ఎల్లప్పుడూ పని చేయదు.

పంపిణీ లావాదేవీలు

పంపిణీ చేయబడిన లావాదేవీలు లావాదేవీని బహుళ వైవిధ్య డేటా స్టోర్‌లలో విభజించడానికి ఉపయోగించబడతాయి, తద్వారా ఆపరేషన్ ఉపయోగించిన అన్ని డేటా స్టోర్‌లకు కట్టుబడి ఉంటుంది లేదా వాటిలో దేనికీ కట్టుబడి ఉండదు.

సమస్యలు:

భిన్నమైన డేటా స్టోర్‌లకు పంపిణీ చేయబడిన లావాదేవీలు చాలా పెద్ద సమస్య. వారి స్వభావం ప్రకారం, వారు పాల్గొన్న వ్యవస్థల యొక్క అత్యల్ప సాధారణ హారంపై మాత్రమే ఆధారపడగలరు. ఉదాహరణకు, తయారీ దశలో అప్లికేషన్ ప్రక్రియ విఫలమైతే XA లావాదేవీలు అమలును నిరోధిస్తాయి. అదనంగా, XA డెడ్‌లాక్ గుర్తింపును అందించదు లేదా ఆశావాద ఏకకాల నియంత్రణ పథకాలకు మద్దతు ఇవ్వదు. అదనంగా, ElasticSearch వంటి కొన్ని సిస్టమ్‌లు XA లేదా మరేదైనా భిన్నమైన లావాదేవీ నమూనాకు మద్దతు ఇవ్వవు. అందువల్ల, వివిధ డేటా స్టోరేజ్ టెక్నాలజీలలో వ్రాత అటామిసిటీని నిర్ధారించడం అనేది అప్లికేషన్‌లకు చాలా సవాలుతో కూడిన పనిగా మిగిలిపోయింది [3].

డెల్టా

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

నెట్‌ఫ్లిక్స్ మైక్రోసర్వీస్ ఆర్కిటెక్చర్‌ను విస్తృతంగా ఉపయోగిస్తుంది మరియు ప్రతి మైక్రోసర్వీస్ సాధారణంగా ఒక్కో రకమైన డేటాను అందిస్తుంది. సినిమా గురించిన ప్రాథమిక సమాచారం మూవీ సర్వీస్ అనే మైక్రోసర్వీస్‌లో ఉంటుంది మరియు నిర్మాతలు, నటీనటులు, విక్రేతలు మొదలైన వాటి గురించిన సమాచారం వంటి అనుబంధిత డేటా అనేక ఇతర మైక్రోసర్వీస్‌ల ద్వారా నిర్వహించబడుతుంది (అంటే డీల్ సర్వీస్, టాలెంట్ సర్వీస్ మరియు వెండర్ సర్వీస్).
Netflix స్టూడియోస్‌లోని వ్యాపార వినియోగదారులు తరచుగా వివిధ చలనచిత్ర ప్రమాణాలలో శోధించవలసి ఉంటుంది, అందుకే వారు అన్ని చలనచిత్ర సంబంధిత డేటాలో శోధించడం చాలా ముఖ్యం.

డెల్టా కంటే ముందు, మూవీ డేటాను ఇండెక్స్ చేసే ముందు మూవీ సెర్చ్ టీమ్ బహుళ మైక్రోసర్వీస్‌ల నుండి డేటాను తీయాలి. అదనంగా, ఎటువంటి మార్పులు లేకపోయినా, ఇతర మైక్రోసర్వీస్‌ల నుండి మార్పులను అభ్యర్థించడం ద్వారా క్రమానుగతంగా శోధన సూచికను నవీకరించే వ్యవస్థను బృందం అభివృద్ధి చేయాలి. ఈ వ్యవస్థ త్వరగా సంక్లిష్టంగా మారింది మరియు నిర్వహించడం కష్టం.

డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్
చిత్రం 1. డెల్టాకు పోలింగ్ వ్యవస్థ
డెల్టాను ఉపయోగించిన తర్వాత, కింది చిత్రంలో చూపిన విధంగా సిస్టమ్ ఈవెంట్ నడిచే సిస్టమ్‌కి సరళీకృతం చేయబడింది. CDC (Change-Data-Capture) ఈవెంట్‌లు డెల్టా-కనెక్టర్‌ని ఉపయోగించి కీస్టోన్ కాఫ్కా టాపిక్‌లకు పంపబడతాయి. డెల్టా స్ట్రీమ్ ప్రాసెసింగ్ ఫ్రేమ్‌వర్క్ (ఫ్లింక్ ఆధారంగా) ఉపయోగించి రూపొందించబడిన డెల్టా అప్లికేషన్ ఒక టాపిక్ నుండి CDC ఈవెంట్‌లను అందుకుంటుంది, ఇతర మైక్రోసర్వీస్‌లకు కాల్ చేయడం ద్వారా వాటిని మెరుగుపరుస్తుంది మరియు చివరకు సుసంపన్నమైన డేటాను ఎలాస్టిక్‌సెర్చ్‌లోని శోధన సూచికకు పంపుతుంది. మొత్తం ప్రక్రియ దాదాపు నిజ సమయంలో జరుగుతుంది, అంటే, డేటా గిడ్డంగికి మార్పులు చేసిన వెంటనే, శోధన సూచికలు నవీకరించబడతాయి.

డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్
మూర్తి 2. డెల్టాను ఉపయోగించే డేటా పైప్‌లైన్
కింది విభాగాలలో, మేము డెల్టా-కనెక్టర్ యొక్క ఆపరేషన్‌ను వివరిస్తాము, ఇది నిల్వకు కనెక్ట్ చేస్తుంది మరియు CDC ఈవెంట్‌లను రవాణా లేయర్‌కు ప్రచురిస్తుంది, ఇది నిజ-సమయ డేటా ట్రాన్స్‌మిషన్ ఇన్‌ఫ్రాస్ట్రక్చర్, ఇది CDC ఈవెంట్‌లను కాఫ్కా అంశాలకు దారి తీస్తుంది. మరియు చివరిలో, మేము డెల్టా స్ట్రీమ్ ప్రాసెసింగ్ ఫ్రేమ్‌వర్క్ గురించి మాట్లాడుతాము, ఇది అప్లికేషన్ డెవలపర్‌లు డేటా ప్రాసెసింగ్ మరియు సుసంపన్నత లాజిక్ కోసం ఉపయోగించవచ్చు.

CDC (మార్పు-డేటా-క్యాప్చర్)

మేము డెల్టా-కనెక్టర్ అనే CDC సేవను అభివృద్ధి చేసాము, ఇది నిజ సమయంలో డేటా స్టోర్ నుండి కట్టుబడి ఉన్న మార్పులను క్యాప్చర్ చేయగలదు మరియు వాటిని స్ట్రీమ్‌లో వ్రాయగలదు. నిజ-సమయ మార్పులు లావాదేవీల లాగ్ మరియు నిల్వ డంప్‌ల నుండి తీసుకోబడ్డాయి. లావాదేవీ లాగ్‌లు సాధారణంగా మార్పుల మొత్తం చరిత్రను నిల్వ చేయనందున డంప్‌లు ఉపయోగించబడతాయి. మార్పులు సాధారణంగా డెల్టా ఈవెంట్‌లుగా క్రమీకరించబడతాయి, కాబట్టి గ్రహీత మార్పు ఎక్కడ నుండి వస్తుందనే దాని గురించి ఆందోళన చెందాల్సిన అవసరం లేదు.

డెల్టా-కనెక్టర్ వంటి అనేక అదనపు ఫీచర్లకు మద్దతు ఇస్తుంది:

  • కాఫ్కా గత కస్టమ్ అవుట్‌పుట్ డేటాను వ్రాయగల సామర్థ్యం.
  • అన్ని పట్టికలు, నిర్దిష్ట పట్టిక లేదా నిర్దిష్ట ప్రాథమిక కీల కోసం ఎప్పుడైనా మాన్యువల్ డంప్‌లను సక్రియం చేయగల సామర్థ్యం.
  • డంప్‌లను భాగాలుగా తిరిగి పొందవచ్చు, కాబట్టి విఫలమైతే మళ్లీ మళ్లీ ప్రారంభించాల్సిన అవసరం లేదు.
  • టేబుల్‌లపై తాళాలు ఉంచాల్సిన అవసరం లేదు, మా సేవ ద్వారా డేటాబేస్ రైట్ ట్రాఫిక్‌ను ఎప్పటికీ బ్లాక్ చేయలేదని నిర్ధారించుకోవడానికి ఇది చాలా ముఖ్యం.
  • AWS లభ్యత జోన్‌లలో అనవసరమైన సందర్భాల కారణంగా అధిక లభ్యత.

మేము ప్రస్తుతం AWS RDS మరియు అరోరాపై విస్తరణలతో సహా MySQL మరియు పోస్ట్‌గ్రెస్‌లకు మద్దతు ఇస్తున్నాము. మేము కాసాండ్రా (మల్టీ-మాస్టర్)కి కూడా మద్దతు ఇస్తున్నాము. మీరు ఇక్కడ Delta-Connector గురించిన మరిన్ని వివరాలను తెలుసుకోవచ్చు బ్లాగ్ పోస్ట్.

కాఫ్కా మరియు రవాణా పొర

డెల్టా యొక్క ఈవెంట్ ట్రాన్స్‌పోర్ట్ లేయర్ ప్లాట్‌ఫారమ్ యొక్క సందేశ సేవపై నిర్మించబడింది కీస్టోన్.

చారిత్రాత్మకంగా, నెట్‌ఫ్లిక్స్‌లో పోస్ట్ చేయడం దీర్ఘాయువు కంటే ప్రాప్యత కోసం ఆప్టిమైజ్ చేయబడింది (క్రింద చూడండి). మునుపటి వ్యాసం) ట్రేడ్-ఆఫ్ అనేది వివిధ అంచు దృశ్యాలలో సంభావ్య బ్రోకర్ డేటా అస్థిరత. ఉదాహరణకి, అపరిశుభ్రమైన నాయకుడు ఎన్నిక గ్రహీత సంభావ్యంగా నకిలీ లేదా కోల్పోయిన ఈవెంట్‌లకు బాధ్యత వహిస్తాడు.

డెల్టాతో, CDC ఈవెంట్‌ల డెలివరీని డెలివరీ చేసిన స్టోర్‌లకు నిర్ధారించడానికి మేము బలమైన మన్నిక హామీలను కోరుకుంటున్నాము. ఈ ప్రయోజనం కోసం, మేము ప్రత్యేకంగా రూపొందించిన కాఫ్కా క్లస్టర్‌ను ఫస్ట్-క్లాస్ వస్తువుగా ప్రతిపాదించాము. మీరు దిగువ పట్టికలో కొన్ని బ్రోకర్ సెట్టింగ్‌లను చూడవచ్చు:

డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్

కీస్టోన్ కాఫ్కా క్లస్టర్లలో, అపరిశుభ్రమైన నాయకుడు ఎన్నిక ప్రచురణకర్త ప్రాప్యతను నిర్ధారించడానికి సాధారణంగా చేర్చబడుతుంది. సమకాలీకరించబడని ప్రతిరూపం నాయకుడిగా ఎన్నుకోబడినట్లయితే ఇది సందేశాన్ని కోల్పోవచ్చు. కొత్త అధిక లభ్యత కాఫ్కా క్లస్టర్ కోసం, ఎంపిక అపరిశుభ్రమైన నాయకుడు ఎన్నిక సందేశాన్ని కోల్పోకుండా నిరోధించడానికి ఆఫ్ చేయబడింది.

మేం కూడా పెంచాం ప్రతిరూపణ కారకం 2 నుండి 3 మరియు కనీస ఇన్‌సింక్ ప్రతిరూపాలు 1 నుండి 2 వరకు. ఈ క్లస్టర్‌కి వ్రాసే ప్రచురణకర్తలకు ఇతరులందరి నుండి యాక్‌లు అవసరం, 2లో 3 ప్రతిరూపాలు ప్రచురణకర్త పంపిన అత్యంత ప్రస్తుత సందేశాలను కలిగి ఉన్నాయని నిర్ధారిస్తుంది.

బ్రోకర్ ఉదాహరణ ముగిసినప్పుడు, కొత్త ఉదాహరణ పాతదానిని భర్తీ చేస్తుంది. అయినప్పటికీ, కొత్త బ్రోకర్ సమకాలీకరించని ప్రతిరూపాలను తెలుసుకోవాలి, దీనికి చాలా గంటలు పట్టవచ్చు. ఈ దృష్టాంతంలో రికవరీ సమయాన్ని తగ్గించడానికి, మేము స్థానిక బ్రోకర్ డిస్క్‌లకు బదులుగా బ్లాక్ డేటా స్టోరేజ్ (అమెజాన్ ఎలాస్టిక్ బ్లాక్ స్టోర్)ని ఉపయోగించడం ప్రారంభించాము. ఒక కొత్త ఉదాహరణ రద్దు చేయబడిన బ్రోకర్ ఉదాహరణను భర్తీ చేసినప్పుడు, అది రద్దు చేయబడిన ఉదాహరణను కలిగి ఉన్న EBS వాల్యూమ్‌ను జోడించి, కొత్త సందేశాలను అందుకోవడం ప్రారంభిస్తుంది. ఈ ప్రక్రియ బ్యాక్‌లాగ్ క్లియరెన్స్ సమయాన్ని గంటల నుండి నిమిషాలకు తగ్గిస్తుంది ఎందుకంటే కొత్త ఉదాహరణ ఇకపై ఖాళీ స్థితి నుండి పునరావృతం చేయవలసిన అవసరం లేదు. మొత్తంమీద, ప్రత్యేక నిల్వ మరియు బ్రోకర్ జీవితచక్రాలు బ్రోకర్ మార్పిడి ప్రభావాన్ని గణనీయంగా తగ్గిస్తాయి.

డేటా డెలివరీ హామీని మరింత పెంచడానికి, మేము ఉపయోగించాము సందేశ ట్రాకింగ్ వ్యవస్థ తీవ్రమైన పరిస్థితులలో ఏదైనా సందేశం నష్టాన్ని గుర్తించడానికి (ఉదాహరణకు, విభజన లీడర్‌లో క్లాక్ డీసింక్రొనైజేషన్).

స్ట్రీమ్ ప్రాసెసింగ్ ఫ్రేమ్‌వర్క్

డెల్టా యొక్క ప్రాసెసింగ్ లేయర్ Netflix SPaaS ప్లాట్‌ఫారమ్ పైన నిర్మించబడింది, ఇది Netflix పర్యావరణ వ్యవస్థతో Apache Flink ఏకీకరణను అందిస్తుంది. ప్లాట్‌ఫారమ్ మా టైటస్ కంటైనర్ మేనేజ్‌మెంట్ ప్లాట్‌ఫారమ్ పైన ఫ్లింక్ జాబ్‌ల విస్తరణ మరియు ఫ్లింక్ క్లస్టర్‌ల ఆర్కెస్ట్రేషన్‌ని నిర్వహించే వినియోగదారు ఇంటర్‌ఫేస్‌ను అందిస్తుంది. ఇంటర్‌ఫేస్ జాబ్ కాన్ఫిగరేషన్‌లను కూడా నిర్వహిస్తుంది మరియు ఫ్లింక్ జాబ్‌లను రీకంపైల్ చేయకుండానే డైనమిక్‌గా కాన్ఫిగరేషన్ మార్పులు చేయడానికి వినియోగదారులను అనుమతిస్తుంది.

డెల్టా ఉపయోగించే Flink మరియు SPaaS ఆధారంగా స్ట్రీమ్ ప్రాసెసింగ్ ఫ్రేమ్‌వర్క్‌ను అందిస్తుంది ఉల్లేఖన-ఆధారిత సాంకేతిక వివరాలను సంగ్రహించడానికి DSL (డొమైన్ నిర్దిష్ట భాష). ఉదాహరణకు, బాహ్య సేవలకు కాల్ చేయడం ద్వారా ఈవెంట్‌లు మెరుగుపరచబడే దశను నిర్వచించడానికి, వినియోగదారులు క్రింది DSLని వ్రాయాలి మరియు ఫ్రేమ్‌వర్క్ దాని ఆధారంగా ఒక నమూనాను సృష్టిస్తుంది, ఇది Flink ద్వారా అమలు చేయబడుతుంది.

డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్
మూర్తి 3. డెల్టాలో DSLపై సుసంపన్నతకు ఉదాహరణ

ప్రాసెసింగ్ ఫ్రేమ్‌వర్క్ అభ్యాస వక్రతను తగ్గించడమే కాకుండా, సాధారణ కార్యాచరణ సమస్యలను పరిష్కరించడానికి తగ్గింపు, స్కీమటైజేషన్ మరియు వశ్యత మరియు స్థితిస్థాపకత వంటి సాధారణ స్ట్రీమ్ ప్రాసెసింగ్ లక్షణాలను కూడా అందిస్తుంది.

డెల్టా స్ట్రీమ్ ప్రాసెసింగ్ ఫ్రేమ్‌వర్క్‌లో DSL & API మాడ్యూల్ మరియు రన్‌టైమ్ మాడ్యూల్ అనే రెండు కీలక మాడ్యూల్స్ ఉంటాయి. DSL & API మాడ్యూల్ DSL మరియు UDF (యూజర్-డిఫైన్డ్-ఫంక్షన్) APIలను అందిస్తుంది, తద్వారా వినియోగదారులు తమ స్వంత ప్రాసెసింగ్ లాజిక్‌ను (ఫిల్టరింగ్ లేదా ట్రాన్స్‌ఫార్మేషన్స్ వంటివి) వ్రాయగలరు. రన్‌టైమ్ మాడ్యూల్ DAG మోడల్‌లలో ప్రాసెసింగ్ దశల యొక్క అంతర్గత ప్రాతినిధ్యాన్ని రూపొందించే DSL పార్సర్ యొక్క అమలును అందిస్తుంది. ఎగ్జిక్యూషన్ కాంపోనెంట్ అసలు ఫ్లింక్ స్టేట్‌మెంట్‌లను ప్రారంభించడానికి DAG మోడల్‌లను వివరిస్తుంది మరియు చివరికి Flink అప్లికేషన్‌ను అమలు చేస్తుంది. ఫ్రేమ్‌వర్క్ యొక్క నిర్మాణం క్రింది చిత్రంలో చూపబడింది.

డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్
మూర్తి 4. డెల్టా స్ట్రీమ్ ప్రాసెసింగ్ ఫ్రేమ్‌వర్క్ ఆర్కిటెక్చర్

ఈ విధానం అనేక ప్రయోజనాలను కలిగి ఉంది:

  • వినియోగదారులు Flink లేదా SPaaS నిర్మాణం యొక్క ప్రత్యేకతలను పరిశోధించాల్సిన అవసరం లేకుండా వారి వ్యాపార తర్కంపై దృష్టి పెట్టవచ్చు.
  • వినియోగదారులకు పారదర్శకంగా ఉండే విధంగా ఆప్టిమైజేషన్ చేయవచ్చు మరియు వినియోగదారు కోడ్ (UDF)కి ఎటువంటి మార్పులు అవసరం లేకుండానే లోపాలను పరిష్కరించవచ్చు.
  • డెల్టా అప్లికేషన్ అనుభవం వినియోగదారుల కోసం సరళీకృతం చేయబడింది ఎందుకంటే ప్లాట్‌ఫారమ్ వశ్యత మరియు స్థితిస్థాపకతను బాక్స్ వెలుపల అందిస్తుంది మరియు హెచ్చరికల కోసం ఉపయోగించగల వివిధ వివరణాత్మక కొలమానాలను సేకరిస్తుంది.

ఉత్పత్తి ఉపయోగం

డెల్టా ఒక సంవత్సరం పాటు ఉత్పత్తిలో ఉంది మరియు అనేక నెట్‌ఫ్లిక్స్ స్టూడియో అప్లికేషన్‌లలో కీలక పాత్ర పోషిస్తోంది. శోధన ఇండెక్సింగ్, డేటా నిల్వ మరియు ఈవెంట్-ఆధారిత వర్క్‌ఫ్లోల వంటి వినియోగ కేసులను అమలు చేయడంలో ఆమె బృందాలకు సహాయపడింది. డెల్టా ప్లాట్‌ఫారమ్ యొక్క ఉన్నత-స్థాయి ఆర్కిటెక్చర్ యొక్క అవలోకనం క్రింద ఉంది.

డెల్టా: డేటా సింక్రొనైజేషన్ మరియు ఎన్‌రిచ్‌మెంట్ ప్లాట్‌ఫారమ్
మూర్తి 5. డెల్టా యొక్క ఉన్నత-స్థాయి నిర్మాణం.

రసీదులు

Netflixలో డెల్టా సృష్టి మరియు అభివృద్ధిలో పాలుపంచుకున్న క్రింది వ్యక్తులకు మేము కృతజ్ఞతలు తెలియజేస్తున్నాము: అలెన్ వాంగ్, చార్లెస్ జావో, జైబిన్ యూన్, జోష్ స్నైడర్, కస్తూరి ఛటర్జీ, మార్క్ చో, ఓలోఫ్ జాన్సన్, పీయూష్ గోయల్, ప్రశాంత్ రాందాస్, రఘురామ్ ఒంటి శ్రీనివాసన్, సందీప్ గుప్తా, స్టీవెన్ వు, తరంగ గమాతిగే, యున్ వాంగ్ మరియు జెంజాంగ్ జు.

వర్గాలు

  1. dev.mysql.com/doc/refman/5.7/en/implicit-commit.html
  2. dev.mysql.com/doc/refman/5.7/en/cannot-roll-back.html
  3. మార్టిన్ క్లెప్‌మాన్, అలస్టైర్ ఆర్. బెరెస్‌ఫోర్డ్, బోర్జ్ స్వింగెన్: ఆన్‌లైన్ ఈవెంట్ ప్రాసెసింగ్. కమ్యూన్ ACM 62(5): 43–49 (2019). DOI: doi.org/10.1145/3312527

ఉచిత webinar కోసం సైన్ అప్ చేయండి: “అమెజాన్ రెడ్‌షిఫ్ట్ స్టోరేజ్ కోసం డేటా బిల్డ్ టూల్.”

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి