DBMS´Â Á¤¹ÐÇÏ°í ¼¶¼¼ÇÑ ½Ã½ºÅÛÀÌÁö¸¸ Ç×»ó Á¤»ó µ¿ÀÛÇÑ´Ù´Â º¸ÀåÀÌ
¾ø´Ù. »ç¶÷ÀÌ ¾û¶×ÇÑ ¸í·ÉÀ» ³»¸± ¼öµµ ÀÖ°í ÀúÀå ÀåÄ¡³ª ³×Æ®¿öÅ©ÀÇ ±â°èÀûÀÎ °íÀåµµ Á¾Á¾ ¹ß»ýÇÑ´Ù. ¿¡·¯³ª ³í¸®ÀûÀÎ ¿À·ù¿¡ ÀÇÇØ µ¥ÀÌÅÍÀÇ ÀÏ°ü¼ºÀÌ ±úÁö´Â ¸î °¡Áö ´ëÇ¥ÀûÀÎ °æ¿ì¸¦ º¸ÀÚ.
ÀüÇüÀûÀÎ ¿¹´Â °èÁ ÀÌüÀÌ´Ù. AÀÇ ÅëÀå¿¡¼ BÀÇ ÅëÀåÀ¸·Î ¹é¸¸¿øÀ» ¼Û±ÝÇÑ´Ù¸é A°èÁ¿¡¼ ¹é¸¸¿øÀ» »©´Â µ¿ÀÛ°ú BÀÇ °èÁ¿¡ ¹é¸¸¿øÀ» ÀÔ±ÝÇÏ´Â µÎ °³ÀÇ ¸í·ÉÀÌ ÇÊ¿äÇÏ´Ù. µÎ ¸í·ÉÀÌ
¸ðµÎ ¼º°øÇØ¾ß °èÁ ÀÌü°¡ ¹«»çÈ÷ ¿Ï·áµÈ´Ù.
ù ¹ø° Äõ¸®¸¸ ½ÇÇàÇÏ°í µÎ ¹ø° Äõ¸®¸¦ ½ÇÇàÇÏÁö ¸øÇß´Ù¸é Ãâ±Ý¸¸ ÇÏ°í ÀÔ±ÝÀº ÇÏÁö ¾Ê¾Æ Çö±ÝÀÌ ¿Âµ¥°£µ¥ ¾øÀÌ
»ç¶óÁ® ¹ö¸°´Ù. ¼ø¼¸¦ ¹Ù²Ù¾î ÀÔ±Ý ¸ÕÀú ÇÏ°í Ãâ±ÝÀ» ÀÌ¾î¼ ÇÑ´Ù°í ÇØ º¸ÀÚ. B °èÁ¿¡ 100¸¸¿ø ³Ö°í A °èÁ¸¦
º¸´Ï ÀÜ°í°¡ ºÎÁ·ÇØ ÀºÇàÀÌ ¼ÕÇظ¦ º¼ ¼öµµ ÀÖ´Ù.
´ë·®ÀÇ ÀÛ¾÷À» ÀÏ°ý ó¸®ÇÒ ¶§µµ ÀÏ°ü¼ºÀÌ ±úÁö±â ½±´Ù. Á÷¿ø 10¸¸¸íÀÇ ¿ù±ÞÀ» 10%¾¿ ÀλóÇÏ´Â ÀÛ¾÷À» ó¸®ÁßÀÌ´Ù. Á÷¿ø¼ö°¡ ¸¹¾Æ ½Ã°£ÀÌ ¿À·¡ °É¸®´Âµ¥ 23167¸í° ¼öÁ¤ Áß¿¡ °©ÀÚ±â
Á¤ÀüÀÌ µÇ¾î ¹ö·È´Ù. ´Ù½Ã ÄÄÇ»Å͸¦ Äѵµ ¾îµð±îÁö ¼öÁ¤ÇÏ´Ù°¡ Áß´ÜÇß´ÂÁö µµ¹«Áö ¾Ë ¹æ¹ýÀÌ ¾ø´Ù.
ÀÌ·± ÀÛ¾÷Àº ²À ¼ø¼´ë·Î ó¸®ÇÏ´Â °Íµµ ¾Æ´Ï´Ù. °»½ÅÇÑ °Í°ú ±×·¸Áö
¾ÊÀº ·¹Äڵ尡 ¼¯¿© ÀÖ¾î Àç°³ÇÒ À§Ä¡¸¦ ã±â ½±Áö ¾Ê´Ù. ÀüÇô ¼öÁ¤ÇÏÁö ¾Ê¾Ò´Ù¸é óÀ½ºÎÅÍ ÇÏ¸é µÇÁö¸¸
ÇÏ´Ù°¡ ¸¸ ÀÛ¾÷À̶ó ±×·² ¼öµµ ¾ø´Ù. ¾î¿ ¼ö ¾øÀÌ ÀÌÀü µ¥ÀÌÅÍ¿Í ¼öÀÛ¾÷À¸·Î ºñ±³ÇØ¾ß ÇÏ¸ç ¹é¾÷Á¶Â÷
¾ø´Ù¸é ±×¾ß¸»·Î ³¶ÆдÙ. ½Ç»ýÈ°¿¡¼µµ "¾îµð±îÁö
Çß´õ¶ó?" »óȲÀÌ Á¾Á¾ ¹ß»ýÇÑ´Ù.
ÄÄÇ»ÅÍ´Â ½Ç¼öÇÏÁö ¾ÊÁö¸¸ ¿ÜºÎÀûÀÎ ¿äÀο¡ ÀÇÇØ ½ÇÆÐÇÒ °¡´É¼ºÀº Ç×»ó ÀÖ´Ù. Çϵå¿þ¾îÀûÀÎ
¹®Á¦³ª õÀçÁöº¯ °°Àº ºÒ°¡Ç×·ÂÀûÀÎ ¿äÀεµ ÀÖ°í »ç¶÷ÀÇ ½Ç¼ö³ª Á¢¼ÓÀÚ ÆøÁÖ °°Àº ¿¹»óÄ¡ ¸øÇÑ »çŵµ Á¾Á¾ ¹ß»ýÇÑ´Ù.
¿¡·¯ ÀÚü¸¦ ¸·À» ¹æ¹ýÀº ¾øÁö¸¸ ¾î¶°ÇÑ °æ¿ì¶óµµ µ¥ÀÌÅÍ´Â ¾ÈÀüÇÏ°Ô ÁöÄÑ¾ß ÇÑ´Ù.
±Ø´ÜÀûÀÎ ¿¡·¯°¡ ¹ß»ýÇÒ È®·üÀº Áö±ØÈ÷ ³·Áö¸¸ ¼³»ç ¹é¸¸ ¹ø¿¡ ÇÑ ¹ø ÀϾ´Â ÀÏÀÌ¶óµµ Àý´ë ¹«½ÃÇÒ ¼ö ¾ø´Ù. 1¾ï¹ø¿¡ ÇÑ ¹ø ¹ß»ýÇÏ´Â ¿¡·¯°¡ ÀºÇàÀ̳ª ¼îÇθô ÀÔÀå¿¡¼´Â Á×´À³Ä »ç´À³ÄÀÇ Àý´ëÀý¸íÇÑ ¹®Á¦ÀÌ´Ù. ±×·¡¼ DBMS´Â ¹ß»ý °¡´ÉÇÑ ¸ðµç ¿¡·¯¿¡ ´ëóÇÏ¿© ¾î¶² °æ¿ì¶óµµ
µ¥ÀÌÅÍÀÇ ÀÏ°ü¼ºÀ» À¯ÁöÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ÇÊ¿äÇÏ´Ù.
DBMS´Â µ¥ÀÌÅ͸¦ ¾ÈÀüÇÏ°Ô ÁöÅ°°í ±Ø´ÜÀûÀÎ ¿¡·¯¿¡ ´ëóÇϱâ À§ÇÑ
¿©·¯ °¡Áö ÀåÄ¡¸¦ ÀÌÁß, »ïÁßÀ¸·Î Á¦°øÇϴµ¥ °¡Àå ±âº»ÀûÀÎ ÀåÄ¡´Â Æ®·£Àè¼Ç(Transaction)ÀÌ´Ù. Æ®·£Àè¼ÇÀº °ü·ÃµÈ SQL ¹®À» Çϳª·Î ¹¾î ó¸®ÇÏ´Â ÀÛ¾÷ ´ÜÀ§ÀÌ¸ç ´ÙÀ½ 4°¡Áö Ư¡À»
°¡Áø´Ù.
Æ®·£Àè¼Ç³»ÀÇ ¸í·ÉÀ» ÇϳªÀÇ ¹À½À¸·Î ó¸®ÇÏ¿© ¸ðµÎ ¼º°øÇϰųª ¾Æ´Ï¸é ¸ðµÎ ½ÇÆÐÇÑ´Ù. À̸¦ ÀüºÎ ¶Ç´Â Àü¹«ÀÇ ¿øÄ¢(All Or Nothing)À̶ó°í ÇÑ´Ù. Ãâ±Ý ¸í·É°ú ÀÔ±Ý ¸í·ÉÀ» °¢°¢ ½ÇÇàÇÏÁö ¾Ê°í ÀÌ µÑÀ» ¹¾î ¼Û±ÝÀ̶ó´Â ´õ ÀÌ»ó ºÐ¸®ÇÒ ¼ö ¾ø´Â ¿øÀÚ·Î Ãë±ÞÇÑ´Ù.
Æ®·£Àè¼ÇÀ¸·Î ó¸®ÇÏ´Â µ¥ÀÌÅÍ´Â ÀÏ°ü¼ºÀ» À¯ÁöÇÑ´Ù. ¼º°øÇÒ °æ¿ì´Â ¹°·Ð
¾Æ¹« ¹®Á¦°¡ ¾øÀ¸¸ç ½ÇÆÐÇÏ´õ¶óµµ ÃÖ¼ÒÇÑ ÇÏ´Ù°¡ ¸¸ ¾îÁ¤ÂÄÇÑ »óÅ·Π¹æÄ¡ÇÏÁö ¾Ê´Â´Ù. ¼Û±Ý¿¡ ½ÇÆÐÇÏ´õ¶óµµ
µÎ °èÁÂÀÇ Àܾ×Àº º¯ÇÔÀÌ ¾ø¾î ´Ù½Ã ¼Û±ÝÇÏ¸é µÈ´Ù. ºÒ°¡Ç×·ÂÀûÀÎ »óȲÀ̳ª ³í¸®ÀûÀÎ ¿¡·¯°¡ ¹ß»ýÇÏ´õ¶óµµ
µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀ» ¹Ýµå½Ã ÁöŲ´Ù.
µ¥ÀÌÅͺ£À̽º´Â ¿øÄ¢ÀûÀ¸·Î ´ÙÁß »ç¿ëÀÚ°¡ µ¿½Ã¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ¾î ¿©·¯ °³ÀÇ Æ®·£Àè¼ÇÀÌ µ¿½Ã¿¡ ½ÇÇàµÈ´Ù. À̶§ Æ®·£Àè¼Ç³¢¸® °Ý¸®µÇ¾î ¼·Î ¹æÇØÇÏÁö ¾Ê´Â´Ù. Æ®·£Àè¼Ç ½ÇÇà
ÀüÀ̳ª ÈÄÀÇ µ¥ÀÌÅ͸¦ ¿ÜºÎ¿¡¼ Àаųª ÂüÁ¶ÇÒ ¼ö ÀÖÁö¸¸ Æ®·£Àè¼Ç ÁøÇà Áß¿¡´Â Áß°£ »óŸ¦ º¸°Å³ª º¯°æÇÒ ¼ö ¾ø´Ù.
ÀÌü ÀüÀ̳ª ÈÄÀÇ »óȲÀº º¼ ¼ö À־ ÀÌü ÁøÇà ÁßÀÎ ¼ø°£Àº ¿ÜºÎ¿¡¼ º¸ÀÌÁö ¾Ê´Â´Ù. DBMS´Â
»ç¿ëÁßÀÎ DB ¿ÀºêÁ§Æ®¿¡ ¶ôÀ» °É¾î °Ý¸®¼ºÀ» ±¸ÇöÇÑ´Ù.
Æ®·£Àè¼ÇÀ» ¼º°øÀûÀ¸·Î ¼öÇàÇÏ¸é ¼öÁ¤µÈ µ¥ÀÌÅ͸¦ ½Ã½ºÅÛ¿¡ ¿µ±¸ÀûÀ¸·Î Àû¿ëÇÑ´Ù. Áß°£
°á°ú°¡ ¾Æ´Ï¶ó ¿Ï¼ºµÈ °á°ú¸¸ ÀúÀåÇÑ´Ù´Â ¶æÀÌ´Ù. ó¸® °á°ú°¡ ÆÄÀÏ¿¡ ±â·ÏµÇÁö ¾ÊÀº ä·Î ÀÌ»óÀÌ »ý°Üµµ
·Î±×¸¦ µÚÁ® ÀÚµ¿ º¹±¸(Roll Forward)ÇÑ´Ù. 󸮿¡
½ÇÆÐÇÏ¸é ·Î±×ÀÇ ±â·ÏÀ» ÂüÁ¶ÇÏ¿© ¼öÁ¤Çϱâ ÀüÀÇ »óÅ·Π¾ÈÀüÇÏ°Ô Ãë¼ÒÇÑ´Ù.
Æ®·£Àè¼ÇÀÇ ÀÌ·± 4°¡Áö Ư¡À» ù ÀÚ¸¸ µû ACID¶ó°í Ç¥ÇöÇÑ´Ù. ÇÙ½ÉÀº ¸í·ÉÀ» ¹À½À¸·Î ó¸®ÇÏ´Â ¿øÀÚ¼ºÀ̸ç ÀÌ·Î
ÀÎÇØ ÀÏ°ü¼º°ú ¿µ¼Ó¼ºÀ» ´Þ¼ºÇÑ´Ù. Æ®·£Àè¼ÇÀ» ³Ê¹« ¾î·Æ°Ô »ý°¢ÇÒ ÇÊ¿ä ¾ø´Ù. °°ÀÌ ½ÇÇàÇÒ ¸í·ÉÀÇ ÁýÇÕÀÌµÇ ¿øÀÚ¼ºÀ» °Á¶ÇÑ ¿ë¾îÀ̹ǷΠ´ë°³ÀÇ °æ¿ì´Â SQL
¸í·É°ú °°Àº ¶æÀ̶ó°í »ý°¢Çصµ ¹«¹æÇÏ´Ù. ¹À½À¸·Î ½ÇÇàÇÒ SQL ¸í·É ÁýÇÕÀÌ °ð Æ®·£Àè¼ÇÀÌ´Ù.
´ë¿ë·® DB´Â È¿À²À̳ª ¼º´É¸¸Å Æ®·£Àè¼ÇÀ» ¼¼½ÉÇÏ°Ô ´Ù·é´Ù. ÀºÇà °èÁ °ü¸® ½Ã½ºÅÛÀÌ ¾Æ¹«¸® ºü¸£°í È¿À²ÀûÀÌ´õ¶óµµ Æ®·£Àè¼ÇÀ» Á¦´ë·Î °ü¸®ÇÏÁö ¸øÇÏ¸é ¸»Â¯ ²ÎÀÌ´Ù. ¿À¶óŬÀº µðÆúÆ® ¸ðµå°¡ Ç×»ó Æ®·£Àè¼ÇÀ» »ç¿ëÇÏ´Â °ÍÀ¸·Î µÇ¾î ÀÖ¾î ±²ÀåÈ÷ ¸¹Àº °øÀ» µé¿´´Ù. SQL Serverµµ ÁúÀÇ ¾ð¾îÀÇ À̸§ÀÌ Transact SQLÀÏ
Á¤µµ·Î Æ®·£Àè¼ÇÀ» Áß¿ä½ÃÇÑ´Ù.
¿øÀÚ¼ºÀ» ±¸ÇöÇÏ´Â ¾Ë°í¸®ÁòÀº º¹ÀâÇÒ »Ó¸¸ ¾Æ´Ï¶ó ¼º´É¿¡ Áö´ëÇÑ ¿µÇâÀ» ÁÖ´Â ÇÙ½É ±â¼úÀÌ¾î¼ Á¦Ç°º°·Î °íÀ¯ÇÑ ¹æ½ÄÀ»
»ç¿ëÇÑ´Ù. Á¦°¢°¢ ´Ù¸¥ ±â¼úÀ» ¾²Áö¸¸ Æ®·£Àè¼Ç ó¸® °úÁ¤À» ¾îµò°¡¿¡ ÀúÀåÇØ µÎ´Â ¹æ½Ä¿¡¼ Å©°Ô ¹þ¾î³ªÁö
¾Ê´Â´Ù. ó¸® ³»¿ªÀ» ÀúÀåÇØ ³õÁö ¾ÊÀ¸¸é ÀÛ¾÷À» Ãë¼ÒÇÒ ¹æ¹ýÀÌ ¾ø´Ù.
¿À¶óŬÀº ÀÌ ¿µ¿ªÀ» ¾ðµÎ ¼¼±×¸ÕÆ®(Undo Segment) ¶Ç´Â ·Ñ¹é
¼¼±×¸ÕÆ®¶ó°í ºÎ¸£¸ç SQL Server´Â Æ®·£Àè¼Ç ·Î±×(*.ldf)¶ó°í
ºÎ¸¥´Ù. ³»ºÎÀûÀÎ ±¸Á¶³ª °ü¸® ¹æ¹ýÀº È®¿¬È÷ ´Ù¸£°ÚÁö¸¸ µÑ ´Ù ·¹ÄÚµåÀÇ º¯°æ »çÇ×À» ÀúÀåÇÏ´Â Àӽà ÀÛ¾÷
¿µ¿ªÀ̶ó´Â Á¡Àº ¶È°°´Ù.
DBMS´Â Àӽà ¿µ¿ª¿¡ µ¥ÀÌÅÍ º¯°æ Àü, ÈÄÀÇ »óÅ¿¡ ´ëÇÑ º¹»çº»À» ºüÁü¾øÀÌ ±â·ÏÇÑ´Ù. ¸ðµç ¸í·ÉÀÌ ¼º°øÇϸé
º¯°æ ÈÄÀÇ µ¥ÀÌÅ͸¦ ±â·ÏÇÏ¿© ¿µ±¸ÀûÀ¸·Î È®Á¤Çϴµ¥ À̸¦ Ä¿¹Ô(Commit)À̶ó°í ÇÑ´Ù. Çϳª¶óµµ ½ÇÆÐÇÏ¸é º¯°æ ÀüÀÇ µ¥ÀÌÅ͸¦ ´Ù½Ã ½á ³Ö¾î ¾ÈÀüÇÏ°Ô Ãë¼ÒÇϴµ¥ À̸¦ ·Ñ¹é(RollBack)À̶ó°í ÇÑ´Ù.
°èÁ ÀÌü ÀÛ¾÷À» Æ®·£Àè¼ÇÀ¸·Î ¹¾úÀ» °æ¿ì DBMS´Â ´ÙÀ½°ú °°ÀÌ
ÀÛ¾÷ ³»¿ªÀ» ±â·ÏÇÑ´Ù. A, B ¸ðµÎ Æ®·£Àè¼Ç Àü¿¡´Â 200¸¸¿øÀÌ
µé¾î ÀÖ¾ú´Ù°í ÇÏÀÚ. A °èÁÂÀÇ Ãâ±Ý ÀüÈÄ, B °èÁÂÀÇ ÀÔ±Ý
ÀüÈÄ »óŸ¦ ±â·ÏÇØ µÐ´Ù. Å×ÀÌºí¿¡ ¹Ù·Î Àû¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó Àӽà ¿µ¿ª¿¡ ¸ÕÀú ±â·ÏÇÏ°í Æ®·£Àè¼ÇÀÇ
Ä¿¹Ô ¿©ºÎ¿¡ µû¶ó ´ÙÀ½ µ¿ÀÛÀ» °áÁ¤ÇÑ´Ù.
ÀÌ »óÅ¿¡¼ Ä¿¹ÔÇÏ¸é ·Î±×¿¡¼ ó¸® ÈÄÀÇ ·¹ÄÚµå »óŸ¦ °¡Á®¿Í Àû¿ëÇÏ°í ·Ñ¹éÇÏ¸é ¿ø·¡ÀÇ µ¥ÀÌÅ͸¦ À¯ÁöÇÑ´Ù. ÀÌ·¸°Ô ÇÏ¸é µÑ Áß Çϳª°¡ ½ÇÆÐÇÏ´õ¶óµµ µ¥ÀÌÅÍ°¡ ±úÁöÁö ¾ÊÀ¸¸ç ¾ÈÀüÇÏ°Ô Àç½ÃµµÇÒ ¼ö ÀÖ´Ù. ¾÷µ¥ÀÌÆ®ÇÏ´Â Áß¿¡ Àü¿øÀÌ Â÷´ÜµÇ¾îµµ ½ÇÁ¦ Å×À̺íÀ» Á¶ÀÛÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ º° ¹®Á¦¾ø´Ù.
¸ðµç º¯°æ»çÇ×À» Àӽà ¿µ¿ª¿¡ ÀÏÀÏÀÌ ±â·ÏÇÑ ÈÄ Àû¿ëÇÏ¸é ¼öÁ¤ ¼Óµµ´Â ´À·ÁÁø´Ù.
±×·¯³ª °íµµ·Î Áö´ÉÈµÈ DBMS´Â Ä¡¹ÐÇÑ ¾Ë°í¸®ÁòÀ¸·Î ¿À¹öÇìµå¸¦ ÃÖ¼ÒÈÇÏ¿© ¼º´É ¹®Á¦¸¦
±Øº¹ÇÑ´Ù. DBMS¸¶´Ù ¶Ç´Â SQL ¸í·É¿¡ µû¶ó ·Î±×¸¦ ÀÛ¼ºÇÏ°í
°ü¸®ÇÏ´Â ¹æ¹ýÀº ´Ù¸£Áö¸¸ Ãë¼Ò¸¦ À§ÇÑ ¿Ïº®ÇÑ Á¤º¸¸¦ Àӽà ÀÛ¾÷ ¿µ¿ª¿¡ ±â·ÏÇÏ´Â ¹æ½ÄÀº µ¿ÀÏÇÏ´Ù.