¸ù°íDB(Áö»çÀå ½ÅÀ缺)´Â 19ÀÏ ¹ßÇ¥¸¦ ÅëÇØ, ¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½Ì(Atlas Stream Processing)ÀÇ ÆÛºí¸¯ ÇÁ¸®ºä ¹öÀüÀ» °ø°³Çß´Ù.
‘¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½Ì’Àº ³ôÀº µµÅ¥¸ÕÆ® ¸ðµ¨ À¯¿¬¼º ¹× »ç¿ë ÆíÀǼºÀ» Á¦°øÇÏ°í Äõ¸® API¸¦ Áö¿øÇÏ´Â ¸ù°íDB ¾ÆƲ¶ó½º(MongoDB Atlas)ÀÇ ÀåÁ¡À» ½ºÆ®¸² 󸮿¡ Á¢¸ñÇÑ ¼Ö·ç¼ÇÀÌ´Ù.
ƯÈ÷, ‘¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½Ì’Àº ºü¸£°Ô º¯ÈÇÏ´Â À̺¥Æ® µ¥ÀÌÅÍÀÇ ½ºÆ®¸²À» Áý°è ¹× º¸°ÇÏ°í, Àü¼Û ÁßÀ̰ųª À¯ÈÞ »óÅÂÀÇ µ¥ÀÌÅÍ ÀÛ¾÷ ¹æ½ÄÀ» ÅëÇÕÇØ °³¹ßÀÚ °æÇèÀ» °³¼±ÇÑ´Ù.
¸ù°íDB´Â °³¹ßÀÚ°¡ ¾ÆƲ¶ó½º µ¥ÀÌÅͺ£À̽º¿¡¼ º¯°æ ½ºÆ®¸²À» ÅëÇØ µ¥ÀÌÅ͸¦ Áö¼ÓÀûÀ¸·Î ó¸®ÇÒ »Ó¸¸ ¾Æ´Ï¶ó ÄÁÇ÷ç¾ðÆ® Ŭ¶ó¿ìµå(Confluent Cloud), ¾Æ¸¶Á¸ MSK(Amazon MSK), ¾ÖÀú À̺¥Æ® Çãºê(Azure Event Hubs), ·¹µåÆÇ´Ù(Redpanda)¸¦ ºñ·ÔÇÑ ÆÄÆ®³Ê ¼ºñ½º¿¡¼ È£½ºÆõǴ īÇÁÄ«(Kafka) µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â µ¥ ¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½ÌÀ» Áö¿øÇÑ´Ù.
½ÅÀ缺 ¸ù°íDBÄÚ¸®¾Æ Áö»çÀåÀº “¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½ÌÀ» ÅëÇØ °³¹ßÀÚ È¯°æÀ» ÇÑ ´Ü°è ¹ßÀü½Ãų ¼ö ÀÖ°Ô µÆ´Ù”¸ç “¸ù°íDB´Â °³¹ßÀڵ鿡°Ô Çö´ëÈµÈ È¯°æÀ» Á¦°øÇϱâ À§ÇØ ´Ù¾çÇÑ ³ë·ÂÀ» À̾°í ÀÖ´Ù. °³¹ßÀÚÀÇ ÀÇ°ßÀ» Áö¼ÓÀûÀ¸·Î ¼ö·ÅÇØ ÁÖ¿ä ±â¼ú Àü¹Ý¿¡¼ Áö¼ÓÀûÀ¸·Î ´õ ³ªÀº °æÇèÀ» Á¦°øÇÒ °èȹ”À̶ó°í ¸»Çß´Ù.
¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½Ì ÆÛºí¸¯ ÇÁ¸®ºä ¹öÀüÀÇ ÁÖ¿ä ±â´ÉÀ» º¸¸é…
¡ß°³¹ßÀÚ È¯°æ °³¼±
- ¸ù°íDB´Â ¸ù°íDB VS ÄÚµå Ç÷¯±×Àο¡ ½ºÆ®¸² ÇÁ·Î¼¼½Ì ÀνºÅϽº¿¡ ´ëÇÑ ¿¬°áÀ» Áö¿øÇØ VS Äڵ带 ÅëÇÕÇß´Ù.
Ç÷¯±×ÀÎÀ» È°¿ëÇÏ´Â °³¹ßÀÚ´Â Àͼ÷ÇÑ °³¹ß ȯ°æ¿¡¼ ÇÁ·Î¼¼¼¸¦ »ý¼ºÇÏ°í °ü¸®ÇØ µµ±¸ °£ Àüȯ ½Ã°£À» ÁÙÀÌ°í ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà¿¡ ÁýÁßÇÒ ¼ö ÀÖ´Ù.
- DLQ ±â´ÉÀº ½ºÆ®¸² 󸮸¦ À§ÇÑ ÇÙ½É ¿ä¼Ò.
¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½ÌÀº DLQ ±â´ÉÀ» È®ÀåÇØ sp.process()·Î ÆÄÀÌÇÁ¶óÀÎÀ» ½ÇÇàÇϰųª ±¸µ¿ ÁßÀÎ ÇÁ·Î¼¼¼¿¡¼ .sample()À» ½ÇÇàÇÒ ¶§ DLQ ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÑ´Ù.
À̸¦ ÅëÇØ DLQ¸¦ À§ÇÑ Å¸±ê Ä÷º¼ÇÀ» º°µµ ¼³Á¤ÇÒ ÇÊ¿ä ¾øÀÌ ´õ¿í °£¼ÒÈµÈ °³¹ß ȯ°æÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Ù.
¡ß°í±Þ ±â´É È®Àå
- $lookupÀ» Áö¿øÇØ ¿ø°Ý ¾ÆƲ¶ó½º Ŭ·¯½ºÅÍ µ¥ÀÌÅÍ·Î ½ºÆ®¸² ÇÁ·Î¼¼¼¿¡¼ ó¸® ÁßÀÎ ¹®¼¸¦ º¸°ÇØ ¹®¼¿Í Ÿ±ê Ä÷º¼ÇÀÇ Çʵ忡 ´ëÇÑ Á¶ÀÎÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù.
- º¯°æ ½ºÆ®¸² $source ¿ª½Ã °³¼±ÇØ »çÀü ¹× »çÈÄ À̹ÌÁöµµ Áö¿øÇÑ´Ù.
°³¹ßÀÚ´Â ¹®¼ ³»¿¡¼ ÇÊµå °£ µ¨Å¸ °ªÀ» °è»êÇÏ´Â ÀϹÝÀûÀÎ »ç·Ê »Ó¸¸ ¾Æ´Ï¶ó »èÁ¦µÈ ¹®¼ÀÇ Àüü ³»¿ë¿¡µµ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù.
- º´ÇÕ ¹× ³»º¸³»±â ´Ü°è¿¡¼´Â µ¿Àû Ç¥Çö½ÄÀ» »ç¿ëÇÑ Á¶°ÇºÎ ¶ó¿ìÆÃÀ» ±¸ÇöÇØ Ã³¸® ÁßÀÎ ¹®¼ÀÇ ÇÊµå °ªÀ» »ç¿ëÇÏ°í ƯÁ¤ ¸Þ½ÃÁö¸¦ ´Ù¸¥ ¾ÆƲ¶ó½º Ä÷º¼Ç ¶Ç´Â Ä«ÇÁÄ« ÅäÇÈÀ¸·Î Àü¼ÛÇÒ ¼ö ÀÖ´Ù.
- À¯ÈÞ ½ºÆ®¸² ŸÀÓ ¾Æ¿ô ±â´É ¿ª½Ã Á¦°øµÅ Àιٿîµå µ¥ÀÌÅÍ ºÎÁ·À¸·Î ÀÎÇØ »óÀ§ ¿öÅ͸¶Å© ¾øÀÌ ÁøÇàµÇ´Â ½ºÆ®¸²ÀÌ ÀÏÁ¤ ½Ã°£ ÈÄ À©µµ¿ì °á°ú¸¦ ³»º¸³½ ÈÄ ´ÝÈ÷µµ·Ï ±¸¼ºÇÒ ¼ö ÀÖ´Ù.
¡ß¿î¿µ ¹× º¸¾È °³¼±
- Áö¼ÓÀûÀ¸·Î ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏ´Â ½ºÆ®¸² ÇÁ·Î¼¼½º¿¡¼ ¹®Á¦³ª Àå¾Ö°¡ ¹ß»ýÇÒ °æ¿ì Áö´ÉÀûÀÎ º¹±¸ ¸ÅÄ¿´ÏÁòÀÌ ÇÊ¿äÇÏ´Ù.
¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½ÌÀº µ¥ÀÌÅÍ Ã³¸® Áß »óÅ ÀúÀåÀ» À§ÇÑ Ã¼Å©Æ÷ÀÎÆ®¸¦ Áö¿øÇØ µ¥ÀÌÅÍ ¼öÁý ¹× 󸮰¡ Áß´ÜµÈ ÁöÁ¡ºÎÅÍ ½ºÆ®¸² ÇÁ·Î¼¼¼¸¦ ½±°Ô Àç°¡µ¿ÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÑ´Ù.
- Å׶óÆû(Terraform) °ø±ÞÀÚ ¼ºñ½º ¿ª½Ã Á¦°øµÅ Å׶óÆû¿¡¼ ¿¬°á ¹× ½ºÆ®¸² ó¸® ÀνºÅϽº(SPI)¸¦ »ý¼ºÇÏ°í ÀÎÇÁ¶ó¸¦ ÄÚµå·Î ÀÛ¼ºÇØ ¹Ýº¹ÀûÀ¸·Î ¹èÆ÷ÇÒ ¼ö ÀÖ´Ù.
- º¸¾È ±â´Éµµ Ãß°¡µÅ ½ºÆ®¸² ó¸® ÀÛ¾÷¿¡ ÇÊ¿äÇÑ ¸¸Å ÀϺΠ»ç¿ëÀÚ¿¡°Ô¸¸ »ç¿ëÀÚ ±ÇÇÑÀ» ºÎ¿©ÇÒ ¼ö ÀÖ´Ù.
- ¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½ÌÀÇ ÀÎÁõ ±â´ÉÀ» ÅëÇØ SPI ³» ÀÎÁõ ½Ãµµ ¹× ÀÛ¾÷À» °¨»çÇÏ°í, º¸¾È °ü·Ã À̺¥Æ®¿¡ ´ëÇÑ ÀλçÀÌÆ®¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
- Ä«ÇÁÄ« ¼ÒºñÀÚ ±×·ìÀ» Áö¿øÇØ ¿ÀÇÁ¼Â(offset) ÃßÀûÀ» À§ÇØ Ä«ÇÁÄ« ¼ÒºñÀÚ ±×·ìÀ» »ç¿ëÇÏ°í »ç¿ëÀÚ°¡ ½ºÆ®¸²¿¡¼ ÇÁ·Î¼¼¼ÀÇ À§Ä¡ º¯°æ ¹× Áö¿¬ ¸ð´ÏÅ͸µÀ» ½±°Ô ¼öÇàÇÒ ¼ö ÀÖµµ·Ï µ½´Â´Ù.
±Û·Î¹ú ÇÑ Ç×°ø»ç´Â ‘¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½Ì’ÀÇ º¹ÇÕ Áý°è¸¦ »ç¿ëÇØ À¯Áöº¸¼ö ¹× ¿î¿µ µ¥ÀÌÅ͸¦ ½Å¼ÓÇÏ°Ô Ã³¸®ÇÔÀ¸·Î½á Á¤½Ã ¿îÇ×À» º¸ÀåÇÏ°í ÀÖ´Ù.
ÇÑ ´ëÇü ¿¡³ÊÁö Àåºñ Á¦Á¶»ç´Â ¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½ÌÀ¸·Î ´ë¿ë·® ÆßÇÁ µ¥ÀÌÅ͸¦ Áö¼ÓÀûÀ¸·Î ¸ð´ÏÅ͸µÇØ °¡µ¿ Áß´ÜÀ» ¹æÁöÇÏ°í »êÃâ·®À» ÃÖÀûÈÇÏ°í ÀÖ´Ù.
¶ÇÇÑ, ÇÑ ¿£ÅÍÇÁ¶óÀÌÁî SaaS ±â¾÷Àº ¾ÆƲ¶ó½º ½ºÆ®¸² ÇÁ·Î¼¼½ÌÀÇ Ç³ºÎÇÑ Ã³¸® ±â´ÉÀ» È°¿ëÇØ °¢ »óȲ¿¡ ¸Â°Ô Á¦Ç° ÀÚü ¾Ë¸²À» Àû½Ã¿¡ Á¦°øÇØ Á¦Ç° °ü¿©µµ¸¦ °³¼±ÇÏ°í ÀÖ´Ù.
<±èµ¿±â ±âÀÚ>kdk@bikorea.net < ÀúÀÛ±ÇÀÚ © BI KOREA ¹«´ÜÀüÀç ¹× Àç¹èÆ÷±ÝÁö > |