12.1. ¼­¹®

PostgreSQL´Â µ¥ÀÌÅÍÀÇ µ¿½Ã ¾×¼¼½º¸¦ °ü¸®Çϱâ À§Çؼ­ °í±Þ °³¹ßÀÚÀü¿ë ÅøÀ» Á¦°øÇÕ´Ï´Ù. ³»ºÎÀûÀ¸·Î, µ¥ÀÌÅÍ Àϰü¼ºÀº ´ÙÁß¹öÀü(´ÙÁß¹öÀü µ¿½Ã¼º Á¦¾îMVCC)À» »ç¿ëÇØ À¯ÁöµÇ°í ÀÖ½À´Ï´Ù. Áï, µ¥ÀÌÅͺ£À̽º¸¦ Á¶È¸ÇÏ´Â µ¿¾È¿¡ °¢ Æ®·£Àè¼ÇÀº ±âÃÊ µ¥ÀÌÅÍÀÇ ÇöÀç »óÅÂ¿Í °ü°è¾øÀÌ, °ú°Å µ¥ÀÌÅÍÀÇ ½º³À¼¦(µ¥ÀÌÅͺ£À̽º ¹öÀü)À» ÂüÁ¶ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº, (´Ù¸¥) µ¿½Ã¿¡ ¹ß»ýÇÏ´Â Æ®·£Àè¼ÇÀÇ °°Àº ÇàÀÇ °»½ÅÀ¸·Î ÀÎÇÑ ÀÏÄ¡ÇÏÁö ¾Ê´Â µ¥ÀÌÅ͸¦ Á¶È¸ÇÏ´Â °ÍÀ¸·Î Æ®·£Àè¼ÇÀ» º¸È£Çϰí, °¢ µ¥ÀÌÅͺ£À̽º ¼¼¼Ç¿¡ ´ëÇØ Æ®·£Àè¼ÇÀÇ °Ý¸®¸¦ Á¦°øÇÕ´Ï´Ù . MVCC´Â, ´ÙÁß»ç¿ëÀÚ È¯°æ¿¡¼­ ÀÌ»óÀûÀÎ ¼º´ÉÀ» ¾ò±â À§Çؼ­, ÀüÅëÀûÀÎ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀÇ ¸í½ÃÀû ¶ô ¹æ¹ýÀ» ÇÇÇÏ¿© ¶ôÀÇ °æÇÕÀ» ÃÖ¼ÒÈ­ÇÕ´Ï´Ù.

¶ô ¹æ½Ä ´ë½Å µ¿½Ã¹ß»ý Á¦¾îÀÇ MVCC ¸ðµ¨À» »ç¿ëÇÏ´Â °¡Àå Å« ÀÌÁ¡Àº MVCC¿¡¼­´Â Á¶È¸(ÇØ¼®)µ¥ÀÌÅ͸¦ À§ÇØ È¹µæµÈ ¶ôÀÌ ÀԷµ¥ÀÌÅ͸¦ À§ÇØ È¹µæµÈ ¶ô°ú Ãæµ¹À» ÀÏÀ¸Å°Áö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. µû¶ó¼­ readingÀÌ writing¸¦ Àý´ë ¹æÇØÇÏÁö¾Ê°í writingµµ Àý´ë readingÀ» ¹æÇØÇÏÁö ¾Ê½À´Ï´Ù.

MVCCÀÇ µ¿ÀÛ¿¡ ½±°Ô ÀûÀÀÇÒ ¼ö ¾ø´Â ¾îÇø®ÄÉÀ̼ÇÀ» À§ÇØ PostgreSQL¿¡¼­´Â Å×À̺í°ú Çà ´ÜÀ§ÀÇ ¶ô ±â´É ¶ÇÇÑ »ç¿ë °¡´ÉÇÕ´Ï´Ù. ÇÏÁö¸¸ MVCCÀÇ ¿Ã¹Ù¸¥ »ç¿ëÀÌ ¶ôº¸´Ù ³ªÀº ¼º´ÉÀ» ±âº»ÀûÀ¸·Î Á¦°øÇÒ °ÍÀÔ´Ï´Ù. Ãß°¡ÀûÀ¸·Î, ¾îÇø®ÄÉÀ̼ǿ¡ ÇÑÁ¤µÈ ±Ç°íÀû ¶ôÀº ÇϳªÀÇ Æ®·£Àè¼Ç¿¡ ±¸¼ÓµÇÁö ¾Ê´Â ¶ôÀÇ È¹µæÀ» À§ÇÑ °úÁ¤À» Á¦°øÇÕ´Ï´Ù.