°ü¸® ¾È³»¼­


µ¿½Ã¼º

°ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼­ µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀº ´ÙÁß »ç¿ëÀÚ°¡ µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇÏ°í º¯°æÇÒ ¶§ À¯Áöº¸¼öµÇ¾î¾ß ÇÕ´Ï´Ù. µ¿½Ã¼ºÀº ´ÙÁß »óÈ£ ÀÛ¿ëÇÏ´Â »ç¿ëÀÚ ¶Ç´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ µ¿½Ã¿¡ ÀÚ¿øÀ» °øÀ¯ÇÏ´Â °ÍÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº ¿¹±âÄ¡ ¾ÊÀº °á°úÀÇ ¹ß»ýÀ» ¸·±â À§ÇØ ÀÌ ¾×¼¼½º¸¦ Á¦¾îÇÕ´Ï´Ù.

ºÐ¸® ·¹º§Àº µ¥ÀÌÅͰ¡ ¾×¼¼½ºÁßÀÎ ´Ù¸¥ ÇÁ·Î¼¼½º·ÎºÎÅÍ µ¥ÀÌÅͰ¡ Àá±ÝµÈ ¶Ç´Â ºÐ¸®µÈ ¹æ½ÄÀ» °áÁ¤ÇÕ´Ï´Ù. ºÐ¸® ·¹º§Àº ÀÛ¾÷ ´ÜÀ§(UOW) ½Ã°£¿¡ ´ëÇØ À¯È¿ÇÕ´Ï´Ù. WITH HOLDÀýÀ» »ç¿ëÇÏ¿© ¼³Á¤µÈ Ä¿¼­¸¦ »ç¿ëÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥Àº OPEN CURSOR°¡ ½ÇÇàµÇ´Â ÀÛ¾÷ ´ÜÀ§(UOW) ½Ã°£¿¡ ´ëÇØ ¼±ÅÃµÈ ºÐ¸® ·¹º§À» À¯ÁöÇÕ´Ï´Ù. SQL ÂüÁ¶¼­ ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ. ºÐ¸® ·¹º§ÀÇ ÁöÁ¤ ¹æ¹ý¿¡ ´ëÇØ¼­´Â ºÐ¸® ·¹º§ ÁöÁ¤¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

DB2´Â ´ÙÀ½°ú °°Àº ºÐ¸® ·¹º§À» Áö¿øÇÕ´Ï´Ù.

(ÀϺΠDRDA µ¥ÀÌÅͺ£À̽º ¼­¹ö´Â È®¾à ¾ø´Â ºÐ¸® ·¹º§À» Áö¿øÇÕ´Ï´Ù. ±âŸ µ¥ÀÌÅͺ£À̽ºÀÇ °æ¿ì, ¹ÌÈ®¾à Àб⠺и® ·¹º§°ú °°ÀÌ ÀÛµ¿ÇÕ´Ï´Ù. ÀÌ ºÐ¸® ·¹º§¿¡ °üÇÑ Á¤º¸´Â SQL ÂüÁ¶¼­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ).

¶ÇÇÑ ´ÙÀ½ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

ÇϳªÀÇ ¸í·É¹®¿¡¼­ µÑ ÀÌ»óÀÇ µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛ(DBMS) ¶Ç´Â µ¥ÀÌÅͺ£À̽º¸¦ ÂüÁ¶ÇÏ´Â SQL¹®À» Á¦ÃâÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥°ú »ç¿ëÀÚ¸¦ Áö¿øÇÏ´Â ¿¬ÇÕ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡¼­ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. DB2 ¿¬ÇÕ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀº µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®¿¡ ´ëÇØ À§Ä¡ Åõ¸í¼ºÀ» Á¦°øÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Å×ÀÌºí ¹× ºä¿¡ ´ëÇÑ Á¤º¸°¡ À̵¿Çϸé, ÇØ´ç Á¤º¸¿¡ ´ëÇÑ ÂüÁ¶(º°¸íÀ̶ó°í ÇÔ)´Â Á¤º¸¸¦ ¿äûÇÑ ÀÀ¿ëÇÁ·Î±×·¥À» º¯°æÇÏÁö ¾Ê°íµµ °»½ÅµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÌ º°¸í¿¡ ¾×¼¼½ºÇÒ ¶§, DB2´Â µ¥ÀÌÅÍ ¼Ò½º µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÇ µ¿½Ãó¸® Á¦¾î ÇÁ·ÎÅäÄÝ¿¡ ÀÇÁ¸ÇÏ¿© ºÐ¸® ·¹º§À» È®ÀÎÇÕ´Ï´Ù(µ¥ÀÌÅÍ ¼Ò½º´Â DBMS ¹× µ¥ÀÌÅÍ·Î ±¸¼ºµË´Ï´Ù). DB2´Â ³í¸®ÀûÀ¸·Î µ¿µîÇÑ µ¥ÀÌÅÍ ¼Ò½º¿¡¼­ ¿äûµÈ ºÐ¸® ·¹º§°ú ÀÏÄ¡½ÃŰ·Á°í ÇÏÁö¸¸, °á°ú´Â µ¥ÀÌÅÍ ¼Ò½º ȣȯ¼º¿¡ µû¶ó º¯ÇÕ´Ï´Ù. º°¸í¿¡ ¾×¼¼½ºÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥ ¾²±â¿¡ °üÇÑ Á¤º¸´Â ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­ ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

°¢ ºÐ¸® ·¹º§¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ¼º´É ¿µÇâÀÌ ³·¾ÆÁö´Â ¼ø¼­·Î, ÇÏÁö¸¸ µ¥ÀÌÅÍ¿¡ ¾×¼¼½ºÇÏ¿© °»½ÅÇÒ ¶§ ¿ä±¸µÇ´Â ÁÖÀǰ¡ Ä¿Áö´Â ¼ø¼­·Î ³ª¿É´Ï´Ù.

¹Ýº¹ Àбâ(RR)

¹Ýº¹ Àбâ(RR)´Â ÀÛ¾÷ ´ÜÀ§(UOW) ¾È¿¡¼­ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÂüÁ¶ÇÏ´Â ¸ðµç ÇàÀ» Àá±Þ´Ï´Ù. ¹Ýº¹ Àбâ(RR)¸¦ »ç¿ëÇÏ¿©, Ä¿¼­°¡ ¿­¸° ÀÛ¾÷ ´ÜÀ§(UOW) ¾È¿¡¼­ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ µÎ ¹ø ½ÇÇàµÈ SELECT¹®Àº ¸Å¹ø °°Àº °á°ú¸¦ °¡Á®¿É´Ï´Ù. ¹Ýº¹ Àбâ(RR)¸¦ »ç¿ëÇÑ À¯½ÇµÈ °»½Å, È®¾àµÇÁö ¾ÊÀº µ¥ÀÌÅÍ·ÎÀÇ ¾×¼¼½º, phantom ÇàÀº °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù.

¹Ýº¹ Àбâ(RR) ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÛ¾÷ ´ÜÀ§(UOW)°¡ ¿Ï·áÇÒ ¶§±îÁö ÇÊ¿äÇÑ ½Ã°£ ¸¸Å­ÀÇ Çà¿¡¼­ °Ë»öÇϰí Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÛ¾÷ ´ÜÀ§(UOW)°¡ ¿Ï·áÇÒ ¶§±îÁö °á°ú Å×ÀÌºí¿¡ ¿µÇâÀ» ÁÖ´Â ÇàÀ» °»½Å, »èÁ¦Çϰųª »ðÀÔÇÒ ¼ö ¾ø½À´Ï´Ù. ¹Ýº¹ Àбâ(RR) ÀÀ¿ëÇÁ·Î±×·¥Àº ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ È®¾àµÇÁö ¾ÊÀº º¯°æ»çÇ×À» º¼ ¼ö ¾ø½À´Ï´Ù.

¹Ýº¹ Àбâ(RR)¸¦ ÅëÇÏ¿©, ÂüÁ¶µÈ ¸ðµç ÇàÀº °Ë»öµÈ Çà°ú´Â ´Ù¸£°Ô Àá±ÝÀÌ µË´Ï´Ù. ÀûÇÕÇÑ Àá±ÝÀÌ ½ÇÇàµÇ¾î ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥Àº »ç¿ëÀÚ Á¶È¸¿¡ ÀÇÇØ Ãß°¡µÈ ÇàÀ» Á¶È¸°¡ Àç½ÇÇàµÇ´Â °æ¿ì¿¡ »ðÀÔÇϰųª °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¸°Ô Çϸé, phantom ÇàÀº ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù. 10 000 ÇàÀ» ½ºÄµÇÏ°í ¼ú¾î¸¦ ÀÌ Çà¿¡ Àû¿ëÇÏ´Â °æ¿ì, 10 ÇุÀÌ ±ÔÁ¤µÇ¶óµµ ¸ðµç 10 000 Çà¿¡¼­ Àá±ÝÀ» º¸À¯ÇÕ´Ï´Ù.
ÁÖ:¹Ýº¹ Àбâ(RR) ºÐ¸® ·¹º§À» ÅëÇØ, ¸ðµç ¸®ÅÏµÈ µ¥ÀÌÅÍ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅ͸¦ º¸°í, ºñ·Ï Àӽà Å×À̺íÀ̳ª Çà ºí·ÎÅ·ÀÌ »ç¿ëµÇ´õ¶óµµ º¯°æµÇÁö ¾ÊÀº »óÅ·Π³²¾Æ ÀÖ½À´Ï´Ù.

¹Ýº¹ Àбâ(RR)´Â ¸¹Àº Àá±Ý ¼ö¸¦ ÇÊ¿ä·Î ÇÏ°í º¸À¯Çϱ⠶§¹®¿¡, ÀÌ·¯ÇÑ Àá±ÝÀº locklist ¹× maxlocks ±¸¼º ¸Å°³º¯¼öÀÇ °á°ú·Î¼­ »ç¿ë °¡´ÉÇÑ Àá±Ý ¼ö¸¦ ÃʰúÇÕ´Ï´Ù. (ÀÚµ¿ ¾÷±×·¹À̵å ÀüÀÇ ÃÖ´ë Àá±Ý ¸ñ·Ï ºñÀ²(maxlocks) ¹× ÃÖ´ë Àá±Ý ¸ñ·Ï ÀúÀå(locklist)¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ). ÃÖÀûÈ­ ¾Ë°í¸®ÁòÀº Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵带 ¹æÁöÇϱâ À§ÇØ Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵尡 ÀϾ °Í °°Àº °æ¿ì »öÀÎ ½ºÄµ¿ë ´ÜÀÏ Å×À̺í Àá±ÝÀ» Áï½Ã È®º¸Çϵµ·Ï ¼±ÅÃÇÕ´Ï´Ù(Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵åÀÇ ¼³¸íÀº Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵忡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ). µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚ ´ë½ÅÀ¸·Î LOCK TABLE¹®À» ³ªÅ¸³»´Â °æ¿ì¿¡ ÀÛµ¿ÇÕ´Ï´Ù. ¾ò¾îÁø Å×ÀÌºí ·¹º§ Àá±ÝÀ» ¿øÇÏÁö ¾ÊÀ¸¸é, Æ®·£Àè¼Ç¿¡¼­ »ç¿ë °¡´ÉÇÑ ÃæºÐÇÑ Àá±ÝÀÌ ÀÖ´ÂÁö È®ÀÎÇϰųª "Àб⠾ÈÁ¤¼º" ºÐ¸® ·¹º§À» »ç¿ëÇϽʽÿÀ.

Àб⠾ÈÁ¤¼º

Àб⠾ÈÁ¤¼º(RS)Àº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÛ¾÷ ´ÜÀ§(UOW) ¾È¿¡¼­ °Ë»öÇÏ´Â ÇุÀ» Àá±Þ´Ï´Ù. ÀÛ¾÷ ´ÜÀ§(UOW) Áß ¸ðµç ±ÔÁ¤ Çà Àбâ´Â ÀÛ¾÷ ´ÜÀ§(UOW)°¡ ¿Ï·áµÇÁö ¾ÊÀ» ¶§±îÁö ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ º¯°æµÇÁö ¾Ê½À´Ï´Ù. ±×¸®°í, ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ º¯°æµÈ ÇàÀº º¯°æ»çÇ×ÀÌ ÇØ´ç ÇÁ·Î¼¼½º¿¡ ÀÇÇØ È®¾àµÉ ¶§±îÁö ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. Áï, "Àб⠺Ұ¡´É" ÀÛµ¿Àº °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù.

¹Ýº¹ Àбâ(RR)¿Í´Â ´Þ¸®, Àб⠾ÈÁ¤¼ºÀ» ÅëÇØ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µÎ ¹ø ÀÌ»ó °°Àº Á¶È¸¸¦ ³ªÅ¸³»´Â °æ¿ì, Ãß°¡ phantom Çà(phantom Àбâ Çö»ó)À» º¼ ¼ö ÀÖ½À´Ï´Ù. 10 000ÇàÀ» ½ºÄµÇÏ´Â ¿¹¸¦ ÀçÈ£ÃâÇϸé, Àб⠾ÈÁ¤¼ºÀº ±ÔÁ¤ÇÏ´Â ÇุÀ» Àá±Þ´Ï´Ù. ±×·¯¹Ç·Î, Àб⠾ÈÁ¤¼ºÀ» ÅëÇØ 10ÇุÀÌ °Ë»öµÇ°í ÀÌ 10Çà¿¡¼­ Àá±ÝÀÌ º¸À¯µË´Ï´Ù. ÀÌ ¿¹ÀÇ ³»¿ëÀÎ, Àá±ÝÀÌ 10 000Çà ¸ðµÎ¿¡¼­ º¸À¯µÇ´Â ¹Ýº¹ Àбâ(RR)¿Í ´ëÁ¶ÇϽʽÿÀ. º¸À¯µÈ Àá±ÝÀº °øÀ¯ »óÅÂ, ´ÙÀ½ °øÀ¯ »óÅÂ, °»½Å ¶Ç´Â µ¶Á¡Àû Àá±ÝÀÏ ¼ö ÀÖ½À´Ï´Ù. (Àá±Ý ¼Ó¼º¿¡ ´ëÇØ¼­´Â Àá±Ý ¼Ó¼º¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ).
ÁÖ:Àб⠾ÈÁ¤¼º ºÐ¸® ·¹º§À» ÅëÇØ, ¸ðµç ¸®ÅÏµÈ µ¥ÀÌÅÍ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅ͸¦ º¸°í, ºñ·Ï Àӽà Å×À̺íÀ̳ª Çà ºí·ÎÅ·ÀÌ »ç¿ëµÇ´õ¶óµµ º¯°æµÇÁö ¾ÊÀº »óÅ·Π³²¾Æ ÀÖ½À´Ï´Ù.

Àб⠾ÈÁ¤¼º ºÐ¸® ·¹º§ÀÇ ¸ñÀû Áß Çϳª´Â µ¥ÀÌÅÍÀÇ ¾ÈÁ¤Àû ºä»Ó¸¸ ¾Æ´Ï¶ó ³ôÀº µ¿½Ã 󸮸¦ ¸ðµÎ Á¦°øÇÕ´Ï´Ù. ÀÌ ¸ñÀûÀ» ¾ò±â À§ÇØ, ÃÖÀûÈ­ ¾Ë°í¸®Áò¿¡¼­´Â Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵尡 ÀϾ ¶§±îÁö Å×ÀÌºí ·¹º§ Àá±ÝÀ» ¾òÀ» ¼ö ¾ø½À´Ï´Ù. Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵忡 ´ëÇØ¼­´Â Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵忡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

Àб⠾ÈÁ¤¼º ºÐ¸® ·¹º§Àº ´ÙÀ½À» ¸ðµÎ Æ÷ÇÔÇÑ ÀÀ¿ëÇÁ·Î±×·¥¿¡ °¡Àå ÀûÇÕÇÕ´Ï´Ù.

Ä¿¼­ ¾ÈÁ¤¼º(CS)

Ä¿¼­ ¾ÈÁ¤¼º(CS)Àº Ä¿¼­°¡ Çà¿¡ À§Ä¡ÇÏ´Â µ¿¾È ÀÀ¿ëÇÁ·Î±×·¥ÀÇ Æ®·£Àè¼Ç¿¡ ÀÇÇØ ¾×¼¼½ºµÈ ¸ðµç ÇàÀ» Àá±Þ´Ï´Ù. ÀÌ Àá±ÝÀº ´ÙÀ½ ÇàÀÌ ÆäÄ¡µÇ°Å³ª Æ®·£Àè¼ÇÀÌ Á¾·áµÉ ¶§±îÁö À¯È¿ÇÑ »óÅ·Π³²¾Æ ÀÖ½À´Ï´Ù. ±×·¯³ª ÇàÀÇ µ¥ÀÌÅͰ¡ º¯°æµÈ °æ¿ì, Àá±ÝÀº º¯°æ»çÇ×ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ È®¾àµÉ ¶§±îÁö º¸À¯µÇ¾î¾ß ÇÕ´Ï´Ù.

´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥Àº, °»½Å °¡´ÉÇÑ Ä¿¼­°¡ Çà¿¡ À§Ä¡ÇÏ´Â µ¿¾È Ä¿¼­ ¾ÈÁ¤¼º(CS) ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °Ë»öÇÑ ÇàÀ» °»½ÅÇϰųª »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù. Ä¿¼­ ¾ÈÁ¤¼º(CS) ÀÀ¿ëÇÁ·Î±×·¥Àº ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ È®¾àµÇÁö ¾ÊÀº º¯°æ»çÇ×À» º¼ ¼ö ¾ø½À´Ï´Ù.

Ä¿¼­ ¾ÈÁ¤¼º(CS)À» »ç¿ëÇÏ´Â °æ¿ì, 10 000ÇàÀ» ½ºÄµÇÏ´Â ¿¹¸¦ ÀçÈ£ÃâÇϸé, ÇöÀçÀÇ Ä¿¼­ À§Ä¡ ¾Æ·¡ Çà¿¡ Àá±Ý¸¸ ÀÖ°Ô µË´Ï´Ù. ÇØ´ç ÇàÀ» »èÁ¦ÇÏ´Â °æ¿ì(ÇØ´ç ÇàÀ» °»½ÅÇÏÁö ¾Ê´Â °æ¿ì) Àá±ÝÀº Á¦°ÅµË´Ï´Ù.

Ä¿¼­ ¾ÈÁ¤¼º(CS)À» ÅëÇØ, ¹Ýº¹ ºÒ°¡´É Àбâ¿Í phantom Àбâ Çö»ó ¸ðµÎ °¡´ÉÇÕ´Ï´Ù. Ä¿¼­ ¾ÈÁ¤¼º(CS)Àº ±âº» ºÐ¸® ·¹º§À̰í, ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥À¸·ÎºÎÅÍÀÇ È®¾àµÈ ÇàÀ» º¸´Â µ¿¾È ÃÖ´ëÀÇ µ¿½Ã¼ºÀ» ¿øÇÏ´Â °æ¿ì »ç¿ëµÇ¾î¾ß ÇÕ´Ï´Ù.

¹ÌÈ®¾à Àбâ

¹ÌÈ®¾à Àбâ(UR)¸¦ »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥Àº ´Ù¸¥ Æ®·£Àè¼ÇÀÇ È®¾àµÇÁö ¾ÊÀº º¯°æ»çÇ×À» ¾×¼¼½ºÇÕ´Ï´Ù. ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Å×À̺íÀ» »èÁ¦Çϰųª º¯°æÇÏÁö ¾ÊÀ¸¸é, ÀÀ¿ëÇÁ·Î±×·¥Àº Àд ÁßÀÎ ÇàÀÇ ¹ÛÀ¸·Î ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥À» Àá±×Áö ¾Ê½À´Ï´Ù. ¹ÌÈ®¾à Àбâ´Â Àбâ Àü¿ë Ä¿¼­¿Í °»½Å °¡´ÉÇÑ Ä¿¼­¿¡¼­´Â ´Ù¸£°Ô ÀÛ¾÷ÇÕ´Ï´Ù.

Àбâ Àü¿ë Ä¿¼­´Â ´Ù¸¥ Æ®·£Àè¼ÇÀÇ È®¾àµÇÁö ¾ÊÀº º¯°æ»çÇ×À» ´ëºÎºÐ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ´Ù¸¥ Æ®·£Àè¼Ç¿¡ ÀÇÇØ ÀÛ¼ºµÇ°Å³ª »èÁ¦ÁßÀÎ Å×À̺í, ºä, »öÀÎÀº Æ®·£Àè¼ÇÀÌ Ã³¸®ÁßÀÎ µ¿¾È¿¡´Â »ç¿ë °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¥ Æ®·£Àè¼Ç¿¡ ÀÇÇÑ º¯°æ»çÇ×Àº È®¾àµÇ°Å³ª ±¸°£ º¹¿øµÇ±â Àü¿¡ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.
ÁÖ:¹ÌÈ®¾à Àб⠺и® ·¹º§ ¾Æ·¡¿¡¼­ Á¶ÀÛÁßÀÎ °»½Å °¡´ÉÇÑ Ä¿¼­´Â ¸¶Ä¡ ºÐ¸® ·¹º§ÀÌ Ä¿¼­ ¾ÈÁ¤¼º(CS)ÀÎ °Íó·³ ÀÛµ¿ÇÕ´Ï´Ù.

¹ÌÈ®¾à Àб⸦ »ç¿ëÇÏ´Â °æ¿ì 10 000ÇàÀ» ½ºÄµÇÏ´Â ¿¹¸¦ ÀçÈ£ÃâÇϸé, Çà Àá±ÝÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.

¹ÌÈ®¾à Àб⸦ ÅëÇØ, ¹Ýº¹ ºÒ°¡´É Àбâ Ȱµ¿°ú phantom Àбâ Çö»ó ¸ðµÎ °¡´ÉÇÕ´Ï´Ù.

¹ÌÈ®¾à Àб⠺и® ·¹º§Àº Àбâ Àü¿ë Å×ÀÌºí¿¡ ´ëÇÑ Á¶È¸¿¡ ¶Ç´Â ¼±Åù®¸¸ ½ÇÇàÇÏ°í ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥·ÎºÎÅÍ È®¾àµÇÁö ¾ÊÀº µ¥ÀÌÅ͸¦ º¸´Â °ÍÀ» ½Å°æ ¾²Áö ¾Ê´Â °æ¿ì¿¡ ÀϹÝÀûÀ¸·Î °¡Àå ¸¹ÀÌ »ç¿ëµË´Ï´Ù.

ºÐ¸® ·¹º§ ¼±ÅÃ

Ç¥ 36¿¡¼­´Â ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­ ¸Å´º¾ó¿¡ ¼³¸íµÈ ¿øÇÏÁö ¾Ê´Â °á°ú¿¡ ÀÇÇÑ ´Ù¸¥ ºÐ¸® ·¹º§À» ¿ä¾àÇÕ´Ï´Ù.

Ç¥ 36. ºÐ¸® ·¹º§ ¿ä¾à
ºÐ¸® ·¹º§ È®¾àµÇÁö ¾ÊÀº µ¥ÀÌÅÍ·ÎÀÇ ¾×¼¼½º ¹Ýº¹ ºÒ°¡´É Àбâ phantom Àбâ Çö»ó
¹Ýº¹ Àбâ(RR) °¡´ÉÇÏÁö ¾ÊÀ½ °¡´ÉÇÏÁö ¾ÊÀ½ °¡´ÉÇÏÁö ¾ÊÀ½
Àб⠾ÈÁ¤¼º(RS) °¡´ÉÇÏÁö ¾ÊÀ½ °¡´ÉÇÏÁö ¾ÊÀ½ °¡´ÉÇÔ
Ä¿¼­ ¾ÈÁ¤¼º(CS) °¡´ÉÇÏÁö ¾ÊÀ½ °¡´ÉÇÔ °¡´ÉÇÔ
¹ÌÈ®¾à Àбâ(UR) °¡´ÉÇÔ °¡´ÉÇÔ °¡´ÉÇÔ

Ç¥ 37¿¡¼­´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇØ ½ÃÀÛ ºÐ¸® ·¹º§ ¼±Åÿ¡ µµ¿òÀÌ µÇ´Â °£´ÜÇÑ °æÇè(heuristic)À» ¼³¸íÇÕ´Ï´Ù. ÀÌ Å×À̺íÀ» ½ÃÀÛÁ¡À¸·Î °£ÁÖÇϸç, »ç¿ëÀÚÀÇ ¿ä±¸»çÇ׿¡ ´õ ÀûÇÕÇÑ ´Ù¸¥ °ªÀÌ µÇ´Â Àμö¿¡ ´ëÇÑ ´Ù¾çÇÑ ·¹º§ÀÇ ÀÌÀü ³íÀǸ¦ ÂüÁ¶ÇϽʽÿÀ.


Ç¥ 37. ºÐ¸® ·¹º§ ¼±Åà Áöħ
ÀÀ¿ëÇÁ·Î±×·¥ À¯Çü ÇÊ¿äÇÑ ³ôÀº µ¥ÀÌÅÍ ¾ÈÁ¤¼º ÇÊ¿äÇÏÁö ¾ÊÀº ³ôÀº µ¥ÀÌÅÍ ¾ÈÁ¤¼º
Àб⠾²±â Æ®·£Àè¼Ç RS CS
Àбâ Àü¿ë Æ®·£Àè¼Ç RR ¶Ç´Â RS UR

ÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇÑ ÀûÇÕÇÑ ºÐ¸® ·¹º§À» ¼±ÅÃÇÏ´Â °ÍÀº ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ Çã¿ëµÇÁö ¾Ê´Â Çö»óÀ» ÇÇÇϱâ À§ÇØ ¸Å¿ì Áß¿äÇÕ´Ï´Ù. ºÐ¸® ·¹º§Àº ÀÀ¿ëÇÁ·Î±×·¥°£ÀÇ ºÐ¸® ·¹º§ Á¤µµ»Ó¸¸ ¾Æ´Ï¶ó, Àá±ÝÀ» ¾ò°í ÇØÁ¦ÇÏ´Â µ¥ ÇÊ¿äÇÑ CPU¿Í ¸Þ¸ð¸® ÀÚ¿øÀÌ ºÐ¸® ·¹º§¿¡ µû¶ó ´Þ¶óÁö¹Ç·Î °³º° ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼º´É Ư¼º¿¡µµ ¿µÇâÀ» ÁÝ´Ï´Ù. ¶ÇÇÑ, ÀáÀçÀûÀÎ ±³Âø »óŵµ ºÐ¸® ·¹º§¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù.

ºÐ¸® ·¹º§ ÁöÁ¤

ºÐ¸® ·¹º§Àº »çÀü ó¸® ÄÄÆÄÀÏ ½Ã°£À̳ª ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ ¹ÙÀεåµÉ ¶§ ÁöÁ¤µË´Ï´Ù. Áö¿øµÈ ÄÄÆÄÀÏ ¾ð¾î·Î ¾´ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ °æ¿ì, ¸í·ÉÇà 󸮱â PREP ¶Ç´Â BIND ¸í·ÉÀÇ ISOLATION ¿É¼ÇÀ» »ç¿ëÇϽʽÿÀ. ºÐ¸® ·¹º§Àº PREP ¶Ç´Â BIND API¸¦ »ç¿ëÇÏ¿© ÁöÁ¤µÉ ¼öµµ ÀÖ½À´Ï´Ù. ÁöÁ¤µÈ ºÐ¸® ·¹º§ÀÌ ¾ø´Â °æ¿ì, Ä¿¼­ ¾ÈÁ¤¼º(CS)ÀÇ ±âº»°ªÀÌ »ç¿ëµË´Ï´Ù.

¹ÙÀÎµå ÆÄÀÏÀÌ »çÀü ó¸® ÄÄÆÄÀÏ ½Ã°£¿¡ ÀÛ¼ºµÈ °æ¿ì, ºÐ¸® ·¹º§Àº ¹ÙÀÎµå ÆÄÀÏ¿¡ ÀúÀåµË´Ï´Ù. ºÐ¸® ·¹º§ÀÌ ¹ÙÀÎµå ½Ã°£¿¡ ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì, ±âº»°ªÀº »çÀü ó¸® ÄÄÆÄÀÏ µ¿¾È »ç¿ëµÈ ºÐ¸® ·¹º§ÀÔ´Ï´Ù.

´ÙÀ½ Á¶È¸¸¦ ½ÇÇàÇÏ¿© ÆÐŰÁöÀÇ ºÐ¸® ·¹º§À» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

     SELECT ISOLATION FROM SYSCAT.PACKAGES
       WHERE PKGNAME = 'XXXXXXXX'
       AND PKGSCHEMA = 'YYYYYYYY'

¿©±â¼­ XXXXXXXX´Â ÆÐŰÁö À̸§À̸ç, YYYYYYYY´Â ÆÐŰÁöÀÇ ½ºÅ°¸¶ À̸§ÀÔ´Ï´Ù. À̸§Àº ¸ðµÎ ´ë¹®ÀÚ¿©¾ß ÇÕ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º°¡ ÀÛ¼ºµÈ °æ¿ì, REXXÀÇ SQL¿ë ´Ù¸¥ ºÐ¸® ·¹º§À» Áö¿øÇÏ´Â µ¥ »ç¿ëµÈ ´ÙÁß ¹ÙÀÎµå ÆÄÀÏÀº µ¥ÀÌÅͺ£À̽º(REXX¸¦ Áö¿øÇÏ´Â ÇØ´ç ¼­¹ö¿¡¼­)·Î ¹ÙÀεåµË´Ï´Ù. ¶ÇÇÑ, µ¥ÀÌÅͺ£À̽º°¡ ÀÛ¼ºµÉ ¶§ ´Ù¸¥ ¸í·ÉÇà ÆÐŰÁöµµ µ¥ÀÌÅͺ£À̽º¿¡ ¹ÙÀεåµË´Ï´Ù. ¹ÙÀÎµå ÆÄÀÏ¿¡ ´ëÇØ¼­´Â ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

REXX¿Í ¸í·ÉÇà 󸮱â´Â Ä¿¼­ ¾ÈÁ¤¼º(CS)ÀÇ ±âº» ºÐ¸® ·¹º§À» »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º·Î ¿¬°áÇÕ´Ï´Ù. ´Ù¸¥ ºÐ¸® ·¹º§ º¯°æÀº ¿¬°á »óŸ¦ º¯°æÇÏÁö ¾Ê½À´Ï´Ù. CONNECTABLE AND UNCONNECTED »óÅ ¶Ç´Â IMPLICITLY CONNECTABLE »óÅ¿¡¼­ ½ÇÇàµÇ¾î¾ß ÇÕ´Ï´Ù(¿¬°á »óÅ¿¡ °üÇÑ ¼¼ºÎ»çÇ×Àº SQL ÂüÁ¶¼­ÀÇ CONNECT TO¹®¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ). ÀÌ ¸í·ÉÀ» ¹ßÇàÇÒ °æ¿ì, »ç¿ëÀÚ´Â µ¥ÀÌÅͺ£À̽º·Î ¿¬°áµÉ ¼ö ¾ø½À´Ï´Ù.

»ç¿ëÁßÀÎ ºÐ¸® ·¹º§Àº SQLISL REXX º¯¼ö °ªÀ» È®ÀÎÇÏ¿© REXX ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ Á¡°ËµÉ ¼ö ÀÖ½À´Ï´Ù. CHANGE SQLISL ¸í·ÉÀÌ ½ÇÇàµÉ ¶§¸¶´Ù °ªÀº °»½ÅµË´Ï´Ù.

DB2_RR_TO_RS ÇÁ·ÎÆÄÀÏ ·¹Áö½ºÆ®¸® º¯¼ö¸¦ »ç¿ëÇÏ¿© user table¿¡ ´ëÇÑ ¹Ýº¹ Àбâ(RR) ºÐ¸® ·¹º§ ¾×¼¼½º¸¦ ¹æÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ·¹Áö½ºÆ®¸® °ªÀº RR ºÐ¸®(isolation) Àǹ̰¡ ÇÊ¿äÇÏÁö ¾ÊÀº ȯ°æ¿¡¼­ db2set¸¦ »ç¿ëÇÏ¿© "YES"·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¯¼ö°¡ À¯È¿ÇØÁö·Á¸é, µ¥ÀÌÅͺ£À̽º¸¦ ÁßÁöÇÏ°í ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. db2start¿¡ À̾î ÀÌ º¯°æ»çÇ×Àº Àüü ÀνºÅϽº¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù. ·¹Áö½ºÆ®¸® °ªÀ» ¼³Á¤ÇÏ°í ³ª¼­, RRÀ» »ç¿ëÇÏ¿© user table¿¡ ¾×¼¼½ºÇÏ´Â ¿äûÀ» ¹ÞÀ¸¸é, ´ë½Å RS(Read Stability) ºÐ¸® ·¹º§À» »ç¿ëÇϵµ·Ï ¿äûÀÌ ³»ºÎÀûÀ¸·Î ¼öÁ¤µË´Ï´Ù. ÀÌ °æ¿ì, °æ°í°¡ Á¦°øµÇÁö ¾Ê½À´Ï´Ù.

¸í·ÉÇà 󸮱⸦ »ç¿ëÇÏ´Â °æ¿ì, CHANGE ISOLATION LEVEL ¸í·ÉÀ» »ç¿ëÇÏ¿© ºÐ¸® ·¹º§À» º¯°æÇÕ´Ï´Ù. Command Reference ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

DB2 ÄÝ ·¹º§ ÀÎÅÍÆäÀ̽º(DB2 CLI)ÀÇ °æ¿ì, DB2 CLI ±¸¼º ºÎºÐÀ¸·Î ºÐ¸® ·¹º§À» º¯°æÇÕ´Ï´Ù. ·±Å¸ÀÓ ½Ã CLI ³»¿¡¼­, ¼Ó¼ºÀÌ SQL_ATTR_TXN_ISOLATIONÀÎ SQLSetConnectAttr ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ´Â ConnectionHandle¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ÇöÀç ¿¬°á¿¡ ´ëÇÑ Æ®·£Àè¼Ç ºÐ¸® ·¹º§À» ¼³Á¤ÇÕ´Ï´Ù. db2cli.ini ÆÄÀÏ ³»¿¡¼­ TXNISOLATION Ű¿öµå¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÁÖ:JDBC ¹× SQLJ´Â DB2¿¡¼­ CLI¸¦ »ç¿ëÇÏ¿© ±¸ÇöµË´Ï´Ù. ÀÌ´Â db2cli.ini ¼³Á¤ÀÌ JDBC ¹× SQLJ¸¦ »ç¿ëÇÏ¿© ¼öÇàµÇ°í ±â·ÏµÇ´Â °Í¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼öµµ ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù. CLI Guide and Reference ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

·±Å¸ÀÓ ½Ã JDBC³ª SQLJ¿¡ ´ëÇØ ÀÛ¾÷ÇÒ ¶§, java.sql ÀÎÅÍÆäÀ̽º ¿¬°á ³»¿¡¼­ setTransactionIsolation ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ºÐ¸® ·¹º§À» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­ ¸Å´º¾óÀÇ "Java¿¡¼­ÀÇ ÇÁ·Î±×·¡¹Ö" Àå¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

SQLJ¿¡ ´ëÇØ ÀÛ¾÷ÇÒ ¶§, db2profc SQLJ ÃÖÀûÈ­ ¾Ë°í¸®ÁòÀ» ¼öÇàÇÏ¸é ÆÐŰÁö°¡ ÀÛ¼ºµË´Ï´Ù. ÀÌ ÆÐŰÁö¿¡ ´ëÇÑ ÃÖÁ¾ ¿É¼ÇÀº »ç¿ëµÉ ºÐ¸® ·¹º§À» Æ÷ÇÔÇϵµ·Ï ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ °³¹ß ¾È³»¼­ ¸Å´º¾óÀÇ "Java¿¡¼­ÀÇ ÇÁ·Î±×·¡¹Ö" Àå¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.

Ãß°¡·Î, ¸¹Àº »ó¾÷ÀûÀ¸·Î ¾²¿©Áø ÀÀ¿ëÇÁ·Î±×·¥Àº ºÐ¸® ·¹º§À» ¼±ÅÃÇÒ ¼ö ÀÖ´Â ¹æ½Äµµ Á¦°øÇÕ´Ï´Ù. CLI Guide and Reference ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

¼±¾ðµÈ Àӽà Å×ÀÌºí ¹× µ¿½Ã¼º

¼±¾ðµÈ Àӽà Å×À̺íÀº ¼±¾ðÇÑ ÀÀ¿ëÇÁ·Î±×·¥¸¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î µ¿½Ã¼º ¹®Á¦°¡ ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ À¯ÇüÀÇ Å×À̺íÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ À̸¦ ¼±¾ðÇÏ´Â ½ÃÁ¡À¸·ÎºÎÅÍ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¿Ï·áµÇ°Å³ª ¿¬°áÇØÁ¦µÉ ¶§±îÁö¸¸ Á¸ÀçÇÕ´Ï´Ù.


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