ÃֽŠ¾ÆÅ°ÅØó¿Í µµ±¸ ¹× »ç·Ê¸¦ ÅëÇØ ±Ô¸ð¿¡ ¸Â°Ô MySQLÀ» ½ÇÇàÇϱâ À§ÇÑ °ËÁõµÈ Àü·«À» Á¦°øÇÑ´Ù!¾î¶»°Ô Çϸé MySQLÀÇ ¼º´ÉÀ» ±Ø´ëÈÇÒ ¼ö ÀÖÀ»±î? ¡ºMySQL ¼º´É ÃÖÀûÈ¡»¸¦ ÅëÇؼ ¼ºñ½º ¼öÁØ ¸ñÇ¥ ¼³Á¤ºÎÅÍ ½ºÅ°¸¶, À妽º, Äõ¸® ¼³°è»Ó¸¸ ¾Æ´Ï¶ó, Ç÷§ÆûÀÇ ÀáÀç·ÂÀ» ÃÖ´ëÇÑ ¹ßÈÖÇÒ ¼ö ÀÖ°Ô ¼¹ö, ¿î¿µÃ¼Á¦, Çϵå¿þ¾î Á¶Á¤¿¡ À̸£´Â ¸ðµç °í±Þ ±â¼úÀ» ¹è¿ï ¼ö ÀÖ´Ù. ¶ÇÇÑ DBA°¡ ¾Ë¾Æ¾ß ÇÏ´Â º¹Á¦, ·Îµå ¹ë·±½Ì, °í°¡¿ë¼º ¹× Àå¾Ö Á¶Ä¡¸¦ ÅëÇØ ¾ÖÇø®ÄÉÀ̼ÇÀ» È®ÀåÇÏ´Â ¾ÈÀüÇÏ°í ½Ç¿ëÀûÀÎ ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. Ŭ¶ó¿ìµå ¹× ÀÚü È£½ºÆà MySQL, InnoDB ¼º´É, ±â´É ¹× µµ±¸ÀÇ °³¼± »çÇ×À» ¹Ý¿µÇÏ¿© ¾÷µ¥ÀÌÆ®µÈ ÀÌ °³Á¤ÆÇÀº ºñÁî´Ï½º¿¡ µû¶ó È®ÀåÇÏ´Â °ü°èÇü µ¥ÀÌÅÍ Ç÷§ÆûÀ» ¼³°èÇÏ´Â µ¥ µµ¿òÀÌ µÈ´Ù. ±×¸®°í µ¥ÀÌÅͺ£À̽º º¸¾È¿¡ ´ëÇÑ ¸ð¹ü »ç·Ê¿Í ¼º´É°ú µ¥ÀÌÅͺ£À̽º ¾ÈÁ¤¼º Çâ»ó¿¡ ´ëÇÑ À¯ÀÍÇÑ ³»¿ëÀÌ ´ã°Ü ÀÖ´Ù.
½Çºñ¾Æ º¸Æ®·Î½º´Â TwilioÀÇ ¼ÒÇÁÆ®¿þ¾î ¼³°èÀÚÀÌ´Ù. SendGrid¿¡¼ ±Ù¹«ÇÏ´Â µ¿¾È ¼ö½Ê¾ï °³ÀÇ À̸ÞÀÏ Àü¼ÛÀ» Áö¿øÇÏ´Â µ¥ÀÌÅͺ£À̽º Ç÷§ÆûÀ» ±¸ÃàÇÏ°í, Á¦Ç° Áö¿ø ¹× µ¥ÀÌÅÍ ÀúÀå¼Ò ¼³°è¸¦ ÃʱâºÎÅÍ ¿î¿µ±îÁö ÃßÁøÇÏ´Â µ¥ ±â¿©Çß´Ù.
01Àå: MySQL ¾ÆÅ°ÅØóMySQLÀÇ ³í¸®Àû ¾ÆÅ°ÅØó __¿¬°á °ü¸® ¹× º¸¾È __ÃÖÀûÈ ¹× ½ÇÇà µ¿½Ã¼º Á¦¾î __Àбâ/¾²±â Àá±Ý __Àá±Ý ¼¼ºÐÈ Æ®·£Àè¼Ç __°Ý¸® ¼öÁØ __±³Âø __Æ®·£Àè¼Ç ·Î±ë __MySQL¿¡¼ÀÇ Æ®·£Àè¼Ç ´ÙÁß ¹öÀü µ¿½Ã¼º Á¦¾î º¹Á¦ µ¥ÀÌÅÍ ÆÄÀÏ ±¸Á¶ InnoDB ¿£Áø __JSON ¹®¼ Áö¿ø __µ¥ÀÌÅÍ µñ¼Å³Ê¸®ÀÇ º¯È __Atomic DDL ¿ä¾à02Àå: ½Å·Ú¼º ¿£Áö´Ï¾î¸µ ȯ°æ¿¡¼ÀÇ ¸ð´ÏÅ͸µ½Å·Ú¼º ¿£Áö´Ï¾î¸µÀÌ DBA ÆÀ¿¡ ¹ÌÄ¡´Â ¿µÇâ ¼ºñ½º ¼öÁØ ¸ñÇ¥ÀÇ Á¤ÀÇ __°í°´ ¸¸Á·À» À§ÇØ ÇÊ¿äÇÑ °ÍÀº ¹«¾ùÀϱî¿ä? ÃøÁ¤ ´ë»ó __SLI ¹× SLO Á¤ÀÇ __¸ð´ÏÅ͸µ ¼Ö·ç¼Ç __°¡¿ë¼º ¸ð´ÏÅ͸µ __Äõ¸® Áö¿¬ ¸ð´ÏÅ͸µ __¿À·ù ¸ð´ÏÅ͸µ __»çÀü ¸ð´ÏÅ͸µ Àå±âÀûÀÎ ¼º´É ÃøÁ¤ __ºñÁî´Ï½º ÄÉÀÌ´ø½º ¹è¿ì±â __È¿°úÀûÀÎ ¸ÞÆ®¸¯ ÃßÀû __¼º´É Á¡°ËÀ» À§ÇÑ ¸ð´ÏÅ͸µ µµ±¸ »ç¿ë __Àüü ¾ÆÅ°ÅØ󸵿¡ SLO È°¿ëÇϱ⠿ä¾à03Àå: ¼º´É ½ºÅ°¸¶(Performance Schema)¼º´É ½ºÅ°¸¶ ¼Ò°³ __ÀνºÆ®·ç¸ÕÆ® ¿ä¼Ò __ÄÁ½´¸Ó ü°è __ÀÚ¿ø ¼Òºñ __Á¦¾à »çÇ× __sys ½ºÅ°¸¶ __½º·¹µå ÀÌÇØÇϱ⠼³Á¤ __¼º´É ½ºÅ°¸¶ÀÇ È°¼ºÈ¿Í ºñÈ°¼ºÈ __ÀνºÆ®·ç¸ÕÆ® È°¼ºÈ¿Í ºñÈ°¼ºÈ __ÄÁ½´¸Ó È°¼ºÈ¿Í ºñÈ°¼ºÈ __ƯÁ¤ °´Ã¼¿¡ ´ëÇÑ ¸ð´ÏÅ͸µ Æ©´× __½º·¹µå ¸ð´ÏÅ͸µ Æ©´× __¼º´É ½ºÅ°¸¶¿¡ ´ëÇÑ ¸Þ¸ð¸® Å©±â Á¶Á¤ __±âº»°ª ¼º´É ½ºÅ°¸¶ »ç¿ë __SQL ¹® Á¡°Ë __ÀÐ±â ´ë ¾²±â ¼º´É Á¡°Ë __¸ÞŸµ¥ÀÌÅÍ Àá±Ý Á¡°Ë __¸Þ¸ð¸® »ç¿ë·® Á¡°Ë __º¯¼ö Á¡°Ë __ÀÚÁÖ ¹ß»ýÇÏ´Â ¿À·ù Á¡°Ë __¼º´É ½ºÅ°¸¶ ÀÚü Á¡°Ë ¿ä¾à04Àå: ¿î¿µ üÁ¦ ¹× Çϵå¿þ¾î ÃÖÀûÈMySQLÀÇ ¼º´ÉÀ» Á¦ÇÑÇÏ´Â ¿ä¼Ò MySQL¿ë CPU¸¦ ¼±ÅÃÇÏ´Â ¹æ¹ý ¸Þ¸ð¸® ¹× µð½ºÅ© ¸®¼Ò½ºÀÇ ±ÕÇü À¯Áö __Àбâ, ¾²±â, ij½Ì __ÀÛ¾÷ ¼¼Æ®¶õ? ¼Ö¸®µå ½ºÅ×ÀÌÆ® ½ºÅ丮Áö __Ç÷¡½Ã ¸Þ¸ð¸® °³¿ä __°¡ºñÁö Ä÷º¼Ç RAID ¼º´É ÃÖÀûÈ __RAID Àå¾Ö, º¹±¸ ¹× ¸ð´ÏÅ͸µ __RAID ±¸¼º ¹× ij½Ì ³×Æ®¿öÅ© ¼³Á¤ ÆÄÀϽýºÅÛ ¼±ÅÃÇϱâ __µð½ºÅ© Å¥ ½ºÄÉÁÙ·¯ ¼±Åà __¸Þ¸ð¸®¿Í ½º¿ÍÇÎ __¿î¿µ ½Ã½ºÅÛ »óÅ __±× ¿Ü À¯¿ëÇÑ µµ±¸µé ¿ä¾à05Àå: ¼¹ö ¼³Á¤ ÃÖÀûÈMySQLÀÇ ¼³Á¤ÀÌ µ¿ÀÛÇÏ´Â ¹æ¹ý __±¸¹®, ¹üÀ§ ¹× ´ÙÀ̳»¹Í ¿©ºÎ(Dynamism) __Áö¼Ó(Persisted) ½Ã½ºÅÛ º¯¼ö __º¯¼ö ¼³Á¤ÀÇ ºÎÀÛ¿ë __º¯¼ö º¯°æ °èȹ __ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í __MySQL ¼³Á¤ ÆÄÀÏ »ý¼º __MySQL ¼¹ö »óÅ º¯¼ö Á¡°Ë ¸Þ¸ð¸® »ç¿ë·® ¼³Á¤ __¿¬°á´ç ¸Þ¸ð¸® ¿ä±¸»çÇ× __¿î¿µ üÁ¦¸¦ À§ÇÑ ¸Þ¸ð¸® ¿¹¾à __InnoDB ¹öÆÛ Ç® __½º·¹µå ij½Ã MySQLÀÇ I/O µ¿ÀÛ ¼³Á¤ __InnoDB Æ®·£Àè¼Ç ·Î±× __·Î±× ¹öÆÛ __InnoDB Å×ÀÌºí½ºÆäÀ̽º __´Ù¸¥ I/O ¼³Á¤ ¿É¼Ç MySQL µ¿½Ã¼º ¼³Á¤ ¾ÈÀü ¼³Á¤ °í±Þ InnoDB ¼³Á¤ ¿ä¾à 06Àå: ½ºÅ°¸¶ ¼³°è¿Í °ü¸® ÃÖÀûÀÇ µ¥ÀÌÅÍ À¯Çü ¼±Åà __Á¤¼ö __½Ç¼ö __Date¿Í Time À¯Çü __ºñÆ® ÆÑ µ¥ÀÌÅÍ À¯Çü __JSON µ¥ÀÌÅÍ __½Äº°ÀÚ ¼±Åà __Ưº°ÇÑ À¯ÇüÀÇ µ¥ÀÌÅÍ MySQLÀÇ ½ºÅ°¸¶ ¼³°è ¹®Á¦ __³Ê¹« ¸¹Àº ¿ __³Ê¹« ¸¹Àº Á¶ÀÎ __Áö³ªÄ£ ENUM »ç¿ë __À§ÀåÇÑ ENUM __NULLÀÇ Áö³ªÄ£ ¹èÁ¦ ½ºÅ°¸¶ °ü¸® __µ¥ÀÌÅÍ ÀúÀå¼Ò Ç÷§ÆûÀÇ ÀϺÎÀÎ ½ºÅ°¸¶ °ü¸® ¿ä¾à 07Àå: °í¼º´ÉÀ» À§ÇÑ Àε¦½Ì Àε¦½Ì ±âº» __À妽º À¯Çü __À妽ºÀÇ ÀÌÁ¡ °í¼º´ÉÀ» À§ÇÑ Àε¦½Ì Àü·« __ÇÁ¸®ÇȽº(Prefix) À妽º ¹× À妽º ¼±Åüº __´ÙÁß ¿ À妽º __ÁÁÀº ¿ ¼ø¼ ¼±ÅÃÇϱâ __Ŭ·¯½ºÅÍÇü À妽º __Ä¿¹ö¸µ À妽º __À妽º ½ºÄµÀ» »ç¿ëÇÑ Á¤·Ä __Áߺ¹°ú ÀÌÁß À妽º __»ç¿ëÇÏÁö ¾Ê´Â À妽º À妽º¿Í Å×À̺í À¯Áö °ü¸® __Å×ÀÌºí ¼Õ»ó ã±â ¹× º¹±¸ __À妽º Åë°è ¾÷µ¥ÀÌÆ® __À妽º ¹× µ¥ÀÌÅÍ ´ÜÆíÈ ÁÙÀ̱⠿ä¾à 08Àå: Äõ¸® ¼º´É ÃÖÀûÈ Äõ¸®°¡ ´À¸° ÀÌÀ¯´Â ¹«¾ùÀϱî¿ä? ´À¸° Äõ¸® ±âº»: µ¥ÀÌÅÍ ¾×¼¼½º ÃÖÀûÈ __µ¥ÀÌÅͺ£À̽º¿¡ ºÒÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ ¿äûÇÏ°í ÀÖ½À´Ï±î? __MySQLÀÌ ³Ê¹« ¸¹Àº µ¥ÀÌÅ͸¦ °Ë»çÇÏ°í ÀÖ½À´Ï±î? Äõ¸®¸¦ À籸¼ºÇÏ´Â ¹æ¹ý __º¹ÀâÇÑ Äõ¸® ´ë ¸¹Àº Äõ¸® __Äõ¸® ÀÚ¸£±â __Á¶ÀÎ ºÐÇØ Äõ¸® ½ÇÇà ±âº» »çÇ× __MySQL Ŭ¶óÀ̾ðÆ®/¼¹ö ÇÁ·ÎÅäÄÝ __Äõ¸® »óÅ __Äõ¸® ÃÖÀûÈ ÇÁ·Î¼¼½º __Äõ¸® ½ÇÇà ¿£Áø __Ŭ¶óÀ̾ðÆ®¿¡°Ô °á°ú ¹ÝȯÇϱâ MySQL Äõ¸® ¿ÉƼ¸¶ÀÌÀúÀÇ ÇÑ°è __UNION Á¦ÇÑ »çÇ× __µ¿µî ÀüÆÄ(Equality Propagation) __º´·Ä ½ÇÇà __µ¿ÀÏÇÑ Å×ÀÌºí¿¡ ´ëÇÑ SELECT¿Í UPDATE ƯÁ¤ À¯ÇüÀÇ Äõ¸® ÃÖÀûÈ __COUNT() Äõ¸® ÃÖÀûÈ __Á¶ÀÎ Äõ¸® ÃÖÀûÈ __ROLLUPÀ¸·Î GROUP BY ÃÖÀûÈ __LIMIT ¹× OFFSET ÃÖÀûÈ __SQL_CALC_FOUND_ROWS ÃÖÀûÈ __UNION ÃÖÀûÈ ¿ä¾à 09Àå: º¹Á¦º¹Á¦ °³¿ä __º¹Á¦ ÀÛµ¿ ¹æ½Ä º¹Á¦ÀÇ ³»ºÎ µ¿ÀÛ __º¹Á¦ Çü½Ä ¼±Åà __Àü¿ª Æ®·£Àè¼Ç ½Äº°ÀÚ __º¹Á¦ Ãæµ¹ÀÇ ´ëºñ __Áö¿¬ º¹Á¦ __¸ÖƼ ½º·¹µå º¹Á¦ __¹Ýµ¿±â º¹Á¦ __º¹Á¦ ÇÊÅÍ º¹Á¦ ÆäÀÏ¿À¹ö __°èȹµÈ ½Â°Ý __°èȹµÇÁö ¾ÊÀº ½Â°Ý __½Â°ÝÀÇ Æ®·¹ÀÌµå ¿ÀÇÁ º¹Á¦ ÅäÆú·ÎÁö __¾×Ƽºê/Æнúê(Active/Passive) __¾×Ƽºê/¸®µå Ç® __±ÇÀåÇÏÁö ¾Ê´Â ÅäÆú·ÎÁö º¹Á¦ °ü¸® ¹× À¯Áö °ü¸® __º¹Á¦ ¸ð´ÏÅ͸µ __º¹Á¦ Áö¿¬ ÃøÁ¤ __·¹Çø®Ä«¿Í ¼Ò½ºÀÇ ÀÏÄ¡ ¿©ºÎ È®ÀÎ º¹Á¦ ¹®Á¦¿Í Çعý __¼Ò½ºÀÇ ¹ÙÀ̳ʸ® ·Î±× ¼Õ»ó __°íÀ¯ÇÏÁö ¾ÊÀº ¼¹ö ID __Á¤ÀǵÇÁö ¾ÊÀº ¼¹ö ID __Àӽà Å×ÀÌºí ´©¶ô __¸ðµç ¾÷µ¥ÀÌÆ®¸¦ º¹Á¦ÇÏÁö ¾ÊÀ½ __°úµµÇÑ º¹Á¦ Áö¿¬ __¼Ò½ºÀÇ ¿À¹ö»çÀÌÁî ÆÐŶ __µð½ºÅ© °ø°£ ¾øÀ½ __º¹Á¦ Á¦ÇÑ »çÇ× ¿ä¾à 10Àå: ¹é¾÷ ¹× º¹±¸ ¹é¾÷À» ÇÏ´Â ÀÌÀ¯ º¹±¸ ¿ä±¸ »çÇ× Á¤ÀÇ MySQL ¹é¾÷ ¼Ö·ç¼Ç ¼³°è __¿Â¶óÀÎ ¹é¾÷ ¶Ç´Â ¿ÀÇÁ¶óÀÎ ¹é¾÷ __³í¸®Àû ¹é¾÷ ¶Ç´Â ¿ø½Ã ¹é¾÷ __¹é¾÷ ´ë»ó __ÁõºÐ ¹é¾÷ ¹× Â÷µî ¹é¾÷ __º¹Á¦ ¹ÙÀ̳ʸ® ·Î±× °ü¸® ¹× ¹é¾÷ ¹é¾÷°ú º¹±¸ µµ±¸ __MySQL ¿£ÅÍÇÁ¶óÀÌÁî ¹é¾÷ __Percona XtraBackup __mydumper __mysqldump µ¥ÀÌÅÍ ¹é¾÷Çϱâ __³í¸®Àû SQL ¹é¾÷ __ÆÄÀϽýºÅÛ ½º³À¼ô __Percona XtraBackup ¹é¾÷¿¡¼ º¹±¸Çϱâ __³í¸®Àû ¹é¾÷ º¹¿ø __½º³À¼ô¿¡¼ ¿ø½Ã ÆÄÀÏ º¹¿ø __Percona XtraBackupÀ¸·Î º¹¿øÇϱâ __¿ø½Ã ÆÄÀÏ º¹¿ø ÈÄ MySQL ½ÃÀÛÇϱ⠿ä¾à 11Àå: MySQL ½ºÄÉÀϸµ½ºÄÉÀϸµÀ̶õ? ÀÐ±â ´ë ¾²±â ¹Ù¿îµå ¿öÅ©·Îµå __¿öÅ©·ÎµåÀÇ ÀÌÇØ __Àб⠹ٿîµå ¿öÅ©·Îµå __¾²±â ¹Ù¿îµå ¿öÅ©·Îµå ±â´ÉÀû »þµù Àбâ Ç®·Î Àб⠽ºÄÉÀϸµ __Àбâ Ç® ±¸¼º °ü¸® __Àбâ Ç®¿¡ ´ëÇÑ »óÅ ȮÀÎ(Health checks) __·Îµå ¹ë·±½Ì ¾Ë°í¸®Áò ¼±Åà ´ë±â¿ »þµùÀ¸·Î ¾²±â ½ºÄÉÀϸµ __ºÐÇÒ ¹æ½Ä ¼±Åà __´ÙÁß ÆÄƼ¼Å´× Å° __»þµå °£ÀÇ Äõ¸® __Vitess __ProxySQL ¿ä¾à 12Àå: Ŭ¶ó¿ìµå¿¡¼ÀÇ MySQL °ü¸®Çü MySQL __MySQL¿ë Amazon Aurora __GCP Cloud SQL °¡»ó ¸Ó½ÅÀÇ MySQL __Ŭ¶ó¿ìµåÀÇ ¸Ó½Å À¯Çü __¿Ã¹Ù¸¥ ¸Ó½Å À¯Çü ¼±Åà __¿Ã¹Ù¸¥ µð½ºÅ© À¯Çü ¼±Åà __Ãß°¡ÀûÀÎ ÆÁ ¿ä¾à 13Àå: MySQL ±ÔÁ¤ Áؼö ±ÔÁ¤ Áؼö¶õ? __¼ºñ½º Á¶Á÷ Á¦¾î À¯Çü 2(SOC 2) __»çº£Àνº-¿Á½½¸® ¹ý(SOX) __°áÁ¦ Ä«µå »ê¾÷ µ¥ÀÌÅÍ º¸¾È Ç¥ÁØ(PCI DSS) __°Ç° º¸Çè ÀÌÀü ¹× Ã¥ÀÓ¿¡ °üÇÑ ¹ý·ü(HIPAA) __¿¬¹æÁ¤ºÎ À§Çè ¹× ÀÎÁõ °ü¸® ÇÁ·Î±×·¥(FedRAMP) __°³ÀÎ Á¤º¸ º¸È£ ±ÔÁ¤(GDPR) __½´·½½º II(Schrems II) ±ÔÁ¤ Áؼö Á¦¾î¸¦ À§ÇÑ ±¸Ãà __½ÃÅ©¸´ °ü¸® __¿ªÇÒ°ú µ¥ÀÌÅÍÀÇ ºÐ¸® __º¯°æ »çÇ× ÃßÀû __¹é¾÷ ¹× º¹¿ø ÀýÂ÷ ¿ä¾à ºÎ·ÏA: MySQL ¾÷±×·¹À̵åÇϱ⠾÷±×·¹À̵带 ÇØ¾ß ÇÏ´Â ÀÌÀ¯ ¶óÀÌÇÁ »çÀÌŬ ¾÷±×·¹ÀÌµå ¾÷±×·¹À̵å Å×½ºÆ® __°³¹ß ȯ°æ Å×½ºÆ® __½Ç ¿î¿µ ¹Ì·¯¸µ __·¹Çø®Ä« __µµ±¸ »ç¿ë ´ë±Ô¸ð ¾÷±×·¹ÀÌµå ¿ä¾à ºÎ·ÏB: KubernetesÀÇ MySQL Kubernetes¸¦ ÅëÇÑ ÀÚ¿ø ÇÁ·ÎºñÀú´× __½ÅÁßÇÑ ¸ñÇ¥ ¹üÀ§ ÁöÁ¤ __ÄÁÆ®·Ñ Ç÷¹ÀÎ ¼±Åà __¼¼ºÎ »çÇ× ¿ä¾à