SQL ÂüÁ¶¼­

ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º, µ¿½Ã¼º ¹× º¹±¸

¸ðµç SQL ÇÁ·Î±×·¥Àº ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º ¶Ç´Â ¿¡ÀÌÀüÆ®ÀÇ ÀϺηΠ½ÇÇàµË´Ï´Ù.

ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º¿¡´Â Çϳª ÀÌ»óÀÇ ÇÁ·Î±×·¥ ¼öÇàÀÌ Æ÷ÇԵǸç, ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º´Â µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ ÀÚ¿ø°ú Àá±ÝÀ» ÇÒ´çÇÏ´Â ´ÜÀ§ÀÔ´Ï´Ù. ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º¿¡´Â ´Ù¸¥ ÇÁ·Î±×·¥ÀÇ ¼öÇà ¶Ç´Â °°Àº ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ¼öÇàÀÌ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.

µÑ ÀÌ»óÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º°¡ µ¿½Ã¿¡ °°Àº µ¥ÀÌÅÍÀÇ ¾×¼¼½º¸¦ ¿äûÇÒ ¼ö ÀÖ½À´Ï´Ù. Àá±ÝÀº µÎ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º°¡ µ¿½Ã¿¡ °°Àº µ¥ÀÌÅÍÇàÀ» °»½ÅÇÒ ¼ö ¾øµµ·Ï ÇÏ´Â Á¶°ÇÇÏ¿¡¼­ µ¥ÀÌÅÍ ¹«°á¼ºÀÇ À¯Áöº¸¼ö¿¡ »ç¿ëµÇ´Â ±â¹ýÀÔ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº ÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º°¡ ¼öÇàÇÑ ¾ÆÁ÷ È®¾àµÇÁö ¾ÊÀº º¯°æ»çÇ×À» ´Ù¸¥ »ç¿ëÀÚ°¡ ÆÄ¾ÇÇÏÁö ¸øÇϵµ·Ï Àá±ÝÀ» È®º¸ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º°¡ Á¾·áµÇ¸é ±× ÇÁ·Î¼¼½º ´ë½Å¿¡ È®º¸ÇÏ¿© º¸À¯ÇÑ ¸ðµç Àá±ÝÀ» ÇØÁ¦ÇÏÁö¸¸, ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º ÀÚü¿¡¼­ Àá±ÝÀ» °ð ÇØÁ¦Çϵµ·Ï ¸íÈ®ÇÏ°Ô ¿äûÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â ÀÛ¾÷ ´ÜÀ§(UOW) µ¿¾È ȹµæµÈ Àá±ÝÀ» ÇØÁ¦ÇÏ°í ¶ÇÇÑ ÀÛ¾÷ ´ÜÀ§(UOW) µ¿¾È ÃëÇØÁø µ¥ÀÌÅͺ£À̽º¸¦ È®¾àÇÏ´Â È®¾à Á¶ÀÛÀ» »ç¿ëÇÏ¿© ÇàÇØÁý´Ï´Ù.

µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ ÀÌ·ç¾îÁø È®¾àµÇÁö ¾ÊÀº º¯°æ»çÇ×À» µÇµ¹¸®´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. À̰ÍÀº ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½ºÀÇ ºÎºÐ¿¡¼­ ½ÇÆÐÇÒ °æ¿ì¿¡, ¶Ç´Â ±³Âø »óųª Àá±Ý ½Ã°£Á¾·á »óȲ¿¡¼­ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º ÀÚü¿¡µµ µ¥ÀÌÅͺ£À̽º º¯°æ»çÇ×À» µÇµ¹¸®µµ·Ï ¿äûÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ µ¿ÀÛÀ» ±¸°£ º¹¿øÀ̶ó°í ÇÕ´Ï´Ù.

ÀÛ¾÷ ´ÜÀ§(UOW: unit of work)´Â ÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º ³»¿¡¼­ º¹±¸ °¡´ÉÇÑ ÀÏ·ÃÀÇ Á¶ÀÛÀÔ´Ï´Ù. ÀÛ¾÷ ´ÜÀ§(UOW)´Â ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º°¡ ½ÃÀÛµÉ ¶§ ÃʱâÈ­µË´Ï´Ù 3 . ÀÛ¾÷ ´ÜÀ§(UOW)´Â ¶ÇÇÑ ÀÌÀüÀÇ ÀÛ¾÷ ´ÜÀ§(UOW)°¡ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½ºÀÇ Á¾·á°¡ ¾Æ´Ñ ´Ù¸¥ ÀÌÀ¯·Î Á¾·áÇßÀ» ¶§ ½ÃÀ۵DZ⵵ ÇÕ´Ï´Ù. ÀÛ¾÷ ´ÜÀ§(UOW)´Â È®¾à(commit), ±¸°£ º¹¿ø Á¶ÀÛ ¶Ç´Â ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½ºÀÇ Á¾·á·Î ÀÎÇØ ³¡³³´Ï´Ù. È®¾àÀ̳ª ±¸°£ º¹¿øÀº Á¾·áÇÑ ÀÛ¾÷ ´ÜÀ§(UOW) ³»¿¡¼­ÀÇ µ¥ÀÌÅͺ£À̽º º¯°æ»çÇ׿¡¸¸ ¿µÇâÀ» ¹ÌĨ´Ï´Ù.

ÀÌ·¯ÇÑ º¯°æ»çÇ×ÀÌ ¹ÌÈ®¾à »óÅ·Π³²¾Æ ÀÖ´Â ¹Ý¸é, ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º´Â ±× º¯°æ»çÇ×À» ÀνÄÇÒ ¼ö ¾ø¾î¼­ º¯°æ»çÇ×ÀÌ ¹é¾Æ¿ôµÉ ¼ö ÀÖ½À´Ï´Ù. 4 ÀÏ´Ü È®¾àµÇ¸é, ÀÌ·¯ÇÑ µ¥ÀÌÅͺ£À̽º º¯°æ»çÇ׿¡ ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º°¡ ¾×¼¼½ºÇÒ ¼ö ÀÖÀ¸¸ç ´õ ÀÌ»ó ±¸°£ º¹¿ø¿¡ ÀÇÇØ µÇµ¹¸± ¼ö ¾ø½À´Ï´Ù.

ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º ´ë½Å µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥¿¡ ÀÇÇØ È®º¸µÈ Àá±ÝÀº ÀÛ¾÷ ´ÜÀ§(UOW)°¡ Á¾·áÇÒ ¶§±îÁö º¸·ùµË´Ï´Ù. ÀÌ ±ÔÄ¢¿¡ ´ëÇÑ ¿¹¿Ü´Â, Çà »çÀÌ¿¡ Ä¿¼­°¡ À̵¿µÉ ¶§ Àá±ÝÀÌ ÇØÁ¦µÇ´Â Ä¿¼­ ¾ÈÁ¤¼º(CS) ºÐ¸® ·¹º§°ú, Àá±ÝÀÌ È®º¸µÇÁö ¾Ê´Â ¹ÌÈ®¾à Àб⠷¹º§ÀÔ´Ï´Ù(ºÐ¸® ·¹º§ ÂüÁ¶).

ÀÛ¾÷ ´ÜÀ§(UOW)ÀÇ ½ÃÀÛ°ú Á¾·á´Â ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º ³»¿¡¼­ÀÇ Àϰü¼º ÁöÁ¡À» Á¤ÀÇÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, ÀºÇà °Å·¡¿¡´Â ÇÑ ±¸Á¿¡¼­ ´Ù¸¥ ±¸Á·ÎÀÇ ÀÚ±Ý ÀÌü°¡ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.

±×¸² 1. È®¾à ¸í·É¹®ÀÌ ÀÖ´Â ÀÛ¾÷ ´ÜÀ§(UOW)


REQTEXT

±×·¯ÇÑ °Å·¡¿¡´Â ÀÌ·¯ÇÑ ÀÚ±ÝÀÌ Ã¹¹øÂ° ±¸Á¿¡¼­ »èÁ¦µÇ¾î µÎ ¹øÂ° ±¸Á·ΠÃß°¡µÇ¾î¾ß ÇÕ´Ï´Ù.

±×¸² 2. ±¸°£ º¹¿ø ¹®ÀÌ ÀÖ´Â ÀÛ¾÷ ´ÜÀ§(UOW)


REQTEXT

»¬¼À °úÁ¤ ´ÙÀ½¿¡, µ¥ÀÌÅÍ´Â Àϰü¼ºÀÌ ¾ø°Ô µË´Ï´Ù. ÀÚ±ÝÀÌ µÎ ¹øÂ° ±¸Á¿¡ Ãß°¡µÇ°í ³­ ÈÄ¿¡¾ß Àϰü¼ºÀÌ ´Ù½Ã »ý±é´Ï´Ù. µÎ °úÁ¤ÀÌ ¿Ï·áµÇ¸é, È®¾à Á¶ÀÛÀÌ ÀÛ¾÷ ´ÜÀ§(UOW)¸¦ Á¾·áÇÏ´Â µ¥ »ç¿ëµÇ°í, µû¶ó¼­, ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º¿¡¼­ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÛ¾÷ ´ÜÀ§(UOW)°¡ Á¾·áµÇ±â Àü¿¡ ½ÇÆÐÇÏ´Â °æ¿ì, µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº È®¾àµÇÁö ¾ÊÀº º¯°æ»çÇ×À» ±¸°£º¹¿øÇÏ¿© ÀÛ¾÷ ´ÜÀ§ ½ÃÀ۽à Á¸ÀçÇß´Ù°í »ý°¢µÇ´Â µ¥ÀÌÅÍÀÇ Àϰü¼ºÀ» º¹¿øÇÕ´Ï´Ù.
ÁÖ:ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º´Â ÀÚüÀÇ °íÀ¯ÇÑ Àá±ÝÀ¸·Î ÀÎÇØ Á¶ÀÛÀ» ¼öÇàÇÏ´Â °ÍÀ» ±ÝÁöÇÒ ¼ö ¾ø½À´Ï´Ù. 5


°¢ÁÖ:

3
DB2 CLI ¹× Embedded SQLÀº ´ÙÁß ¿¬°á(°¢°¢ µ¶¸³ÀûÀÎ Æ®·£Àè¼ÇÀÓ)À» Áö¿øÇÏ´Â µ¿½Ã Æ®·£Àè¼ÇÀ̶ó°í ÇÏ´Â ¿¬°á ¸ðµå¸¦ Áö¿øÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥Àº µ¿ÀÏÇÑ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ¿©·¯ °³ÀÇ µ¿½ÃÀûÀÎ ¿¬°áÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù. ´ÙÁß ½º·¹µå µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×Àº ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

4
ºÐ¸® ·¹º§ ¹ÌÈ®¾à ÀбâÀ» Á¦¿ÜÇϰí, ¹ÌÈ®¾à Àбâ(UR, Uncommitted Read)¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.

5
ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¿½ÃÀûÀÎ Æ®·£Àè¼ÇÀ» »ç¿ëÇÒ °æ¿ì, ÇÑ Æ®·£Àè¼ÇÀÇ Àá±ÝÀÌ µ¿½Ã Æ®·£Àè¼ÇÀÇ Á¶ÀÛ¿¡ ¿µÇâÀ» ÁÙ ¼öµµ ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]