ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್

ದರದಲ್ಲಿ ಹೊಸ ಹರಿವಿನ ಪ್ರಾರಂಭದ ನಿರೀಕ್ಷೆಯಲ್ಲಿ ಡೇಟಾ ಇಂಜಿನಿಯರ್ ನಾವು ಆಸಕ್ತಿದಾಯಕ ವಸ್ತುಗಳ ಅನುವಾದವನ್ನು ಸಿದ್ಧಪಡಿಸಿದ್ದೇವೆ.

ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್

ಅವಲೋಕನ

ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬಹು ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳನ್ನು ಬಳಸುವ ಸಾಕಷ್ಟು ಜನಪ್ರಿಯ ಮಾದರಿಯ ಕುರಿತು ನಾವು ಮಾತನಾಡುತ್ತೇವೆ, ಅಲ್ಲಿ ಪ್ರತಿ ಅಂಗಡಿಯನ್ನು ತನ್ನದೇ ಆದ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಅಂಗೀಕೃತ ರೂಪದ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು (MySQL, ಇತ್ಯಾದಿ), ಸುಧಾರಿತ ಹುಡುಕಾಟ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಒದಗಿಸಿ (ElasticSearch, ಇತ್ಯಾದಿ.) .), ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವುದು (ಮೆಮ್‌ಕ್ಯಾಶ್ಡ್, ಇತ್ಯಾದಿ) ಮತ್ತು ಇತರರು. ವಿಶಿಷ್ಟವಾಗಿ, ಬಹು ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳನ್ನು ಬಳಸುವಾಗ, ಅವುಗಳಲ್ಲಿ ಒಂದು ಪ್ರಾಥಮಿಕ ಅಂಗಡಿಯಾಗಿ ಮತ್ತು ಇತರವು ಉತ್ಪನ್ನ ಸಂಗ್ರಹಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಈ ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುವುದು ಹೇಗೆ ಎಂಬುದು ಒಂದೇ ಸಮಸ್ಯೆ.

ಡಬಲ್ ರೈಟ್‌ಗಳು, ವಿತರಿಸಿದ ವಹಿವಾಟುಗಳು ಇತ್ಯಾದಿಗಳಂತಹ ಬಹು ಸ್ಟೋರ್‌ಗಳನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುವ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಪ್ರಯತ್ನಿಸಿದ ಹಲವಾರು ವಿಭಿನ್ನ ಮಾದರಿಗಳನ್ನು ನಾವು ನೋಡಿದ್ದೇವೆ. ಆದಾಗ್ಯೂ, ಈ ವಿಧಾನಗಳು ನಿಜ ಜೀವನದ ಬಳಕೆ, ವಿಶ್ವಾಸಾರ್ಹತೆ ಮತ್ತು ನಿರ್ವಹಣೆಯ ವಿಷಯದಲ್ಲಿ ಗಮನಾರ್ಹ ಮಿತಿಗಳನ್ನು ಹೊಂದಿವೆ. ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಜೊತೆಗೆ, ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬಾಹ್ಯ ಸೇವೆಗಳಿಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ಡೇಟಾವನ್ನು ಉತ್ಕೃಷ್ಟಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ.

ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಡೆಲ್ಟಾವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಡೆಲ್ಟಾ ಅಂತಿಮವಾಗಿ ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಪುಷ್ಟೀಕರಣಕ್ಕಾಗಿ ಸ್ಥಿರವಾದ, ಈವೆಂಟ್-ಚಾಲಿತ ವೇದಿಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರಿಹಾರಗಳು

ಎರಡು ಬಾರಿ ನಮೂದು

ಎರಡು ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳನ್ನು ಸಿಂಕ್‌ನಲ್ಲಿ ಇರಿಸಲು, ನೀವು ಡ್ಯುಯಲ್ ರೈಟ್ ಅನ್ನು ಬಳಸಬಹುದು, ಅದು ಒಂದು ಸ್ಟೋರ್‌ಗೆ ಬರೆಯುತ್ತದೆ ಮತ್ತು ನಂತರ ತಕ್ಷಣವೇ ಇನ್ನೊಂದಕ್ಕೆ ಬರೆಯುತ್ತದೆ. ಮೊದಲ ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ಮರುಪ್ರಯತ್ನಿಸಬಹುದು ಮತ್ತು ಪ್ರಯತ್ನಗಳ ಸಂಖ್ಯೆ ಮುಗಿದ ನಂತರ ಮೊದಲನೆಯದು ವಿಫಲವಾದರೆ ಎರಡನೆಯದನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಎರಡನೇ ಸ್ಟೋರ್‌ಗೆ ಬರೆಯುವುದು ವಿಫಲವಾದಲ್ಲಿ ಎರಡು ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳು ಸಿಂಕ್ ಆಗುವುದಿಲ್ಲ. ಮೊದಲ ಸಂಗ್ರಹಣೆಯಿಂದ ಎರಡನೆಯದಕ್ಕೆ ನಿಯತಕಾಲಿಕವಾಗಿ ಡೇಟಾವನ್ನು ಮರು-ವರ್ಗಾವಣೆ ಮಾಡಬಹುದಾದ ಚೇತರಿಕೆ ವಿಧಾನವನ್ನು ರಚಿಸುವ ಮೂಲಕ ಈ ಸಮಸ್ಯೆಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಪರಿಹರಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ಡೇಟಾದಲ್ಲಿ ವ್ಯತ್ಯಾಸಗಳು ಪತ್ತೆಯಾದರೆ ಮಾತ್ರ ಹಾಗೆ ಮಾಡಬಹುದು.

ಸಮಸ್ಯೆಗಳು:

ಚೇತರಿಕೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ನಿರ್ವಹಿಸುವುದು ಒಂದು ನಿರ್ದಿಷ್ಟ ಕೆಲಸವಾಗಿದ್ದು ಅದನ್ನು ಮರುಬಳಕೆ ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಮರುಸ್ಥಾಪನೆ ಪ್ರಕ್ರಿಯೆಯು ನಡೆಯುವವರೆಗೆ ಶೇಖರಣಾ ಸ್ಥಳಗಳ ನಡುವಿನ ಡೇಟಾವು ಸಿಂಕ್ ಆಗುವುದಿಲ್ಲ. ಎರಡಕ್ಕಿಂತ ಹೆಚ್ಚು ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳನ್ನು ಬಳಸಿದರೆ ಪರಿಹಾರವು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗುತ್ತದೆ. ಅಂತಿಮವಾಗಿ, ಮರುಸ್ಥಾಪನೆ ವಿಧಾನವು ಮೂಲ ಡೇಟಾ ಮೂಲಕ್ಕೆ ಲೋಡ್ ಅನ್ನು ಸೇರಿಸಬಹುದು.

ಲಾಗ್ ಟೇಬಲ್ ಬದಲಾಯಿಸಿ

ಟೇಬಲ್‌ಗಳ ಸೆಟ್‌ಗೆ ಬದಲಾವಣೆಗಳು ಸಂಭವಿಸಿದಾಗ (ದಾಖಲೆಯನ್ನು ಸೇರಿಸುವುದು, ನವೀಕರಿಸುವುದು ಮತ್ತು ಅಳಿಸುವುದು), ಬದಲಾವಣೆಯ ದಾಖಲೆಗಳನ್ನು ಅದೇ ವಹಿವಾಟಿನ ಭಾಗವಾಗಿ ಲಾಗ್ ಟೇಬಲ್‌ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಮತ್ತೊಂದು ಥ್ರೆಡ್ ಅಥವಾ ಪ್ರಕ್ರಿಯೆಯು ಲಾಗ್ ಟೇಬಲ್‌ನಿಂದ ಈವೆಂಟ್‌ಗಳನ್ನು ನಿರಂತರವಾಗಿ ವಿನಂತಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳಿಗೆ ಬರೆಯುತ್ತದೆ, ಅಗತ್ಯವಿದ್ದರೆ, ಎಲ್ಲಾ ಸ್ಟೋರ್‌ಗಳಿಂದ ದಾಖಲೆಯನ್ನು ದೃಢೀಕರಿಸಿದ ನಂತರ ಲಾಗ್ ಟೇಬಲ್‌ನಿಂದ ಈವೆಂಟ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.

ಸಮಸ್ಯೆಗಳು:

ಈ ಮಾದರಿಯನ್ನು ಲೈಬ್ರರಿಯಂತೆ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು ಮತ್ತು ಅದನ್ನು ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್‌ನ ಕೋಡ್ ಅನ್ನು ಬದಲಾಯಿಸದೆ ಆದರ್ಶಪ್ರಾಯವಾಗಿ ಅಳವಡಿಸಬೇಕು. ಬಹುಭಾಷಾ ಪರಿಸರದಲ್ಲಿ, ಅಂತಹ ಗ್ರಂಥಾಲಯದ ಅನುಷ್ಠಾನವು ಯಾವುದೇ ಅಗತ್ಯ ಭಾಷೆಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರಬೇಕು, ಆದರೆ ಭಾಷೆಗಳಾದ್ಯಂತ ಕಾರ್ಯಶೀಲತೆ ಮತ್ತು ನಡವಳಿಕೆಯ ಸ್ಥಿರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ತುಂಬಾ ಕಷ್ಟ.

MySQL ನಂತಹ ವಹಿವಾಟಿನ ಸ್ಕೀಮಾ ಬದಲಾವಣೆಗಳನ್ನು [1][2] ಬೆಂಬಲಿಸದ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಸ್ಕೀಮಾ ಬದಲಾವಣೆಗಳನ್ನು ಪಡೆಯುವಲ್ಲಿ ಮತ್ತೊಂದು ಸಮಸ್ಯೆ ಇದೆ. ಆದ್ದರಿಂದ, ಬದಲಾವಣೆಯನ್ನು ಮಾಡುವ ಮಾದರಿಯು (ಉದಾಹರಣೆಗೆ, ಸ್ಕೀಮಾ ಬದಲಾವಣೆ) ಮತ್ತು ಬದಲಾವಣೆ ಲಾಗ್ ಕೋಷ್ಟಕದಲ್ಲಿ ವಹಿವಾಟಿನ ಮೂಲಕ ಅದನ್ನು ದಾಖಲಿಸುವುದು ಯಾವಾಗಲೂ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ.

ವಿತರಿಸಿದ ವಹಿವಾಟುಗಳು

ವಿತರಣಾ ವಹಿವಾಟುಗಳನ್ನು ಬಹು ವೈವಿಧ್ಯಮಯ ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳಲ್ಲಿ ವಹಿವಾಟನ್ನು ವಿಭಜಿಸಲು ಬಳಸಬಹುದು, ಇದರಿಂದಾಗಿ ಕಾರ್ಯಾಚರಣೆಯು ಬಳಸಿದ ಎಲ್ಲಾ ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳಿಗೆ ಬದ್ಧವಾಗಿರುತ್ತದೆ ಅಥವಾ ಅವುಗಳಲ್ಲಿ ಯಾವುದಕ್ಕೂ ಬದ್ಧವಾಗಿರುವುದಿಲ್ಲ.

ಸಮಸ್ಯೆಗಳು:

ವಿತರಣಾ ವಹಿವಾಟುಗಳು ವೈವಿಧ್ಯಮಯ ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳಿಗೆ ಬಹಳ ದೊಡ್ಡ ಸಮಸ್ಯೆಯಾಗಿದೆ. ಅವರ ಸ್ವಭಾವದಿಂದ, ಅವರು ಒಳಗೊಂಡಿರುವ ವ್ಯವಸ್ಥೆಗಳ ಕಡಿಮೆ ಸಾಮಾನ್ಯ ಛೇದವನ್ನು ಮಾತ್ರ ಅವಲಂಬಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ತಯಾರಿಕೆಯ ಹಂತದಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಕ್ರಿಯೆಯು ವಿಫಲವಾದಲ್ಲಿ XA ವಹಿವಾಟುಗಳು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತವೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, XA ಡೆಡ್‌ಲಾಕ್ ಪತ್ತೆಯನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ ಅಥವಾ ಆಶಾವಾದದ ಏಕಕಾಲಿಕ ನಿಯಂತ್ರಣ ಯೋಜನೆಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ElasticSearch ನಂತಹ ಕೆಲವು ವ್ಯವಸ್ಥೆಗಳು XA ಅಥವಾ ಯಾವುದೇ ಇತರ ವೈವಿಧ್ಯಮಯ ವಹಿವಾಟು ಮಾದರಿಯನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಹೀಗಾಗಿ, ವಿವಿಧ ಡೇಟಾ ಶೇಖರಣಾ ತಂತ್ರಜ್ಞಾನಗಳಲ್ಲಿ ಬರೆಯುವ ಪರಮಾಣುತ್ವವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಬಹಳ ಸವಾಲಿನ ಕೆಲಸವಾಗಿ ಉಳಿದಿದೆ [3].

ಡೆಲ್ಟಾ

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಪರಿಹಾರಗಳ ಮಿತಿಗಳನ್ನು ಪರಿಹರಿಸಲು ಡೆಲ್ಟಾವನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಹಾರಾಡುತ್ತ ಡೇಟಾ ಪುಷ್ಟೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್‌ಗಳಿಂದ ದೂರವಿರುವ ಈ ಎಲ್ಲಾ ಸಂಕೀರ್ಣತೆಗಳನ್ನು ಅಮೂರ್ತಗೊಳಿಸುವುದು ನಮ್ಮ ಗುರಿಯಾಗಿದೆ, ಇದರಿಂದಾಗಿ ಅವರು ವ್ಯಾಪಾರ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಗಮನಹರಿಸಬಹುದು. ಮುಂದೆ ನಾವು ನೆಟ್‌ಫ್ಲಿಕ್ಸ್‌ನ ಡೆಲ್ಟಾದ ನಿಜವಾದ ಬಳಕೆಯ ಸಂದರ್ಭವಾದ "ಚಲನಚಿತ್ರ ಹುಡುಕಾಟ" ವನ್ನು ವಿವರಿಸುತ್ತೇವೆ.

ನೆಟ್‌ಫ್ಲಿಕ್ಸ್ ಮೈಕ್ರೊ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ವ್ಯಾಪಕವಾಗಿ ಬಳಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಮೈಕ್ರೋ ಸರ್ವಿಸ್ ವಿಶಿಷ್ಟವಾಗಿ ಒಂದೊಂದು ರೀತಿಯ ಡೇಟಾವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಚಲನಚಿತ್ರದ ಕುರಿತಾದ ಮೂಲಭೂತ ಮಾಹಿತಿಯು ಮೂವಿ ಸರ್ವೀಸ್ ಎಂಬ ಮೈಕ್ರೋ ಸರ್ವಿಸ್‌ನಲ್ಲಿದೆ ಮತ್ತು ನಿರ್ಮಾಪಕರು, ನಟರು, ಮಾರಾಟಗಾರರು ಮತ್ತು ಮುಂತಾದವುಗಳ ಕುರಿತಾದ ಮಾಹಿತಿಯಂತಹ ಸಂಯೋಜಿತ ಡೇಟಾವನ್ನು ಹಲವಾರು ಇತರ ಮೈಕ್ರೋ ಸರ್ವೀಸ್‌ಗಳು (ಅವುಗಳೆಂದರೆ ಡೀಲ್ ಸೇವೆ, ಟ್ಯಾಲೆಂಟ್ ಸೇವೆ ಮತ್ತು ಮಾರಾಟಗಾರರ ಸೇವೆ) ನಿರ್ವಹಿಸುತ್ತವೆ.
ನೆಟ್‌ಫ್ಲಿಕ್ಸ್ ಸ್ಟುಡಿಯೋದಲ್ಲಿನ ವ್ಯಾಪಾರ ಬಳಕೆದಾರರು ಸಾಮಾನ್ಯವಾಗಿ ವಿವಿಧ ಚಲನಚಿತ್ರ ಮಾನದಂಡಗಳಾದ್ಯಂತ ಹುಡುಕಬೇಕಾಗುತ್ತದೆ, ಅದಕ್ಕಾಗಿಯೇ ಅವರು ಎಲ್ಲಾ ಚಲನಚಿತ್ರ-ಸಂಬಂಧಿತ ಡೇಟಾವನ್ನು ಹುಡುಕಲು ಸಾಧ್ಯವಾಗುವುದು ಬಹಳ ಮುಖ್ಯ.

ಡೆಲ್ಟಾ ಮೊದಲು, ಚಲನಚಿತ್ರ ಹುಡುಕಾಟ ತಂಡವು ಚಲನಚಿತ್ರ ಡೇಟಾವನ್ನು ಸೂಚಿಕೆ ಮಾಡುವ ಮೊದಲು ಬಹು ಮೈಕ್ರೋಸರ್ವಿಸ್‌ಗಳಿಂದ ಡೇಟಾವನ್ನು ಎಳೆಯುವ ಅಗತ್ಯವಿದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ತಂಡವು ಯಾವುದೇ ಬದಲಾವಣೆಗಳಿಲ್ಲದಿದ್ದರೂ ಸಹ, ಇತರ ಸೂಕ್ಷ್ಮ ಸೇವೆಗಳಿಂದ ಬದಲಾವಣೆಗಳನ್ನು ವಿನಂತಿಸುವ ಮೂಲಕ ನಿಯತಕಾಲಿಕವಾಗಿ ಹುಡುಕಾಟ ಸೂಚಿಯನ್ನು ನವೀಕರಿಸುವ ವ್ಯವಸ್ಥೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಬೇಕಾಗಿತ್ತು. ಈ ವ್ಯವಸ್ಥೆಯು ತ್ವರಿತವಾಗಿ ಸಂಕೀರ್ಣ ಮತ್ತು ನಿರ್ವಹಿಸಲು ಕಷ್ಟಕರವಾಯಿತು.

ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್
ಚಿತ್ರ 1. ಡೆಲ್ಟಾಕ್ಕೆ ಮತದಾನ ವ್ಯವಸ್ಥೆ
ಡೆಲ್ಟಾವನ್ನು ಬಳಸಿದ ನಂತರ, ಕೆಳಗಿನ ಚಿತ್ರದಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ವ್ಯವಸ್ಥೆಯನ್ನು ಈವೆಂಟ್ ಚಾಲಿತ ವ್ಯವಸ್ಥೆಗೆ ಸರಳಗೊಳಿಸಲಾಗಿದೆ. ಸಿಡಿಸಿ (ಚೇಂಜ್-ಡೇಟಾ-ಕ್ಯಾಪ್ಚರ್) ಈವೆಂಟ್‌ಗಳನ್ನು ಡೆಲ್ಟಾ-ಕನೆಕ್ಟರ್ ಬಳಸಿ ಕೀಸ್ಟೋನ್ ಕಾಫ್ಕಾ ವಿಷಯಗಳಿಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಡೆಲ್ಟಾ ಸ್ಟ್ರೀಮ್ ಪ್ರೊಸೆಸಿಂಗ್ ಫ್ರೇಮ್‌ವರ್ಕ್ (ಫ್ಲಿಂಕ್ ಆಧಾರಿತ) ಬಳಸಿ ನಿರ್ಮಿಸಲಾದ ಡೆಲ್ಟಾ ಅಪ್ಲಿಕೇಶನ್ ಒಂದು ವಿಷಯದಿಂದ ಸಿಡಿಸಿ ಈವೆಂಟ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಇತರ ಮೈಕ್ರೋಸರ್ವಿಸ್‌ಗಳಿಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ಅವುಗಳನ್ನು ಪುಷ್ಟೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಅಂತಿಮವಾಗಿ ಎಲಾಸ್ಟಿಕ್‌ಸರ್ಚ್‌ನಲ್ಲಿನ ಹುಡುಕಾಟ ಸೂಚ್ಯಂಕಕ್ಕೆ ಪುಷ್ಟೀಕರಿಸಿದ ಡೇಟಾವನ್ನು ರವಾನಿಸುತ್ತದೆ. ಸಂಪೂರ್ಣ ಪ್ರಕ್ರಿಯೆಯು ಬಹುತೇಕ ನೈಜ ಸಮಯದಲ್ಲಿ ನಡೆಯುತ್ತದೆ, ಅಂದರೆ, ಡೇಟಾ ವೇರ್‌ಹೌಸ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದ ತಕ್ಷಣ, ಹುಡುಕಾಟ ಸೂಚ್ಯಂಕಗಳನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತದೆ.

ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್
ಚಿತ್ರ 2. ಡೆಲ್ಟಾವನ್ನು ಬಳಸುವ ಡೇಟಾ ಪೈಪ್‌ಲೈನ್
ಕೆಳಗಿನ ವಿಭಾಗಗಳಲ್ಲಿ, ನಾವು ಡೆಲ್ಟಾ-ಕನೆಕ್ಟರ್‌ನ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ವಿವರಿಸುತ್ತೇವೆ, ಇದು ಸಂಗ್ರಹಣೆಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ ಮತ್ತು CDC ಘಟನೆಗಳನ್ನು ಸಾರಿಗೆ ಪದರಕ್ಕೆ ಪ್ರಕಟಿಸುತ್ತದೆ, ಇದು ನೈಜ-ಸಮಯದ ಡೇಟಾ ಪ್ರಸರಣ ಮೂಲಸೌಕರ್ಯವಾಗಿದ್ದು ಅದು CDC ಈವೆಂಟ್‌ಗಳನ್ನು ಕಾಫ್ಕಾ ವಿಷಯಗಳಿಗೆ ದಾರಿ ಮಾಡುತ್ತದೆ. ಮತ್ತು ಕೊನೆಯಲ್ಲಿ, ನಾವು ಡೆಲ್ಟಾ ಸ್ಟ್ರೀಮ್ ಪ್ರೊಸೆಸಿಂಗ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಕುರಿತು ಮಾತನಾಡುತ್ತೇವೆ, ಇದು ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್‌ಗಳು ಡೇಟಾ ಸಂಸ್ಕರಣೆ ಮತ್ತು ಪುಷ್ಟೀಕರಣ ತರ್ಕಕ್ಕಾಗಿ ಬಳಸಬಹುದು.

CDC (ಬದಲಾವಣೆ-ಡೇಟಾ-ಕ್ಯಾಪ್ಚರ್)

ನಾವು ಡೆಲ್ಟಾ-ಕನೆಕ್ಟರ್ ಎಂಬ CDC ಸೇವೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ್ದೇವೆ, ಇದು ನೈಜ ಸಮಯದಲ್ಲಿ ಡೇಟಾ ಸ್ಟೋರ್‌ನಿಂದ ಬದ್ಧ ಬದಲಾವಣೆಗಳನ್ನು ಸೆರೆಹಿಡಿಯಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು ಸ್ಟ್ರೀಮ್‌ಗೆ ಬರೆಯಬಹುದು. ವಹಿವಾಟು ಲಾಗ್ ಮತ್ತು ಶೇಖರಣಾ ಡಂಪ್‌ಗಳಿಂದ ನೈಜ-ಸಮಯದ ಬದಲಾವಣೆಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಡಂಪ್‌ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಏಕೆಂದರೆ ವಹಿವಾಟು ಲಾಗ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಬದಲಾವಣೆಗಳ ಸಂಪೂರ್ಣ ಇತಿಹಾಸವನ್ನು ಸಂಗ್ರಹಿಸುವುದಿಲ್ಲ. ಬದಲಾವಣೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಡೆಲ್ಟಾ ಈವೆಂಟ್‌ಗಳಾಗಿ ಧಾರಾವಾಹಿ ಮಾಡಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಬದಲಾವಣೆಯು ಎಲ್ಲಿಂದ ಬರುತ್ತದೆ ಎಂದು ಸ್ವೀಕರಿಸುವವರು ಚಿಂತಿಸಬೇಕಾಗಿಲ್ಲ.

ಡೆಲ್ಟಾ-ಕನೆಕ್ಟರ್ ಹಲವಾರು ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ:

  • ಕಾಫ್ಕಾ ಹಿಂದಿನ ಕಸ್ಟಮ್ ಔಟ್‌ಪುಟ್ ಡೇಟಾವನ್ನು ಬರೆಯುವ ಸಾಮರ್ಥ್ಯ.
  • ಎಲ್ಲಾ ಕೋಷ್ಟಕಗಳು, ನಿರ್ದಿಷ್ಟ ಕೋಷ್ಟಕಗಳು ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಪ್ರಾಥಮಿಕ ಕೀಲಿಗಳಿಗಾಗಿ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಹಸ್ತಚಾಲಿತ ಡಂಪ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಸಾಮರ್ಥ್ಯ.
  • ಡಂಪ್‌ಗಳನ್ನು ತುಂಡುಗಳಾಗಿ ಹಿಂಪಡೆಯಬಹುದು, ಆದ್ದರಿಂದ ವೈಫಲ್ಯದ ಸಂದರ್ಭದಲ್ಲಿ ಮತ್ತೆ ಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿಲ್ಲ.
  • ಟೇಬಲ್‌ಗಳಲ್ಲಿ ಲಾಕ್‌ಗಳನ್ನು ಇರಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಡೇಟಾಬೇಸ್ ಬರೆಯುವ ದಟ್ಟಣೆಯನ್ನು ನಮ್ಮ ಸೇವೆಯಿಂದ ಎಂದಿಗೂ ನಿರ್ಬಂಧಿಸಲಾಗುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಇದು ಬಹಳ ಮುಖ್ಯವಾಗಿದೆ.
  • AWS ಲಭ್ಯತೆಯ ವಲಯಗಳಲ್ಲಿನ ಅನಗತ್ಯ ನಿದರ್ಶನಗಳ ಕಾರಣದಿಂದಾಗಿ ಹೆಚ್ಚಿನ ಲಭ್ಯತೆ.

AWS RDS ಮತ್ತು Aurora ನಲ್ಲಿ ನಿಯೋಜನೆಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನಾವು ಪ್ರಸ್ತುತ MySQL ಮತ್ತು Postgres ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತೇವೆ. ನಾವು ಕಸ್ಸಂದ್ರ (ಮಲ್ಟಿ-ಮಾಸ್ಟರ್) ಅನ್ನು ಸಹ ಬೆಂಬಲಿಸುತ್ತೇವೆ. ಡೆಲ್ಟಾ-ಕನೆಕ್ಟರ್ ಕುರಿತು ಹೆಚ್ಚಿನ ವಿವರಗಳನ್ನು ನೀವು ಇಲ್ಲಿ ಕಾಣಬಹುದು ಬ್ಲಾಗ್ ಪೋಸ್ಟ್.

ಕಾಫ್ಕಾ ಮತ್ತು ಸಾರಿಗೆ ಪದರ

ಡೆಲ್ಟಾದ ಈವೆಂಟ್ ಟ್ರಾನ್ಸ್‌ಪೋರ್ಟ್ ಲೇಯರ್ ಅನ್ನು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಸಂದೇಶ ಸೇವೆಯಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ ಕೀಸ್ಟೋನ್.

ಐತಿಹಾಸಿಕವಾಗಿ, ನೆಟ್‌ಫ್ಲಿಕ್ಸ್‌ನಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡುವುದನ್ನು ದೀರ್ಘಾಯುಷ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಪ್ರವೇಶಿಸುವಿಕೆಗಾಗಿ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ (ಕೆಳಗೆ ನೋಡಿ). ಹಿಂದಿನ ಲೇಖನ) ವ್ಯಾಪಾರ-ವಹಿವಾಟು ವಿವಿಧ ಅಂಚಿನ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಸಂಭಾವ್ಯ ಬ್ರೋಕರ್ ಡೇಟಾ ಅಸಂಗತತೆಯಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಅಶುದ್ಧ ನಾಯಕ ಚುನಾವಣೆ ಸ್ವೀಕರಿಸುವವರು ಸಂಭಾವ್ಯವಾಗಿ ನಕಲಿ ಅಥವಾ ಕಳೆದುಹೋದ ಘಟನೆಗಳಿಗೆ ಜವಾಬ್ದಾರರಾಗಿರುತ್ತಾರೆ.

ಡೆಲ್ಟಾದೊಂದಿಗೆ, ಸಿಡಿಸಿ ಈವೆಂಟ್‌ಗಳನ್ನು ಪಡೆದ ಮಳಿಗೆಗಳಿಗೆ ತಲುಪಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಾವು ಬಲವಾದ ಬಾಳಿಕೆ ಖಾತರಿಗಳನ್ನು ಬಯಸುತ್ತೇವೆ. ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ, ನಾವು ವಿಶೇಷವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಪ್ರಥಮ ದರ್ಜೆ ವಸ್ತುವಾಗಿ ಪ್ರಸ್ತಾಪಿಸಿದ್ದೇವೆ. ಕೆಳಗಿನ ಕೋಷ್ಟಕದಲ್ಲಿ ನೀವು ಕೆಲವು ಬ್ರೋಕರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನೋಡಬಹುದು:

ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್

ಕೀಸ್ಟೋನ್ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್‌ಗಳಲ್ಲಿ, ಅಶುದ್ಧ ನಾಯಕ ಚುನಾವಣೆ ಪ್ರಕಾಶಕರ ಪ್ರವೇಶವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸಾಮಾನ್ಯವಾಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡದ ಪ್ರತಿಕೃತಿಯನ್ನು ನಾಯಕನಾಗಿ ಆಯ್ಕೆ ಮಾಡಿದರೆ ಇದು ಸಂದೇಶ ನಷ್ಟಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು. ಹೊಸ ಹೆಚ್ಚಿನ ಲಭ್ಯತೆಯ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್‌ಗಾಗಿ, ಆಯ್ಕೆ ಅಶುದ್ಧ ನಾಯಕ ಚುನಾವಣೆ ಸಂದೇಶ ನಷ್ಟವನ್ನು ತಡೆಯಲು ಆಫ್ ಮಾಡಲಾಗಿದೆ.

ನಾವೂ ಹೆಚ್ಚಿದೆವು ಪ್ರತಿಕೃತಿ ಅಂಶ 2 ರಿಂದ 3 ಮತ್ತು ಕನಿಷ್ಠ ಇನ್ಸಿಂಕ್ ಪ್ರತಿಕೃತಿಗಳು 1 ರಿಂದ 2. ಈ ಕ್ಲಸ್ಟರ್‌ಗೆ ಬರೆಯುವ ಪ್ರಕಾಶಕರಿಗೆ ಎಲ್ಲಾ ಇತರರಿಂದ ಅಕ್‌ಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ, 2 ರಲ್ಲಿ 3 ಪ್ರತಿಕೃತಿಗಳು ಪ್ರಕಾಶಕರು ಕಳುಹಿಸಿರುವ ಅತ್ಯಂತ ಪ್ರಸ್ತುತ ಸಂದೇಶಗಳನ್ನು ಹೊಂದಿವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತಾರೆ.

ಬ್ರೋಕರ್ ನಿದರ್ಶನವು ಕೊನೆಗೊಂಡಾಗ, ಹೊಸ ನಿದರ್ಶನವು ಹಳೆಯದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಹೊಸ ಬ್ರೋಕರ್ ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡದ ಪ್ರತಿಕೃತಿಗಳನ್ನು ಹಿಡಿಯುವ ಅಗತ್ಯವಿದೆ, ಇದು ಹಲವಾರು ಗಂಟೆಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಈ ಸನ್ನಿವೇಶದಲ್ಲಿ ಚೇತರಿಕೆಯ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ನಾವು ಸ್ಥಳೀಯ ಬ್ರೋಕರ್ ಡಿಸ್ಕ್‌ಗಳ ಬದಲಿಗೆ ಬ್ಲಾಕ್ ಡೇಟಾ ಸಂಗ್ರಹಣೆಯನ್ನು (ಅಮೆಜಾನ್ ಎಲಾಸ್ಟಿಕ್ ಬ್ಲಾಕ್ ಸ್ಟೋರ್) ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದ್ದೇವೆ. ಒಂದು ಹೊಸ ನಿದರ್ಶನವು ಮುಕ್ತಾಯಗೊಂಡ ಬ್ರೋಕರ್ ನಿದರ್ಶನವನ್ನು ಬದಲಿಸಿದಾಗ, ಅದು ಮುಕ್ತಾಯಗೊಂಡ ನಿದರ್ಶನವನ್ನು ಹೊಂದಿದ್ದ EBS ಪರಿಮಾಣವನ್ನು ಲಗತ್ತಿಸುತ್ತದೆ ಮತ್ತು ಹೊಸ ಸಂದೇಶಗಳೊಂದಿಗೆ ಹಿಡಿಯಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಈ ಪ್ರಕ್ರಿಯೆಯು ಬ್ಯಾಕ್‌ಲಾಗ್ ಕ್ಲಿಯರೆನ್ಸ್ ಸಮಯವನ್ನು ಗಂಟೆಗಳಿಂದ ನಿಮಿಷಗಳಿಗೆ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಏಕೆಂದರೆ ಹೊಸ ನಿದರ್ಶನವು ಇನ್ನು ಮುಂದೆ ಖಾಲಿ ಸ್ಥಿತಿಯಿಂದ ಪುನರಾವರ್ತಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಒಟ್ಟಾರೆಯಾಗಿ, ಪ್ರತ್ಯೇಕ ಸಂಗ್ರಹಣೆ ಮತ್ತು ಬ್ರೋಕರ್ ಜೀವನಚಕ್ರಗಳು ಬ್ರೋಕರ್ ಸ್ವಿಚಿಂಗ್ ಪರಿಣಾಮವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

ಡೇಟಾ ಡೆಲಿವರಿ ಗ್ಯಾರಂಟಿಯನ್ನು ಮತ್ತಷ್ಟು ಹೆಚ್ಚಿಸಲು, ನಾವು ಬಳಸಿದ್ದೇವೆ ಸಂದೇಶ ಟ್ರ್ಯಾಕಿಂಗ್ ವ್ಯವಸ್ಥೆ ವಿಪರೀತ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಯಾವುದೇ ಸಂದೇಶ ನಷ್ಟವನ್ನು ಪತ್ತೆಹಚ್ಚಲು (ಉದಾಹರಣೆಗೆ, ವಿಭಜನಾ ನಾಯಕನಲ್ಲಿ ಗಡಿಯಾರ ಡಿಸಿಂಕ್ರೊನೈಸೇಶನ್).

ಸ್ಟ್ರೀಮ್ ಪ್ರೊಸೆಸಿಂಗ್ ಫ್ರೇಮ್ವರ್ಕ್

ಡೆಲ್ಟಾದ ಸಂಸ್ಕರಣಾ ಪದರವನ್ನು Netflix SPaaS ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಇದು Netflix ಪರಿಸರ ವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ Apache Flink ಏಕೀಕರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಮ್ಮ ಟೈಟಸ್ ಕಂಟೇನರ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಫ್ಲಿಂಕ್ ಉದ್ಯೋಗಗಳ ನಿಯೋಜನೆ ಮತ್ತು ಫ್ಲಿಂಕ್ ಕ್ಲಸ್ಟರ್‌ಗಳ ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ ಅನ್ನು ನಿರ್ವಹಿಸುವ ಬಳಕೆದಾರ ಇಂಟರ್‌ಫೇಸ್ ಅನ್ನು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಒದಗಿಸುತ್ತದೆ. ಇಂಟರ್ಫೇಸ್ ಉದ್ಯೋಗ ಸಂರಚನೆಗಳನ್ನು ಸಹ ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಫ್ಲಿಂಕ್ ಉದ್ಯೋಗಗಳನ್ನು ಮರುಸಂಕಲಿಸದೆಯೇ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಕಾನ್ಫಿಗರೇಶನ್ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲು ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಡೆಲ್ಟಾ Flink ಮತ್ತು SPaaS ಅನ್ನು ಆಧರಿಸಿ ಸ್ಟ್ರೀಮ್ ಪ್ರೊಸೆಸಿಂಗ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ ಟಿಪ್ಪಣಿ ಆಧಾರಿತ DSL (ಡೊಮೈನ್ ನಿರ್ದಿಷ್ಟ ಭಾಷೆ) ತಾಂತ್ರಿಕ ವಿವರಗಳನ್ನು ಅಮೂರ್ತಗೊಳಿಸಲು. ಉದಾಹರಣೆಗೆ, ಬಾಹ್ಯ ಸೇವೆಗಳಿಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ಈವೆಂಟ್‌ಗಳನ್ನು ಪುಷ್ಟೀಕರಿಸುವ ಹಂತವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು, ಬಳಕೆದಾರರು ಈ ಕೆಳಗಿನ DSL ಅನ್ನು ಬರೆಯಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಫ್ರೇಮ್‌ವರ್ಕ್ ಅದರ ಆಧಾರದ ಮೇಲೆ ಮಾದರಿಯನ್ನು ರಚಿಸುತ್ತದೆ, ಅದನ್ನು ಫ್ಲಿಂಕ್‌ನಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್
ಚಿತ್ರ 3. ಡೆಲ್ಟಾದಲ್ಲಿ DSL ನಲ್ಲಿ ಪುಷ್ಟೀಕರಣದ ಉದಾಹರಣೆ

ಸಂಸ್ಕರಣಾ ಚೌಕಟ್ಟು ಕಲಿಕೆಯ ರೇಖೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದಲ್ಲದೆ, ಸಾಮಾನ್ಯ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಅಪಕರ್ಷಣೆ, ಸ್ಕೀಮ್ಯಾಟೈಸೇಶನ್ ಮತ್ತು ನಮ್ಯತೆ ಮತ್ತು ಸ್ಥಿತಿಸ್ಥಾಪಕತ್ವದಂತಹ ಸಾಮಾನ್ಯ ಸ್ಟ್ರೀಮ್ ಸಂಸ್ಕರಣಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ.

ಡೆಲ್ಟಾ ಸ್ಟ್ರೀಮ್ ಪ್ರೊಸೆಸಿಂಗ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಎರಡು ಪ್ರಮುಖ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, DSL & API ಮಾಡ್ಯೂಲ್ ಮತ್ತು ರನ್‌ಟೈಮ್ ಮಾಡ್ಯೂಲ್. DSL ಮತ್ತು API ಮಾಡ್ಯೂಲ್ DSL ಮತ್ತು UDF (ಬಳಕೆದಾರ-ವ್ಯಾಖ್ಯಾನಿತ-ಕಾರ್ಯ) APIಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ ಇದರಿಂದ ಬಳಕೆದಾರರು ತಮ್ಮದೇ ಆದ ಸಂಸ್ಕರಣಾ ತರ್ಕವನ್ನು (ಫಿಲ್ಟರಿಂಗ್ ಅಥವಾ ರೂಪಾಂತರಗಳಂತಹ) ಬರೆಯಬಹುದು. ರನ್ಟೈಮ್ ಮಾಡ್ಯೂಲ್ DSL ಪಾರ್ಸರ್ನ ಅನುಷ್ಠಾನವನ್ನು ಒದಗಿಸುತ್ತದೆ ಅದು DAG ಮಾದರಿಗಳಲ್ಲಿ ಪ್ರಕ್ರಿಯೆ ಹಂತಗಳ ಆಂತರಿಕ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ಎಕ್ಸಿಕ್ಯೂಶನ್ ಘಟಕವು ನಿಜವಾದ ಫ್ಲಿಂಕ್ ಹೇಳಿಕೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು DAG ಮಾದರಿಗಳನ್ನು ಅರ್ಥೈಸುತ್ತದೆ ಮತ್ತು ಅಂತಿಮವಾಗಿ ಫ್ಲಿಂಕ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತದೆ. ಚೌಕಟ್ಟಿನ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಕೆಳಗಿನ ಚಿತ್ರದಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ.

ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್
ಚಿತ್ರ 4. ಡೆಲ್ಟಾ ಸ್ಟ್ರೀಮ್ ಪ್ರೊಸೆಸಿಂಗ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಆರ್ಕಿಟೆಕ್ಚರ್

ಈ ವಿಧಾನವು ಹಲವಾರು ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿದೆ:

  • ಬಳಕೆದಾರರು Flink ಅಥವಾ SPaaS ರಚನೆಯ ನಿಶ್ಚಿತಗಳನ್ನು ಪರಿಶೀಲಿಸದೆಯೇ ತಮ್ಮ ವ್ಯಾಪಾರ ತರ್ಕದ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಬಹುದು.
  • ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಬಳಕೆದಾರರಿಗೆ ಪಾರದರ್ಶಕ ರೀತಿಯಲ್ಲಿ ಮಾಡಬಹುದು ಮತ್ತು ಬಳಕೆದಾರ ಕೋಡ್ (ಯುಡಿಎಫ್) ಗೆ ಯಾವುದೇ ಬದಲಾವಣೆಗಳ ಅಗತ್ಯವಿಲ್ಲದೇ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಬಹುದು.
  • ಡೆಲ್ಟಾ ಅಪ್ಲಿಕೇಶನ್ ಅನುಭವವನ್ನು ಬಳಕೆದಾರರಿಗೆ ಸರಳಗೊಳಿಸಲಾಗಿದೆ ಏಕೆಂದರೆ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಬಾಕ್ಸ್‌ನ ಹೊರಗೆ ನಮ್ಯತೆ ಮತ್ತು ಸ್ಥಿತಿಸ್ಥಾಪಕತ್ವವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳಿಗಾಗಿ ಬಳಸಬಹುದಾದ ವಿವಿಧ ವಿವರವಾದ ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.

ಉತ್ಪಾದನೆಯ ಬಳಕೆ

ಡೆಲ್ಟಾ ಒಂದು ವರ್ಷಕ್ಕೂ ಹೆಚ್ಚು ಕಾಲ ಉತ್ಪಾದನೆಯಲ್ಲಿದೆ ಮತ್ತು ಅನೇಕ ನೆಟ್‌ಫ್ಲಿಕ್ಸ್ ಸ್ಟುಡಿಯೋ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಪ್ರಮುಖ ಪಾತ್ರವನ್ನು ವಹಿಸುತ್ತದೆ. ಹುಡುಕಾಟ ಸೂಚ್ಯಂಕ, ಡೇಟಾ ಸಂಗ್ರಹಣೆ ಮತ್ತು ಈವೆಂಟ್-ಚಾಲಿತ ವರ್ಕ್‌ಫ್ಲೋಗಳಂತಹ ಬಳಕೆಯ ಪ್ರಕರಣಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅವರು ತಂಡಗಳಿಗೆ ಸಹಾಯ ಮಾಡಿದರು. ಡೆಲ್ಟಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಉನ್ನತ ಮಟ್ಟದ ಆರ್ಕಿಟೆಕ್ಚರ್‌ನ ಅವಲೋಕನವನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆ.

ಡೆಲ್ಟಾ: ಡೇಟಾ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮತ್ತು ಎನ್ರಿಚ್ಮೆಂಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್
ಚಿತ್ರ 5. ಡೆಲ್ಟಾದ ಉನ್ನತ ಮಟ್ಟದ ವಾಸ್ತುಶಿಲ್ಪ.

ಸ್ವೀಕೃತಿಗಳು

ನೆಟ್‌ಫ್ಲಿಕ್ಸ್‌ನಲ್ಲಿ ಡೆಲ್ಟಾ ರಚನೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ತೊಡಗಿಸಿಕೊಂಡಿರುವ ಈ ಕೆಳಗಿನ ಜನರಿಗೆ ನಾವು ಧನ್ಯವಾದ ಹೇಳಲು ಬಯಸುತ್ತೇವೆ: ಅಲೆನ್ ವಾಂಗ್, ಚಾರ್ಲ್ಸ್ ಝಾವೋ, ಜೇಬಿನ್ ಯೂನ್, ಜೋಶ್ ಸ್ನೈಡರ್, ಕಸ್ತೂರಿ ಚಟರ್ಜಿ, ಮಾರ್ಕ್ ಚೋ, ಓಲೋಫ್ ಜೋಹಾನ್ಸನ್, ಪಿಯೂಷ್ ಗೋಯಲ್, ಪ್ರಶಾಂತ್ ರಾಮದಾಸ್, ರಘುರಾಮ್ ಒಂಟಿ ಶ್ರೀನಿವಾಸನ್, ಸಂದೀಪ್ ಗುಪ್ತಾ, ಸ್ಟೀವನ್ ವೂ, ತರಂಗ ಗಮತಿಗೆ, ಯುನ್ ವಾಂಗ್ ಮತ್ತು ಝೆನ್‌ಜಾಂಗ್ ಕ್ಸು.

ಮೂಲಗಳು

  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.org/10.1145/3312527

ಉಚಿತ ವೆಬ್‌ನಾರ್‌ಗಾಗಿ ಸೈನ್ ಅಪ್ ಮಾಡಿ: "ಅಮೆಜಾನ್ ರೆಡ್‌ಶಿಫ್ಟ್ ಸ್ಟೋರೇಜ್‌ಗಾಗಿ ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್."

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ