¸¶¸®¾ÆDB(MariaDB Corporation)´Â 20ÀÏ ¹ßÇ¥¸¦ ÅëÇØ, »ï¼ºÀüÀÚ MX »ç¾÷ºÎÀÇ »ï¼º Ŭ¶ó¿ìµå ¼ºñ½º°¡ ÀÚ»çÀÇ ºÐ»êÇü SQL µ¥ÀÌÅͺ£À̽º ‘¸¶¸®¾ÆDB ¿¢½ºÆÒµå(Xpand)’¸¦ ÀÌ¿ëÇØ ¸ÅÀÏ ¼ö½Ê¾ï°Ç¿¡ ´ÞÇÏ´Â Æ®·£Àè¼ÇÀ» ó¸®ÇÏ°í, µ¥ÀÌÅͺ£À̽º ºñ¿ëÀ» 50%±îÁö Àý°¨ÇÏ´Â ¼º°ú¸¦ ´Þ¼ºÇß´Ù°í ¹àÇû´Ù.
»ï¼º Ŭ¶ó¿ìµå ¼ºñ½º´Â Àü¼¼°è °¶·°½Ã »ç¿ëÀÚÀÇ ±â±â¿Í Á¤º¸¸¦ °ü¸®Çϱâ À§ÇØ ¼ö¹é Æ䟹ÙÀÌÆ®(Petabyte) ¹× 16¾ïÇà ÀÌ»ó¿¡ ´ÞÇÏ´Â ´ë±Ô¸ð µ¥ÀÌÅͺ£À̽º¿¡¼ ¸ÅÀÏ ¼ö½Ê ¾ï °ÇÀÇ Æ®·£Àè¼ÇÀ» ó¸®ÇØ¾ß ÇÑ´Ù.
ÀÌÀüÀÇ MySQL »þµù(Sharding) ±¸ÇöÀÇ º¹À⼺ ¹®Á¦¸¦ ÇؼÒÇÏ°í, µ¥ÀÌÅͺ£À̽ºÀÇ °¡¿ë¼º°ú È®À强À» ³ôÀ̱â À§ÇØ 2017³âºÎÅÍ ¿¢½ºÆÒµå(Xpand)·Î ¸¶À̱׷¹ÀÌ¼Ç ÇÑ ÈÄ ÇöÀç 50´ë ÀÌ»óÀÇ ³ëµå¿¡ ¼º°øÀûÀ¸·Î ¿î¿µÇÏ°í ÀÖ´Ù.
‘»þµù’Àº µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ°¡ Àüü ¿Â¶óÀÎ ¹é¾÷À» °¢ »þµå¸¶´Ù ¹Þ¾Æ¾ß Ç߱⠶§¹®¿¡, µ¥ÀÌÅÍ ÀÏ°ü¼ºÀ» À¯ÁöÇϱ⠾î·Æ°í, Äڵ带 °è¼Ó ¼öÁ¤ÇØ¾ß Çϰųª ¿Â¶óÀÎ ¹é¾÷À» À§ÇØ Áö³ªÄ¡°Ô ¸¹Àº ÀÎÇÁ¶ó¸¦ »ç¿ëÇØ¾ß ÇÏ´Â µîÀÇ ¿©·¯ ´ÜÁ¡µéÀ» °¡Áö°í ÀÖ´Ù.
»ï¼º Ŭ¶ó¿ìµå´Â ÀÌ°°Àº º¹À⼺À» Á¦°ÅÇÏ´Â °ÍÀ» ÃÖ¿ì¼± ¸ñÇ¥·Î ‘¿¢½ºÆҵ咸¦ ÅëÇÑ ºÐ»êÇü SQL Á¢±Ù¹æ½ÄÀ» Àû¿ëÇß´Ù.
ºÐ»êÇü SQLÀº °·ÂÇÑ ÀÏ°ü¼º°ú µ¥ÀÌÅÍ ¹«°á¼ºÀ» À¯ÁöÇϸ鼵µ ÀÌÀü¿¡´Â ºÒ°¡´ÉÇß´ø ±Ô¸ð·Î È®ÀåÀÌ °¡´ÉÇÑ Â÷¼¼´ë °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÌ´Ù.
ÀÏ´Ü ±¸ÃàµÇ¸é, ¼ö¸¹Àº µ¥ÀÌÅͺ£À̽º ³ëµå°¡ ÇϳªÀÇ µ¥ÀÌÅͺ£À̽ºÃ³·³ ½ÇÇàµÈ´Ù. ±Ô¸ð¿¡ µû¶ó ³ëµå¸¦ Ãß°¡Çϸé È®ÀåÀÌ °¡´ÉÇϸç, ÀϺΰ¡ ½ÇÆÐÇÏ´õ¶óµµ ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù.
¸¶¸®¾ÆDBÀÇ ºÐ»êÇü SQL µ¥ÀÌÅͺ£À̽º ‘¿¢½ºÆҵ咴 ÃÊ´ç ¼ö¹é¸¸°³ÀÇ Æ®·£Àè¼ÇÀ» ó¸®ÇÒ ¼ö ÀÖµµ·Ï ½±°Ô È®ÀåÇÒ ¼ö ÀÖÀ¸¸ç, °í°¡¿ë¼ºÀ» Á¦°øÇÑ´Ù. ¶ÇÇÑ °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ ¸ðµç ÀÌÁ¡À» Á¦°øÇÏ´Â µ¿½Ã¿¡, ±âÁ¸ µ¥ÀÌÅͺ£À̽º ºñ¿ëÀ» ȹ±âÀûÀ¸·Î Àý°¨ÇÒ ¼ö ÀÖ´Ù.
»ï¼ºÅ¬¶ó¿ìµå ¿î¿µ ±èÀüÈ£ ¸®´õ´Â “¿¢½ºÆҵ带 ÀÌ¿ëÇØ ´õ ÀÌ»ó »þµù Äڵ带 °ü¸®ÇÒ ÇÊ¿ä ¾øÀÌ ¼ºñ½º ·ÎÁ÷¿¡ ÁýÁßÇÏ´Â µî ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØó¸¦ ´Ü¼øÈÇÒ ¼ö ÀÖ¾ú°í, Ãß°¡ ÀÎÇÁ¶ó¸¦ ¿î¿µÇÏÁö ¾Ê°íµµ °í°¡¿ë¼º ¹× ¹é¾÷À» ¾ÈÁ¤ÀûÀ¸·Î À¯ÁöÇÒ ¼ö ÀÖ¾úÀ¸¸ç, ¿¢½ºÆÒµåÀÇ ¶Ù¾î³ È¿À²¼ºÀ» ±â¹ÝÀ¸·Î 3°³ Áö¿ª, 2°³ ¼ºñ½º·Î È®ÀåÇϸ鼵µ AWS(Amazon Web Services) EC2ÀÇ Å©±â¸¦ i3.16 ¿¢½º¶óÁö(xlarge)¿¡¼ 1/4 Å©±â i3.4 ¿¢½º¶óÁö(xlarge)·Î ÁÙÀÌ°í, 50%ÀÇ ºñ¿ë Àý°¨ÀÌ °¡´ÉÇß´Ù”°í ¾ð±ÞÇß´Ù.
|
|
|
¡ã »ï¼º Ŭ¶ó¿ìµå ³» ¸¶¸®¾ÆDB '¿¢½ºÆÒµå' ¾ÆÅ°ÅØó.(Ãâó : ¸¶¸®¾ÆDB Á¦°ø) |
‘¿¢½ºÆÒµå’ È¯°æ¿¡¼´Â ´ÜÀÏ Ä¿¸Çµå·Î »õ·Î¿î ¼¹ö ³ëµå¸¦ Ãß°¡Çϸé, µ¥ÀÌÅÍ°¡ ÀÚµ¿À¸·Î »õ·Î¿î ¼¹ö ³ëµå·Î ÀÌÀüµÇ°í, Ãß°¡µÈ ³ëµå´Â ¿¢½ºÆҵ忡 ´õ ¸¹Àº ÄÄÇ»Æà ÆÄ¿ö¿Í ¸Þ¸ð¸®, ½ºÅ丮Áö¸¦ °ø±ÞÇÏ¿© ´õ ¸¹Àº Æ®·£Àè¼ÇÀ» ´õ¿í ºü¸£°Ô ó¸®ÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ ¿¢½ºÆÒµå´Â º¹¼öÀÇ DB ÀνºÅϽº¿¡ Æ®·£Àè¼ÇÀ» ±â·ÏÇϱ⠶§¹®¿¡ ACID(Atomicity, Consistency, Isolation, Durability) ¿ä°ÇÀ» ÃæÁ·ÇÒ ¼ö ÀÖ´Ù.
‘¿¢½ºÆҵ咴 ǥÁØ SQL°ú MySQL ÇÁ·ÎÅäÄÝÀ» Áö¿øÇϱ⠶§¹®¿¡ ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ带 º¯°æÇÒ ÇÊ¿ä ¾øÀÌ MySQL¿¡¼ ¿¢½ºÆÒµå·Î ½±°Ô ¸¶À̱׷¹À̼ÇÇÒ ¼ö ÀÖ´Ù.
ÇöÀç ¿öÅ©·ÎµåÀÇ µ¥ÀÌÅÍ ºÐ»ê ±¸Á¶¿Í °¢ ÀνºÅϽºÀÇ »óÅ ¹× ÀÚ¿ø È°¿ë·üÀ» ºÐ¼®ÇÏ°í, À̸¦ ÀÚµ¿À¸·Î ÃÖÀûÈÇØ ¿î¿µÀÚ¿øÀ» Àý°¨ÇÒ ¼ö ÀÖ´Ù.
¸¸¾à DB ÀνºÅϽº°¡ Ãß°¡ ȤÀº »èÁ¦µÇ°Å³ª ¿¹±âÄ¡ ¾ÊÀº Àå¾Ö »óȲÀÌ ¹ß»ýÇϸé, µ¥ÀÌÅ͸¦ ÀÚµ¿À¸·Î ´Ù¸¥ ÀνºÅϽº·Î ÀÌÀüÇØ °¢ ÀνºÅϽº°¡ º¸°üÇÏ´Â µ¥ÀÌÅÍÀÇ ¾ç°ú Äõ¸® ó¸® »óŸ¦ ±ÕµîÇÏ°Ô ÃÖÀûÈÇÒ ¼ö ÀÖ´Ù.
ÀÌ ¹Û¿¡µµ ¿¢½ºÆÒµå´Â ´ÜÀÏ Àå¾Ö ÁöÁ¡(Single Point of Failure)À¸·Î ÀÎÇÑ ¼ºñ½º Áß´ÜÀ» ¹æÁöÇÏ°í ½Ã½ºÅÛ °¡¿ë¼ºÀ» ³ôÀÏ ¼ö ÀÖµµ·Ï Àå¾Ö Çã¿ë¼ºÀ» Áö¿øÇÑ´Ù.
¿¢½ºÆÒµå ½Ã½ºÅÛÀº ¼¹ö ³ëµå Çϳª¿¡ Àå¾Ö°¡ »ý°Üµµ ´Ù¸¥ ¿¢½ºÆÒµå ³ëµåÀÇ º¹Á¦º»(Replica)¿¡ Á¸ÀçÇÏ´Â µ¥ÀÌÅ͸¦ ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ¸®¹ë·±¼·Î Àå¾Ö ÁöÁ¡¿¡ ÀÖ´ø µ¥ÀÌÅÍÀÇ º¹Á¦º»À» »ý¼ºÇØ ÀÚµ¿À¸·Î ½Ã½ºÅÛÀ» º¹±¸ÇÑ´Ù.
´ÙÀ½ ¸ñÇ¥·Î, »ï¼º Ŭ¶ó¿ìµå ¿î¿µÆÀÀº Áö±Ý²¯ ¼º°øÀûÀ¸·Î »ç¿ëÇØ¿Ô´ø ¿¢½ºÆÒµå °æÇèÀ» ¹ÙÅÁÀ¸·Î Æз¯·² ¸®Çø®ÄÉÀ̼Ç(Parallel Replication, º´·Ä º¹Á¦) ±â´ÉÀ» ½ÃÇèÇÏ°í ÀÖ´Ù.
ÇöÀç±îÁö »ï¼º Ŭ¶ó¿ìµå ¼ºñ½º´Â ETL ÇÁ·Î¼¼½º¸¦ ¿¢½ºÆÒµå ¿î¿µ Ŭ·¯½ºÅÍ¿¡¼ ¼öÇàÇØ¿ÔÁö¸¸ Æз¯·² ¸®Çø®ÄÉÀ̼Ç(Parallel Replication, º´·Ä º¹Á¦) ±â´ÉÀ» ÅëÇØ ºÎÇÏ ºÐ»êÀÌ ´õ¿í ¿øÈ°ÇØ Áú °ÍÀ¸·Î ±â´ëÇÑ´Ù.
<±èµ¿±â ±âÀÚ>kdk@bikorea.net < ÀúÀÛ±ÇÀÚ © BI KOREA ¹«´ÜÀüÀç ¹× Àç¹èÆ÷±ÝÁö > |