ááŸá¯ááºážááŒáá·áº á
á®ážáááºážááŸá¯á¡áá
áºááᯠá
áááºááẠáá»áŸá±á¬áºááá·áºáá«áááºá
áá±áá¯áá»á¡ááŒááº
á ááá¯ážááá¯ááºáá áºáá¯á á®ááẠáááºážáááá¯ááºááá¯ááºáááºááœááºáá»ááºáá»á¬ážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº áá±áá¬á ááá¯ážááá¯ááºá¡áá»á¬ážá¡ááŒá¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážá á¡áá±á¬áºá¡áááºáá±áááºážá á¬ážáá±á¬ áá¯á¶á á¶áá áºáá¯ááᯠááŒá±á¬ááŒáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá±áá¬áá¯á¶á ᶠ(MySQL á áááºááŒáá·áº)á á¡ááá·áºááŒáá·áºááŸá¬ááœá±ááŸá¯á áœááºážáááºáá»á¬áž (ElasticSearchá etc.) .), caching (Memcached, etc.) ááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá»á¬ážá áœá¬áá±á¬áá±áá¬á ááá¯ážááá¯ááºáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áááºážááá¯á·áá²ááŸáá áºáá¯ááẠáááºáá ááá¯ážááá¯ááºá¡ááŒá áºááŸáá·áº á¡ááŒá¬ážáá áºáá¯ááᯠáááºážáááºáá¬á ááá¯ážááá¯ááºáá»á¬ážá¡ááŒá Ạáá¯ááºáá±á¬ááºáááºá áá áºáá¯áááºážáá±á¬ááŒá¿áá¬ááŸá¬ á€áá±áá¬á ááá¯ážááá¯ááºáá»á¬ážááᯠáááºáá²á·ááá¯á· synchronize áá¯ááºáááºáááºážá
á
ááá¯ážááá¯ááºáá»á¬ážá
áœá¬ááᯠáááºáá°áá»á¡á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážááŒá¿áá¬ááᯠááŒá±ááŸááºážááẠááŒáá¯ážá
á¬ážáá²á·ááá·áº ááá°áá®áá±á¬áá¯á¶á
á¶áá»á¬ážá
áœá¬ááᯠááŒáá·áºáá«á á¥ááᬠááŸá
áºáááºáá±ážááŒááºážá ááŒáá·áºáá±ááŒááºážááá¯ááºáᬠá¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒááºáž á
áááºááŒáá·áºá ááá¯á·áá±á¬áºá á€áá»ááºážáááºááŸá¯áá»á¬ážááœáẠáááºááœá±á·ááá¡áá¯á¶ážááŒá¯ááŸá¯á áá¯á¶ááŒááºá
áááºáá»áááŸá¯ááŸáá·áº ááááºážááááºážááŸá¯ááá¯á·á áááá¬áááºááŸá¬ážáá±á¬ ááá·áºáááºáá»ááºáá»á¬ážááŸááááºá áá±áá¬áááºáá°ááŒá¯ááŒááºážá¡ááŒáẠá¡áá»áá¯á·áá±á¬á¡ááá®áá±ážááŸááºážáá»á¬ážááẠááŒááºááááºáá±á¬ááºááŸá¯áá»á¬ážááá¯áá±á«áºááá¯ááŒááºážááŒáá·áº áá±áá¬ááŒáœááºáááẠááá¯á¡ááºáá«áááºá
á€ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáááºá¡ááœáẠááŒá áºááá»áœááºážáá±á«áºáá±áááᯠáá®ááœááºáá²á·áááºá Delta ááẠáá±á¬ááºáá¯á¶ážááœáẠáá±áá¬áááºáá°ááŒá¯ááŒááºážááŸáá·áº ááŒáœááºáááŒááºážá¡ááœáẠáááááºáááºážá ááŒá áºáááº-áá±á¬ááºážááŸááºááá·áº ááááºáá±á¬ááºážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
ááŸáááŒá®ážáá¬ážááŒá±ááŸááºážáááºážáá»á¬áž
ááŸá áºáááºáááºááŒááºážá
áá±áá¬á ááá¯ážááŸá áºáá¯ááᯠáááºáá°áá»á á±áááºá¡ááœááºá á ááá¯ážáá áºáá¯ááá¯á· á á¬áá±ážááŒá®áž áá±á¬ááºáá»ááºáá»ááºáž áá±á¬ááºáá áºáá¯ááá¯á· á á¬áá±ážááá·áº dual write ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá áááá¡ááŒááẠá¡áá¶ááœááºážááŒááºážááᯠááŒááºá ááºážááŒáá·áºááá¯ááºááŒá®áž á¡ááŒáááºá¡áá±á¡ááœáẠáá¯ááºáá¯á¶ážááŒá®ážáá±á¬áẠáááá¡ááŒááẠáá¡á±á¬ááºááŒááºáá«á áá¯áááá¡á¬áž áá»ááºááááºážááá¯ááºáááºá ááá¯á·áá±á¬áºá áá¯áááá ááá¯ážááá¯á· á á¬áá±ážááááá«á áá±áá¬á ááá¯ážááŸá áºáá¯ááẠáá áºááŒáá¯ááºáááºážááŒá áºááœá¬ážááá¯ááºáááºá áááááá¯ááŸá±á¬ááºááŸá¯á០áá¯áááááá¯á· áá±áá¬ááᯠá¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ ááŒááºáááºááœáŸá²ááŒá±á¬ááºážáá±ážááá¯ááºááá·áº ááŒááºáááºááá°áá±ážáá¯ááºáááºážá ááºááᯠáááºáá®ážááŒááºážááŒáá·áº á€ááŒá¿áá¬ááᯠááŒá±ááŸááºážááá¯ááºááẠááá¯á·ááá¯áẠáá±áá¬ááœáẠááœá²ááŒá¬ážááŸá¯áá»á¬ážááᯠááœá±á·ááŸáááŸáᬠááŒá¯áá¯ááºááá¯ááºáááºá
ááŒáá¬áá»á¬áž -
ááŒááºáááºááá°ááŒááºážáá¯ááºáááºážá ááºááᯠáá¯ááºáá±á¬ááºááŒááºážááẠááŒááºáá¯á¶ážááááá±á¬ áá®ážááŒá¬ážá¡áá¯ááºáá áºáá¯ááŒá áºáááºá ááá¯á·á¡ááŒááºá ááŒááºáááºááá°ááá·áºáá¯ááºáááºážá ááºáááŒá®ážááá»ááºáž ááá¯ááŸá±á¬ááºáá¬áá±áá¬áá»á¬ážááŒá¬ážááŸá áá±áá¬ááẠáááºáá°áá»áá±áá±ážáááºá áá±áá¬á ááá¯ážááŸá áºáá¯áááºááá¯áá¡áá¯á¶ážááŒá¯áá«á ááŒá±ááŸááºážáá»ááºááẠááá¯ááá¯ááŸá¯ááºááœá±ážáá«áááºá áá±á¬ááºáá¯á¶ážááœááºá ááŒááºáááºááá°ááŒááºážáá¯ááºáááºážá ááºááẠáá°áááºážáá±áá¬áááºážááŒá áºááá¯á· áááºááá¯ááá·áºááá¯ááºáááºá
ááŸááºáááºážááá¬ážááá¯ááŒá±á¬ááºážáá«á
ááá¬ážá¡á á¯á¶ááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬áž (á¥ááᬠááá·áºááœááºážááŒááºážá ááœááºážáá¶ááŒááºážááŸáá·áº áá»ááºááŒááºážáá²á·ááá¯á·) ááŒá±á¬ááºážáá²ááŸá¯ááŸááºáááºážáá»á¬ážááᯠáá°áá®áá±á¬ááœá±áá±ážááœá±áá°á áá áºá áááºáá áºááá¯ááºážá¡ááŒá ẠááŸááºáááºážááá¬ážááá¯á· áá±á«ááºážááá·áºáá«áááºá á¡ááŒá¬ážá á¬ááœá² ááá¯á·ááá¯áẠáá¯ááºáááºážá ááºááẠááŸááºáááºážááá¬ážá០á¡ááŒá áºá¡áá»ááºáá»á¬ážááᯠá¡áááºáááŒáẠáá±á¬ááºážááá¯áá±ááŒá®áž ááá¯á¡ááºáá«á á ááá¯ážááá¯ááºá¡á¬ážáá¯á¶ážá០ááŸááºáááºážá¡áááºááŒá¯ááŒá®ážáá±á¬áẠááŸááºáááºážááá¬ážá០ááŒá áºáááºáá»á¬ážááᯠáááºááŸá¬ážáᬠááá¯á¡ááºáá«á áá áºáᯠááá¯á·ááá¯áẠáá áºáá¯áááºááá¯áá±á¬ áá±áá¬á ááá¯ážááá¯ááºáá»á¬ážááá¯á· áá±ážáááºáááºá
ááŒáá¬áá»á¬áž -
á€áá¯á¶á á¶ááᯠá á¬ááŒáá·áºááá¯ááºá¡ááŒá Ạá¡áá±á¬ááºá¡áááºáá±á¬áºááá·áºááŒá®áž á¡áá±á¬ááºážáá¯á¶ážá¡á¬ážááŒáá·áº áááºážááá¯á¡áá¯á¶ážááŒá¯ááá·áº á¡ááá®áá±ážááŸááºážááá¯ááºááᯠáááŒá±á¬ááºážáá²áá² ááŒá¯áá¯ááºááá·áºáááºá polyglot áááºáááºážáá»ááºááœááºá ááá¯áá²á·ááá¯á·áá±á¬ á á¬ááŒáá·áºááá¯ááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááẠááá¯á¡ááºááá·áºáá¬áá¬á áá¬ážááŒáá·áº ááŸáááá·áºáá±á¬áºáááºáž áá¬áá¬á áá¬ážáá»á¬ážáá áºáá»áŸá±á¬áẠáá¯ááºáá±á¬ááºááá¯ááºá áœááºážááŸáá·áº á¡ááŒá¯á¡áá°áá»á¬ážá ááá¯ááºáá»á±á¬áá®ááœá±ááŸáááŸá¯ááᯠáá±áá»á¬á á±áááºááŸá¬ á¡ááœááºáááºáá²áá«áááºá
MySQL áá²á·ááá¯á· ááœá±áá±ážááœá±áá° á¡á á®á¡á ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬áž [1][2] ááᯠááá¶á·ááá¯ážáá±á¬ á áá áºáá»á¬ážááœáẠschema á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž ááá°ááŒááºážááœáẠáá±á¬ááºáááºááŒá¿áá¬áá áºáá¯ááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá ááŒá±á¬ááºážáá²ááŸá¯áá áºáá¯ááŒá¯áá¯ááºááá·áºáá¯á¶á ᶠ(á¥ááá¬á ááá¬ážááœááºááŒá±á¬ááºážáá²ááŸá¯) ááŸáá·áº áááºážááá¯ááŒá±á¬ááºážáá²ááŸá¯ááŸááºáááºážááá¬ážááœáẠá¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒááºážááŒáá·áº ááŸááºáááºážáááºááŒááºážááẠá¡ááŒá²áááºážá¡áá¯ááºáááŒá áºáá«á
ááŒáá·áºáá±áá¬ážáá±á¬ ááœá±ááŒá±ážááœáŸá²ááŒá±á¬ááºážááŸá¯áá»á¬áž
ááŒáá·áºáá±áá¬ážáá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážááᯠááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ áá±áá¬á ááá¯ážááá¯ááºáá»á¬ážá áœá¬ááœáẠááœá²ááŒááºážá áááºááŒá¬ááẠá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®ážá ááá¯á·ááŸáᬠáá¯ááºáá±á¬ááºáá»ááºááẠá¡áá¯á¶ážááŒá¯áá¬ážááá·áº áá±áá¬á ááá¯ážááá¯ááºáá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· áááááááºááŒá¯ááŒááºáž ááá¯á·ááá¯áẠáááºážááá¯á·áá²á០áá áºáá¯áá¯ááᯠáááááááºáááŒá¯á á±ááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
ááŒáá¬áá»á¬áž -
ááŒáá·áºáá±áá¬ážáá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážááẠááœá²ááŒá¬ážáá±á¬ áá±áá¬á ááá¯ážááá¯ááºáá»á¬ážá¡ááœáẠá¡ááœááºááŒá®ážáá¬ážáá±á¬ ááŒá¿áá¬áá áºáá¯ááŒá áºáááºá áááºážááá¯á·á ááá±á¬ááá¬áá¡á áááºážááá¯á·ááẠáá«áááºáá±á¬ á áá áºáá»á¬ážá á¡áááá·áºáá¯á¶áž áá¯á¶ááá¯ááºážááŒá±ááá¯áᬠá¡á¬ážááá¯ážááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááŒááºáááºááŸá¯á¡ááá·áºá¡ááœááºáž áá»áŸá±á¬ááºááœáŸá¬áááºááŒááºážáá¯ááºáááºážá áẠáá»ááºááœááºáá«á XA á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒááºážááᯠááááºááá¯á·áá¬ážáááºá ááá¯á·á¡ááŒááºá XA ááẠááá±ááá»á¬ááááŸáááá¯ááºááŸá¯ ááá¯á·ááá¯áẠá¡áá±á¬ááºážááŒááºááá±á¬áá°áá±á¬ ááœá±ááŒá±ážááááºážáá»á¯ááºááŸá¯á¡á á®á¡á ááºáá»á¬ážááᯠáá¶á·ááá¯ážááá±ážáá±á ááá¯á·á¡ááŒááºá ElasticSearch áá²á·ááá¯á·áá±á¬ á¡áá»áá¯á·áá±á¬á áá áºáá»á¬ážááẠXA ááá¯á·ááá¯áẠá¡ááŒá¬ážáá±á¬ ááœá²ááŒá¬ážáá±á¬ ááœá±áá±ážááœá±áá°áá¯á¶á á¶ááᯠááá¶á·ááá¯ážáá«á ááá¯á·ááŒá±á¬áá·áºá á¡áá»áá¯ážáá»áá¯ážáá±á¬ áá±áá¬ááááºážáááºážááŸá¯áááºážááá¬áá»á¬ážááœáẠá¡ááºáááºááŒá áºááŸá¯ááᯠáá±áá»á¬á á±ááŒááºážááẠá¡ááá®áá±ážááŸááºážáá»á¬áž [3] á¡ááœáẠá¡ááœááºáááºáá²áá±á¬ á¡áá¯ááºáá áºáá¯á¡ááŒá ẠááŸááá±áá±ážáááºá
ááŒá áºááá»áœááºážáá±á«áº
Delta ááẠááŸáááŒá®ážáá¬áž data synchronization solutions áá»á¬ážá ááá·áºáááºáá»ááºáá»á¬ážááᯠááŒá±ááŸááºážáááºááŸáá·áº on-the-fly data enrichment ááá¯áááºáž áá¯ááºáá±á¬ááºááá¯ááºá á±ááẠáá®ááá¯ááºážáá¯ááºáá¬ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááááºááœááºáá»ááºááŸá¬ áá¯ááºáááºážáá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠá¡ááŒáá·áºá¡áá¡á¬áá¯á¶á áá¯ááºááá¯ááºá á±ááẠá¡ááºááá®áá±ážááŸááºážáá±á¬á·ááºáá²áá±ážááœá²áá°áá»á¬ážáá¶á០á€ááŸá¯ááºááœá±ážááŸá¯á¡á¬ážáá¯á¶ážááᯠááŸááºážááŸááºážáááºážáááºáž áá¯á¶áá±á¬áºáááºááŒá áºáááºá ááá¯á·áá±á¬áẠNetflix á Delta á¡ááœáẠá¡ááŸááºááááºá¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á ááŒá áºááá·áº "Movie Search" ááᯠáá±á¬áºááŒáá«áááºá
Netflix ááẠááá¯ááºáááá¯áá¬ážáá
áºáááá¯áá¬ááᯠáá»ááºáá»ááºááŒáá·áºááŒáá·áºá¡áá¯á¶ážááŒá¯ááŒááŒá®áž microservice áá
áºáá¯á
á®ááẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº áá±áá¬á¡áá»áá¯ážá¡á
á¬ážáá
áºáá¯ááᯠáá±á¬ááºááœááºáá±ážáá«áááºá áá¯ááºááŸááºááŸáá·áºáááºáááºááá·áº á¡ááŒá±áá¶á¡áá»ááºá¡áááºáá»á¬ážááᯠMovie Service áá¯áá±á«áºáá±á¬ á¡áá±ážá
á¬ážáááºáá±á¬ááºááŸá¯áá
áºáá¯ááœáẠáá«áááºááŒá®áž áá¯ááºáá¯ááºáá°áá»á¬ážá ááá¯ááºáá±á¬ááºáá»á¬ážá áá±á¬ááºážáá»áá°áá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá±ážá
á¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºáá»á¬ážáá²á·ááá¯á·áá±á¬ áááºá
ááºáá±áá¬áá»á¬ážááᯠá¡ááŒá¬ážá¡áá±ážá
á¬ážáááºáá±á¬ááºááŸá¯áá»á¬áž (Deal Serviceá Talent Service ááŸáá·áº Vendor Service) á០á
á®áá¶ááá·áºááœá²áá«áááºá
Netflix Studios á០á
á®ážááœá¬ážáá±ážá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áá¯ááºááŸááºá
á¶ááŸá¯ááºážáá»á¬ážááᯠáááŒá¬ááááŸá¬ááœá±ááẠááá¯á¡ááºááŒá®áž áááºážááŒá±á¬áá·áº áá¯ááºááŸááºááŸáá·áºáááºáááºááá·áº á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠááŸá¬ááœá±ááá¯ááºá
á±áááºá¡ááœáẠáááºážááá¯á·á¡ááœáẠá¡ááœááºá¡áá±ážááŒá®ážáá«áááºá
Delta áááá¯ááºáá®á áá¯ááºááŸááºááŸá¬ááœá±áá±ážá¡ááœá²á·ááẠáá¯ááºááŸááºáá±áá¬ááᯠá¡ááœáŸááºážááááºáá® ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬ážá áœá¬á០áá±áá¬ááᯠááœá²áá¯ááºáááºááá¯á¡ááºáááºá ááá¯á·á¡ááŒááºá á¡ááœá²á·ááẠá¡ááŒá¬ážá¡áá±ážá á¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážá០á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáá±á¬ááºážááá¯ááŒááºážááŒáá·áº ááŸá¬ááœá±ááŸá¯á¡ááœáŸááºážááááºážááᯠá¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ á¡ááºááááºáá¯ááºááá·áº á áá áºáá áºáá¯ááᯠáá®ááœááºááááºááŒá áºááŒá®ážá á€á áá áºááẠáá»ááºááŒááºá áœá¬ ááŸá¯ááºááœá±ážááŒá®áž ááááºážááááºážááááºáá¬áááºá
áá¯á¶ áá áá²á
á¬áááºážá
áá
ẠááŒá
áºááá»áœááºážáá±á«áºáá±á
Delta ááá¯á¡áá¯á¶ážááŒá¯ááŒá®ážáá±á¬ááºá á
áá
áºááᯠá¡á±á¬ááºáá±á¬áºááŒáá«áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž event driven system ááá¯á· ááá¯ážááŸááºážá¡á±á¬ááºááŒá¯áá¯ááºáá¬ážáááºá CDC (Change-Data-Capture) ááŒá
áºáááºáá»á¬ážááᯠDelta-Connector áá¯á¶ážááŒá®áž Keystone Kafka áá±á«ááºážá
ááºáá»á¬ážááá¯á· áá±ážááá¯á·áááºá Delta Stream Processing Framework (Flink ááá¯á¡ááŒá±áá¶á) ááᯠá¡áá¯á¶ážááŒá¯á áááºáá±á¬ááºáá¬ážáá±á¬ Delta á¡ááá®áá±ážááŸááºážááẠá¡ááŒá±á¬ááºážá¡áá¬áá
áºáá¯á០CDC ááŒá
áºáááºáá»á¬ážááᯠáááºáá¶áááŸáááŒá®áž áááºážááá¯á·ááᯠá¡ááŒá¬ážá¡áá±ážá
á¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááá¯áá±á«áºááá¯ááŒááºážááŒáá·áº ááŒáœááºáá
á±ááŒá®áž áá±á¬ááºáá¯á¶ážááœáẠááŒáœááºááá±á¬áá±áá¬ááᯠElasticsearch ááŸá ááŸá¬ááœá±ááŸá¯á¡ááœáŸááºážááá¯á· áá±ážááá¯á·áááºá áá¯ááºáááºážá
ááºáá
áºáá¯áá¯á¶ážááẠá¡áá»áááºááŸáá·áºáááŒá±ážáá®áá®ážáá«ážááŒá
áºáá»ááºáááºá ááá¯ááá¯áááºááŸá¬á áá±áá¬ááá¯áá±á«ááºááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážáá¯ááºáá±á¬ááºáááºááŸáá·áºáááŒáá¯ááºááẠááŸá¬ááœá±ááŸá¯á¡ááœáŸááºážáá»á¬ážááᯠá¡ááºááááºáá¯ááºáá«áááºá
áá¯á¶ áá ááŒá
áºááá»áœááºážáá±á«áºááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬ááá¯ááºááá¯ááºáž
á¡á±á¬ááºáá±á¬áºááŒáá« ááá¹ááá»á¬ážááœááºá ááá¯ááŸá±á¬ááºáááºážááá¯á· áá»áááºáááºááŒá®áž CDC ááŒá
áºáááºáá»á¬ážááᯠáááºáá°ááá¯á·áá±á¬ááºáá±ážá¡ááœáŸá¬ááá¯á· áá¯ááºáá±ááá·áº Delta-Connector á áá¯ááºáá±á¬ááºáá»ááºááᯠáá±á¬áºááŒáá«áááºá CDC ááŒá
áºáááºáá»á¬ážááᯠKafka áá±á«ááºážá
ááºáá»á¬ážáá®ááá¯á· á¡áá»áááºááŸáá·áºáá
áºááŒá±ážáá® áá±áá¬áá¯ááºááœáŸáá·áºááŸá¯á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááŒá
áºááá·áº áááºáá°ááá¯á·áá±á¬ááºáá±ážá¡ááœáŸá¬ááá¯á· áá¯ááºáá±áá«áááºá á¡áá¯á¶ážááœááºá á¡ááá®áá±ážááŸááºáž developer áá»á¬ážááẠdata processing ááŸáá·áº enrichment logic á¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº Delta stream processing framework á¡ááŒá±á¬ááºáž ááœá±ážááœá±ážáá«áááºá
CDC (ááŒá±á¬ááºážáá²ááŸá¯-áá±áá¬-áááºážáá°ááŸá¯)
áá»áœááºá¯ááºááá¯á·ááẠDelta-Connector áá¯áá±á«áºáá±á¬ CDC áááºáá±á¬ááºááŸá¯ááᯠáá®ááœááºáá²á·ááŒá®ážá áá±áá¬á ááá¯ážá០áá»á°ážááœááºáá²á·áá±á¬ ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá® áááºážáá°áᬠáá¯ááºááœáŸáá·áºááŸá¯áá áºáá¯ááá¯á· áá±ážááœááºážááá¯ááºáá«áááºá á¡áá»áááºááŸáá·áºáááŒá±ážáá® ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠááœá±áá±ážááœá±áá° ááŸááºáááºážááŸáá·áº ááá¯ááŸá±á¬ááºááŸá¯ á¡ááŸáá¯ááºáá¯á¶ážáá»á¬ážá០ááá°áá«áááºá ááœá±áá±ážááœá±áá°ááŸááºáááºážáá»á¬ážááẠá¡áá»á¬ážá¡á¬ážááŒáá·áº ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááááá¯ááºážáá áºáá¯áá¯á¶ážááᯠáááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áº á¡ááŸáá¯ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáá±áá°áá»á¡á¬ážááŒáá·áº Delta ááŒá áºáááºáá»á¬ážá¡ááŒá Ạá¡ááŸááºá¡áá¬ážááŒá¯áá¬ážáá±á¬ááŒá±á¬áá·áº áááºáá¶áá°ááẠá¡ááŒá±á¬ááºážá¡áá²ááẠáááºááá·áºáá±áá¬á០áá¬áááºááᯠá áá¯ážááááºá áá¬áááá¯áá«á
Delta-Connector ááẠá¡á±á¬ááºáá«áá²á·ááá¯á·áá±á¬ áá±á¬ááºáááºá¡ááºá¹áá«áááºáá»á¬ážá áœá¬ááᯠáá¶á·ááá¯ážáá±ážáááº-
- Kafka ááœáẠá áááºááŒáá¯áẠoutput data áá»á¬ážááᯠáá±ážáá¬ážááá¯ááºáááºá
- ááá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážá áá®ážááá·áºá á¬ážááœá²áá áºáᯠááá¯á·ááá¯áẠáááºááá±á¬á·áá»á¬ážá¡ááœáẠá¡áá»áááºáááœá±áž áá°ááá¯ááºááá¯ááºá áœáá·áºáá áºááŒááºážáá»á¬ážááᯠá¡áááºááœááºážááá¯ááºááŒááºážá
- á¡ááŸáá¯ááºáá»á¬ážááᯠá¡áá¯á¶ážááá¯ááºá¡áá¯á¶ážááá¯áẠáá¯ááºáá°ááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá¡á±á¬ááºááŒááºáá«á ááŒááºá ááẠáááá¯á¡ááºáá«á
- áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯ááŸáá±áá¬áá±á·á áºáá±ážáá¬ážááŒááºážá¡ááœá¬ážá¡áá¬ááá¯áááºáá±á¬á¡áá«áá»áŸáááááºááá¯á·ááŒá±á¬ááºážáá±áá»á¬á á±áááºá¡ááœááºá¡ááœááºá¡áá±ážááŒá®ážáá±á¬á á¬ážááœá²áá»á¬ážáá±á«áºááœááºáá±á¬á·áááºáá¬ážáááºáááá¯á¡ááºáá«á
- AWS Availability Zones ááœáẠáááºáá±áá±á¬ ááŒá áºáááºáá»á¬ážááŒá±á¬áá·áº áááŸáááá¯ááºááŸá¯ ááŒáá·áºáá¬ážáááºá
áá»áœááºá¯ááºááá¯á·ááẠAWS RDS ááŸáá·áº Aurora ááœáẠááŒáá·áºáá»ááºááŸá¯áá»á¬ážá¡áá«á¡ááẠMySQL ááŸáá·áº Postgres ááᯠáá±á¬áá±á¬ááẠáá¶á·ááá¯ážáá±ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠCassandra (áá¬á
áá¬áá±á«ááºážáá»á¬ážá
áœá¬)ááá¯áááºáž áá¶á·ááá¯ážáá±ážáá«áááºá Delta-Connector á¡ááŒá±á¬ááºáž á¡áá±ážá
áááºááᯠá€áá±áá¬ááœáẠááŸá¬ááœá±ááá¯ááºáá«áááºá
Kafka ááŸáá·áºáááºáá°ááá¯á·áá±á¬ááºáá±ážá¡ááœáŸá¬
Delta áááŒá
áºáááºáááºáá°ááá¯á·áá±á¬ááºáá±ážá¡ááœáŸá¬ááᯠááááºáá±á¬ááºážá á
á¬ááá¯áá±ážááá¯á·ááŒááºážáááºáá±á¬ááºááŸá¯ááœáẠáááºáá±á¬ááºáá¬ážáááºá
áááá¯ááºážááŒá±á¬ááºážá¡áá Netflix ááœáẠááá¯á·á
áºáááºááŒááºážááẠá¡áááºááŸááºááŒááºážááẠáá¯á¶ážá
áœá²ááá¯ááºááŸá¯á¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážááŒá
áºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážááẠ(á¡á±á¬ááºááœááºááŒáá·áºáá«)á
Delta ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠCDC ááœá²áá»á¬ážááᯠáááºážáááºáá¬á á±ááẠá ááá¯ážááá¯ááºáá»á¬ážááá¯á· ááá¯á·áá±á¬ááºááŸá¯áá±áá»á¬á á±ááẠááá¯ááá¯ááá¯ááºáá¬áá±á¬ááŒá¬ááŸááºáá¶ááŸá¯ á¡á¬ááá¶áá»ááºáá»á¬ážááᯠááá¯áá»ááºáá«áááºá á€áááºááœááºáá»ááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠááááááºážá á¬ážá¡áá¬ááá¹áá¯á¡ááŒá Ạá¡áá°ážáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ Kafka á¡á á¯á¡áá±ážáá áºáá¯ááᯠá¡ááá¯ááŒá¯áá²á·áááºá á¡á±á¬ááºáá«ááá¬ážááŸá ááœá²á á¬ážáááºáááºá¡áá»áá¯á·ááᯠááŒáá·áºááŸá¯ááá¯ááºáááº-
Keystone Kafka á¡á
á¯á¡áá±ážáá»á¬ážááœááºá áááá·áºááŸááºážáá±á¬ áá±á«ááºážáá±á¬áẠááœá±ážáá±á¬ááºááœá² áá¯ááºáá±áá° áááºáá±á¬ááºááá¯ááºááŸá¯ ááŸáá
á±áááºá¡ááœáẠá¡áá»á¬ážá¡á¬ážááŒáá·áº áá«áááºáááºá áááºáá°ááá»áá±á¬ áá¯á¶á
á¶áá°ááᯠáá±á«ááºážáá±á¬ááºá¡ááŒá
Ạááœá±ážáá»ááºáá«á áááºážááẠáááºáá±á·áá»áº áá¯á¶ážááŸá¯á¶ážááá¯ááºáááºá ááŒáá·áºáá¬ážáá±á¬áááŸáááá¯ááºááŸá¯á¡áá
ẠKafka á¡á
á¯á¡áá±ážá¡ááœááºá ááœá±ážáá»ááºááœáá·áº áááá·áºááŸááºážáá±á¬ áá±á«ááºážáá±á¬áẠááœá±ážáá±á¬ááºááœá² áááºáá±á·áá»áºáá¯á¶ážááŸá¯á¶ážááŸá¯ááᯠáá¬ááœááºááẠááááºáá¬ážáááºá
áá»áœááºáá±á¬áºááá¯á·áááºáž ááá¯ážáá¬áááºá ááœá¬ážááŸá¯á¡áá»áẠ2 á០3 ááŸáá·áº á¡áááºážáá¯á¶áž insync áá¯á¶á á¶áá°áá»á¬áž 1 á០2á á€á¡á á¯á¡áá±ážááá¯á· á á¬áá±ážáá¬ážáá¯ááºáá±áá°áá»á¬ážááẠáá¯á¶áá° á áá¯ááœáẠá áá¯ááœáẠáá¯ááºáá±áá°á០áá±ážááá¯á·áá±á¬ áááºááŸááááºáá±á·áá»áºáá»á¬ážááŒá áºááŒá±á¬ááºáž áá±áá»á¬á á±ááẠá¡ááŒá¬ážáá°áá»á¬ážáá¶á០acks ááá¯á¡ááºáá«áááºá
ááœá²á á¬ážá¥ááá¬áá áºáᯠáááºááá¯ááºážááœá¬ážáá±á¬á¡áá«á á á¶ááá°áá¬á¡áá áºááẠá¡áá±á¬ááºážááᯠá¡á á¬ážááá¯ážáááºá ááá¯á·áá±á¬áºá ááœá²á á¬ážá¡áá áºááẠáá¬áá®áá±á«ááºážáá»á¬ážá áœá¬ ááŒá¬ááá¯ááºááŒá®ážá áááºáá°ááá»áá±á¬ áá¯á¶á á¶áá°áá»á¬ážááᯠá¡áá®ááá¯ááºááẠááá¯á¡ááºáá«áááºá á€á¡ááŒá±á¡áá±á¡ááœáẠááŒááºáááºááá°áá»áááºááᯠáá»áŸá±á¬á·áá»áááºá áá»áœááºá¯ááºááá¯á·ááẠáá±áááœááºáž ááœá²á á¬ážáá áºáá»á¬ážá¡á á¬áž ááááºááá¯á·áá±áá¬ááá¯ááŸá±á¬ááºááŸá¯ (Amazon Elastic Block Store) ááᯠá áááºá¡áá¯á¶ážááŒá¯áá²á·áááºá áááºááá¯ááºážáá¬ážáá±á¬ ááœá²á á¬ážáá ááá·áºáá áºáá¯ááᯠá¡á á¬ážááá¯ážááá¯ááºáá±á¬á¡áá«á áááºážááẠáááºá á²áá¬ážáá±á¬ á á¶ááá°áá¬ááŸá EBS ááá¬áááᯠáá°ážááœá²áá«ááŸáááŒá®áž áááºáá±á·áá»áºá¡áá áºáá»á¬ážááᯠá áááºááá¯ááºáá«áááºá á€áá¯ááºáááºážá ááºááẠá¡áá»ááºážááŸá®ážáá±á¬á¡ááŒá±á¡áá±á០áá¯á¶áá°ááœá¬ážááẠáááá¯á¡ááºáá±á¬á·áá² ááá°áá¬á¡áá áºááᯠáá¬áá®áá»á¬ážá០áááá áºááá¯á· áá»áŸá±á¬á·áá»áá±ážáááºá áá±áá¯áá»á¡á¬ážááŒáá·áºá áá®ážááŒá¬ážááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº ááœá²á á¬ážááá ááºáááºážáá»á¬ážááẠááœá²á á¬ážáá°ážááŒá±á¬ááºážááŒááºážáá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠáááááá¬áá¬áá»áŸá±á¬á·áá»áá±ážáááºá
áá±áá¬áá±ážááá¯á·ááŸá¯á¡á¬ááá¶áá»ááºááᯠááá¯ááá¯ááá¯ážááŒáŸáá·áºááẠáá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯áá²á·áááºá
Stream Processing Framework
Delta ááá¯ááºáá±á¬ááºááŒááºážá¡ááœáŸá¬ááẠNetflix áá±áá áá áºááŸáá·áº Apache Flink áá±á«ááºážá ááºááŸá¯ááá¯áá¶á·ááá¯ážáá±ážááá·áº Netflix SPaaS ááááºáá±á¬ááºážáááááºááœááºáááºáá±á¬ááºáá¬ážáááºá ááááºáá±á¬ááºážááẠáá»áœááºá¯ááºááá¯á·á Titus ááœááºááááºáá¬á á®áá¶ááá·áºááœá²ááŸá¯ááááºáá±á¬ááºážáááááºááœáẠFlink á¡áá¯ááºá¡ááá¯ááºáá»á¬ážááŸáá·áº Flink á¡á á¯á¡áá±ážáá»á¬ážááᯠá á®áá¶ááœááºáá²ááá·áº á¡áá¯á¶ážááŒá¯áá°áá»ááºááŸá¬ááŒááºááᯠáá¶á·ááá¯ážáá±ážáá«áááºá á¡ááºáá¬áá±á·á áºááẠá¡áá¯ááºááœá²á·á ááºážáá¯á¶áá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááŒá®áž á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡á¬áž Flink á¡áá¯ááºá¡ááá¯ááºáá»á¬ážááᯠááŒááºáááºáá±á«ááºážá ááºážááẠáááá¯á¡ááºáá² ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠááá¯ááºážááá áºáá»áá» ááŒá¯áá¯ááºááá¯ááºá á±áá«áááºá
Delta ááẠFlink ááŸáá·áº SPaaS ááá¯á¡ááŒá±áá¶á stream processing framework áá áºáá¯ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá ááŸááºáá»ááº-á¡ááŒá±áᶠá ááá¹áááááºážááá¬ááá¯ááºáᬠá¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážá¡ááœáẠDSL (Domain Specific Language)á á¥ááá¬á¡á¬ážááŒáá·áºá ááŒááºááááºáá±á¬ááºááŸá¯áá»á¬ážááá¯áá±á«áºááá¯ááŒááºážááŒáá·áº ááŒá áºáááºáá»á¬áž ááŒáœááºááá¬ááá·áºá¡ááá·áºááᯠáááºááŸááºáááºá á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠá¡á±á¬ááºáá« DSL ááᯠáá±ážáá¬ážááẠááá¯á¡ááºááŒá®áž Flink á០áá¯ááºáá±á¬ááºááá·áº áááºážá¡áá±á«áº á¡ááŒá±áá¶ááá·áº á á¶ááá°áá¬áá áºáᯠáááºáá®ážáááºááŒá áºáááºá
áá¯á¶ 3á ááŒá
áºááá»áœááºážáá±á«áºááŸá DSL ááœáẠááŒáœááºáááŸá¯ ááá°áá¬
á¡ááŒá±á¬ááºážá¡áá²áá¯ááºááŒááºážáá°áá±á¬ááºááẠáááºáá°ááŸá¯áá»ááºážááœá±ážááᯠáá»áŸá±á¬á·áá»áá¯á¶áá¬áááá² áááŒá¬áá áááºáááºááŸá¯ááá¯ááºáᬠááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážááẠááá¯ážááŸááºážáá±á¬ áááºáááºááŸá¯ááá¯ááºáᬠáá¯ááºáááºážá ááºáá»á¬ážááŒá áºááá·áº áááºáá°áááºááŒááºážá áá¯á¶áá±á¬áºáá»ááºááŒá¯áá¯ááºááŒááºážááŸáá·áº ááŒá±á¬ááºážááœááºááŒááºááœááºááŸáá·áº áá¶ááá¯ááºáááºááŸáááŒááºážááá¯á·áá²á·ááá¯á·áá±á¬ áá¯á¶á á®ážááŒá±á¬ááºážáá¯ááºáá±á¬ááºááŒááºážááá¯ááºáᬠá¡ááºá¹áá«áááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
Delta Stream Processing Framework ááœáẠá¡ááá module ááŸá áºáá¯á DSL & API module ááŸáá·áº Runtime module ááá¯á· áá«áááºáááºá DSL & API module ááẠDSL ááŸáá·áº UDF (User-Defined-Function) API áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áº á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáááºážááá¯á·á ááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááŒááºážááá¯ááºáᬠáá¯áá¹áááá±á (á á áºáá¯ááºááŒááºáž ááá¯á·ááá¯áẠá¡ááœááºááŒá±á¬ááºážááŒááºážáá²á·ááá¯á·áá±á¬) ááᯠáá±ážáá¬ážááá¯ááºá á±áá«áááºá Runtime module ááẠDAG áá±á¬áºáááºáá»á¬ážááœáẠáá¯ááºáá±á¬ááºááŒááºážá¡ááá·áºáá»á¬ážá á¡ááœááºážááá¯ááºážááá¯ááºá á¬ážááŒá¯ááŸá¯ááᯠáááºáá±á¬ááºáá±ážááá·áº DSL parser ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±ážáá«áááºá Execution á¡á áááºá¡ááá¯ááºážááẠá¡ááŸááºáááẠFlink áá¯ááºááŒááºáá»ááºáá»á¬ážááᯠá áááºáááºááŸáá·áº áá±á¬ááºáá¯á¶ážááœáẠFlink á¡ááá®áá±ážááŸááºážááᯠrun ááẠDAG áá±á¬áºáááºáá»á¬ážááᯠáá¬áá¬ááŒááºáá±ážáááºá áá±á¬ááºááááá¯áá¬áááºáá¬ááᯠá¡á±á¬ááºáá«áá¯á¶ááœáẠááá¯ááºáá±á¬áºáá¬ážáááºá
áá¯á¶ 4. Delta Stream Processing Framework áááºáá±á¬ááºááŸá¯
á€áá»ááºážáááºááŸá¯ááœáẠá¡á¬ážáá¬áá»ááºáá»á¬ážá áœá¬ááŸááááºá
- á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠFlink ááá¯á·ááá¯áẠSPaaS ááœá²á·á ááºážáá¯á¶á áá®ážááŒá¬ážá¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠá á°ážá ááºážáá±á·áá¬áááºáááá¯áá² áááºážááá¯á·á áá¯ááºáááºážááá¯ááºáᬠáá¯áá¹ááááᯠá¡á¬áá¯á¶á áá¯ááºááá¯ááºáááºá
- ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážááᯠáá¯á¶ážá áœá²áá°áá»á¬ážá¡ááœáẠááœáá·áºáááºážááŒááºáá¬ááá·áºáááºážáááºážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºááŒá®áž á¡áá¯á¶ážááŒá¯áá°áá¯áẠ(UDF) ááœáẠáááºááá·áºááŒá±á¬ááºážáá²ááŸá¯á០áááá¯á¡ááºáá² á¡ááŸá¬ážáá»á¬ážááᯠááŒááºáááºááá¯ááºáááºá
- ááááºáá±á¬ááºážááẠááœááºáááºá¡ááœááºáž ááŒá±á¬ááºážááœááºááŒááºááœááºááŸáá·áº áá¶ááá¯ááºáááºááŸáááŸá¯ááᯠáá±ážáá±á¬ááºááŒá®áž ááááá±ážáá»ááºáá»á¬ážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á¡áá±ážá áááºáááºááá áºáá»á¬ážááᯠá á¯áá±á¬ááºážáá¬ážáá±á¬ááŒá±á¬áá·áº Delta á¡ááºááºá¡ááœá±á·á¡ááŒá¯á¶ááᯠá¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááœáẠááá¯ážááŸááºážáá«áááºá
áá¯ááºáá¯ááºáá¯á¶ážá áœá²ááŸá¯
Delta ááẠáá áºááŸá áºáá»á±á¬áºááŒá¬ áá¯ááºáá¯ááºáá²á·ááŒá®áž Netflix Studio á¡ááá®áá±ážááŸááºážáá»á¬ážá áœá¬ááœáẠá¡áááá¡áááºážááá¹áá០áá«áááºáá²á·áááºá áá°áááẠááŸá¬ááœá±ááŸá¯á¡ááœáŸááºážááááºážáá¯ááºááŒááºážá áá±áá¬ááááºážáááºážááŒááºážááŸáá·áº ááŒá áºáááºááŸáá¯ááºáá±á¬ááºáá±á¬ á¡áá¯ááºá¡ááœá¬ážá¡áá¬áá»á¬ážáá²á·ááá¯á·áá±á¬ á¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠá¡ááœá²á·áá»á¬ážááᯠáá°áá®áá±ážáá²á·áááºá á¡á±á¬ááºááœáẠDelta ááááºáá±á¬ááºážá á¡ááá·áºááŒáá·áºáááá¯áá¬áááºáá¬á ááŒá¯á¶áá¯á¶áá¯á¶ážáááºáá»ááºááŒá áºáááºá
áá¯á¶ 5. ááŒá
áºááá»áœááºážáá±á«áºá á¡ááá·áºááŒáá·áºáááá¯áá¬áááºáá¬á
áá»á±ážáá°ážáááºááœáŸá¬
Netflix ááœáẠDelta ááááºáá®ážááŸá¯ááŸáá·áºááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœááºáá«áááºáá²á·ááŒáá±á¬á¡á±á¬ááºáá«áá°áá»á¬ážááá¯áá»á±ážáá°ážáááºáá«áááº- Allen Wangá Charles Zhaoá Jaebin Yooná Josh Snyderá Kasturi Chatterjeeá Mark Choá Olof Johanssoná Piyush Goyalá Prashanth Ramdasá Raghuram Onti Srinivasaná Sandeep Guptaá Steven Wuá Tharanga Gamaethigeá Yun Wang ááŸáá·áº Zhenzhong Xuá
ááááºážáááºážááŒá áº
dev.mysql.com/doc/refman/5.7/en/implicit-commit.html dev.mysql.com/doc/refman/5.7/en/cannot-roll-back.html - Martin Kleppmanná Alastair R. Beresfordá Boerge Svingen- á¡áœááºááá¯ááºážááŒá
áºáááºááᯠáá¯ááºáá±á¬ááºáá±áááºá ááœááºááŒá°ááá® ACM 62(5): 43â49 (2019)á DOI-
doi.org/10.1145/3312527
source: www.habr.com