| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 27. ½Å·Ú¼º°ú ·Î±× ¼±Çà ±âÀÔ | Fast Forward | Next |
½Å·Ú¼ºÀº, ¸ðµç Áß¿äÇÑ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡ ÀÖ¾î Áß¿äÇÑ Æ¯¼ºÀÔ´Ï´Ù. PostgreSQL´Â ½Å·ÚÇÒ ¼ö ÀÖ´Â ¿î¿µÀ» º¸ÁõÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Å·ÚÇÒ ¼ö ÀÖ´Â ¿î¿µÀ̶õ, Ä¿¹ÔµÈ Æ®·£Àè¼ÇÀ¸·Î ±â·ÏµÈ ¸ðµç µ¥ÀÌÅÍ´Â ºÒÈֹ߼º ¿µ¿ª¿¡ ÀúÀåµÇ¾î Àü¿ø ¼Õ½Ç, ¿î¿µ ½Ã½ºÅÛÀÇ Àå¾Ö, Çϵå¿þ¾îÀÇ Àå¾Ö(´ç¿¬È÷, ºÒÈֹ߼º ¿µ¿ª ÀÚüÀÇ Àå¾Ö´Â Á¦¿ÜÇÕ´Ï´Ù.)°¡ À־ ¾ÈÀüÇÏ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. Åë»ó, ÄÄÇ»ÅÍÀÇ ¿µ±¸ ÀúÀå ¿µ¿ª(µð½ºÅ© ÀåÄ¡ µî)¿¡ÀÇ µ¥ÀÌÅÍ ±âÀÔÀÇ ¼º°øÀÌ ÀÌ Á¶°ÇÀ» ¸¸Á·½Ãŵ´Ï´Ù. ½ÇÁ¦, ÄÄÇ»ÅÍ¿¡ Ä¡¸íÀûÀÎ Àå¾Ö°¡ ¹ß»ýÇß´Ù°í ÇØµµ, ¸¸¾à µð½ºÅ© ÀåÄ¡°¡ ¹«»çÇϸé, À¯»çÇÑ Çϵå¿þ¾î¸¦ °¡Áö´Â ´Ù¸¥ ÄÄÇ»ÅÍ·Î ¿Å±æ ¼ö ÀÖ¾î Ä¿¹ÔµÈ Æ®·£Àè¼ÇÀ» ±× Àüó·³ º¹¿øÇÒ ¼ö ÀÖ½À´Ï´Ù.
µ¥ÀÌÅ͸¦ ÁÖ±âÀûÀ¸·Î µð½ºÅ© Ç÷¡ÅÍ¿¡ ¾²´Â °ÍÀº °£´ÜÇÑ Á¶ÀÛó·³ º¸ÀÏÁöµµ ¸ð¸¨´Ï´Ù¸¸, ±×·¸Áö´Â ¾Ê½À´Ï´Ù. µð½ºÅ© ÀåÄ¡´Â ÁÖ¸Þ¸ð¸®, CPU, ÄÄÇ»ÅÍÀÇ ÁÖ¸Þ¸ð¸®¿Í µð½ºÅ© Ç÷¡ÅÍÀÇ »çÀÌ¿¡ ÀÖ´Â °¢Á¾ÀÇ Ä³½¬ Ãþ°ú ºñ±³ÇØ ¸Å¿ì ¼Óµµ°¡ ´À¸®±â ¶§¹®ÀÔ´Ï´Ù. ¿ì¼±, ¿î¿µ ½Ã½ºÅÛÀÇ ¹öÆÛ ij½¬°¡ Á¸ÀçÇÕ´Ï´Ù. À̰ÍÀº ºó¹øÇÏ°Ô Á¢±Ù ¿ä±¸°¡ ÀÖ´Â µð½ºÅ© ºí·ÏÀ» ij½¬ÇØ, µð½ºÅ© ¾²±â¿¡ ÇÕĨ´Ï´Ù. ´ÙÇàÈ÷µµ, ¸ðµç ¿î¿µ ½Ã½ºÅÛÀÌ ¹öÆÛ ij½¬¸¦ µð½ºÅ©¿¡ °Á¦ ±âÀÔ½ÃŰ´Â ¹æ¹ýÀ» ¾ÖÇø®ÄÉÀ̼ǿ¡ Á¦°øÇϰí ÀÖ½À´Ï´Ù. PostgreSQL´Â ÀÌ ±â´ÉÀ» »ç¿ëÇÕ´Ï´Ù. (À̰ÍÀ» Á¶Á¤ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼´Â wal_sync_method¸Å°³º¯¼ö¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. )
´ÙÀ½¿¡, µð½ºÅ© ÀåÄ¡ÀÇ ÄÜÆ®·Ñ·¯ ij½¬°¡ Á¸ÀçÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ƯÈ÷, RAIDÄÜÆ®·Ñ·¯ Ä«µå¿¡ ÀÖ¾î¼ ÀϹÝÀûÀÔ´Ï´Ù. write-throughij½¬ Áß¿¡´Â, µ¥ÀÌÅͰ¡ µµ´ÞÇÏÀÚ¸¶ÀÚ µð½ºÅ© ÀåÄ¡¿¡ ±âÀԵǴ °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ¶Ç ´Ù¸¥ write-backij½¬´Â ´Ù¼Ò ´Ê°Ô µð½ºÅ© ÀåÄ¡¿¡ ±âÀԵǴ °æ¿ìÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Ä³½¬¿¡¼´Â µð½ºÅ© ÄÜÆ®·Ñ·¯ ij½¬°¡ Èֹ߼º, Àü¿ø Àå¾Ö ½Ã¿Í °°Àº °æ¿ì ±× ³»¿ëÀÌ ¾ø¾îÁ® ¹ö¸®±â ¶§¹®¿¡, ½Å·Ú¼º¿¡ °üÇÑ Àå¾Ö°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. º¸´Ù ¶Ù¾î³ ÄÜÆ®·Ñ·¯ Ä«µå·Î ¹èÅ͸® ÷ºÎÀÇ Ä³½¬¸¦ °¡Áý´Ï´Ù. Áï, ½Ã½ºÅÛÀÇ Àü¿ø ¼Õ½ÇÀÌ ÀÖ´Â »óÅ¿¡¼µµ ij½¬¿¡ Àü¿øÀ» °ø±ÞÇÕ´Ï´Ù. ´ÙÀ½¿¡ Àü¿øÀÌ º¹±¸ÇÑ ÈÄ, µð½ºÅ© ÀåÄ¡¿¡ µ¥ÀÌÅͰ¡ ±âÀԵ˴ϴÙ.
¸¶Áö¸·À¸·Î, ´ëºÎºÐÀÇ µð½ºÅ© ÀåÄ¡°¡ ij½¬¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÀϺδ write-throughÀ̸ç, ÀϺδ write-backÀÔ´Ï´Ù. µð½ºÅ© ÄÜÆ®·Ñ·¯ ij½¬ÀÇ °æ¿ì¿Í °°ÀÌ, write-backÀÇ µð½ºÅ© ÀåÄ¡ ij½¬ÀÇ °æ¿ì¿¡´Â µ¥ÀÌÅͰ¡ ¼Õ½ÇµÉ ¿ì·Á°¡ ÀÖ½À´Ï´Ù. ÀϹݼҺñÀÚÀü¿ëÀÇ IDE ¹× SATA ÀåÄ¡¿¡¼´Â ƯÈ÷, ÀÚÁÖ write-back ij½¬¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù. À̰ÍÀº Àü¿ø Àå¾Ö½Ã¿¡ µ¥ÀÌÅͰ¡ ³²Áö ¾Ê½À´Ï´Ù.
¿î¿µ ½Ã½ºÅÛÀÌ, µð½ºÅ© Çϵå¿þ¾î¿¡ ¾²±â ¿äûÀ» ¼Û½ÅÇßÀ» ¶§, µ¥ÀÌÅͰ¡ ½Ã½ºÅÛ »óÀÇ ºÒÈֹ߼º ÀúÀå ¿µ¿ª¿¡ Á¤¸»·Î µµ´ÞÇß´ÂÁö ¾Æ´ÑÁö¸¦ È®ÀÎÇÏ´Â °ÍÀº °ÅÀÇ ºÒ°¡´É ÇÕ´Ï´Ù. ±×·¯¹Ç·Î, ÀúÀåÀåÄ¡ÀÇ ±¸¼º ¿ä¼Ò°¡ µ¥ÀÌÅÍ ÅëÇÕ¼ºÀ» º¸ÁõÇÏ´ÂÁö¸¦ È®½ÇÈ÷ ÇÏ´Â °ÍÀº, °ü¸®ÀÚÀÇ Ã¥ÀÓÀÔ´Ï´Ù. ¹èÅ͸®¸¦ °¡ÁöÁö ¾Ê´Â ¾²±â ij½¬¸¦ °¡Áö´Â ÄÜÆ®·Ñ·¯¸¦ »ç¿ëÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. ÀåÄ¡ ·¹º§¿¡¼´Â, ¸¸¾à ÀåÄ¡°¡ Á¤Áö Àü¿¡ µ¥ÀÌÅͰ¡ ±âÀԵǴ °ÍÀ» º¸ÁõÇÒ ¼ö ¾øÀ¸¸é, write-back ij½¬¸¦ ¹«È¿·Î ÇØ ÁÖ¼¼¿ä.
µð½ºÅ© Ç÷¡ÅÍÀÇ ±âÀÔ Á¶ÀÛ ÀÚü¿¡ ÀÇÇØ¼ µ¥ÀÌÅÍ ¼Õ½ÇÀÌ ¹ß»ýÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. µð½ºÅ© Ç÷¡ÅÍ´Â, ÀϹÝÀûÀ¸·Î 512¹ÙÀÌÆ®ÀÇ ¿µ¿ª¿¡ ºÐÇҵǰí ÀÖ½À´Ï´Ù. ¹°¸®ÀûÀÎ Àбâ ÀÛ¾÷, ¾²±â ÀÛ¾÷ ¸ðµÎ, ¿µ¿ª Àüü¸¦ ó¸®ÇÕ´Ï´Ù. ¾²±â¿äûÀÌ µð½ºÅ©¿¡ À̸£·¶À» ¶§, ±× ¿ä±¸´Â 512¹ÙÀÌÆ®¿¡ µé¾î°¥Áöµµ ¸ð¸£°í, 1024¹ÙÀÌÆ®, ¶Ç´Â 8192¹ÙÀÌÆ®¿¡ µé¾î°¥Áöµµ ¸ð¸¨´Ï´Ù. Àü¿ø ¼Õ½Ç¿¡ ÀÇÇØ, ÀϺÎÀÇ 512¹ÙÀÌÆ®ÀÇ ¿µ¿ª¿¡ ¾²±â°¡ ÇàÇØÁ® ³ª¸ÓÁöÀÇ ¾²±â°¡ ÇàÇØÁöÁö ¾ÊÀ¸¸é, ¾²±â ÇÁ·Î¼¼½º´Â ½ÇÆÐÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¹®Á¦ÀÇ ´ëÃ¥À¸·Î PostgreSQL´Â, µð½ºÅ©»óÀÇ ½ÇÁ¦ÀÇ ÆäÀÌÁö¸¦ º¯°æÇϱâ Àü ¿¡ Á¤±âÀûÀ¸·Î ÆäÀÌÁö ÀüüÀÇ À̹ÌÁö¸¦ ¿µ±¸ ÀúÀå ¿µ¿ª¿¡ ±âÀÔÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, PostgreSQL´Â Å©·¡½¬ º¹±¸ ½Ã¿¡ ºÎºÐÀûÀ¸·Î ¾²¿©Áø ÆäÀÌÁö¸¦ º¹±¸½Ãų ¼ö ÀÖ½À´Ï´Ù. ¹èÅ͸® ÷ºÎÀÇ µð½ºÅ© ÄÜÆ®·Ñ·¯, ¶Ç´Â, ÆÄÀÏ ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾î(¿¹¸¦ µé¸é Reiser4)¿¡ ÀÇÇØ ºÎºÐÀûÀÎ ÆäÀÌÁö ¼µÎ¸¦ ¹æÁöÇÒ ¼ö ÀÖ´Ù¸é, full_page_writesÀ» »ç¿ëÇØ ÆäÀÌÁö À̹ÌÁö ÀÛ¼ºÀ» ¹«È¿·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù.