| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
ÁÖ ¼¹ö°¡ °íÀ峪°Å³ª(°í°¡¿ë¼º), ÀϺΠÄÄÇ»ÅͰ¡ °°Àº µ¥ÀÌÅÍ(·Îµå ±ÕÇü Á¶Á¤(Load Balancing))¸¦ ó¸®ÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ µ¥ÀÌÅͺ£À̽º ¼¹ö´Â µ¿½Ã¿¡ ÀÛµ¿µÉ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º ¼¹ö´Â °øµ¿À¸·Î °í¸£°Ô °¡µ¿µÇ´Â °ÍÀÌ ÀÌ»óÀûÀÔ´Ï´Ù. Á¤ÀûÀÎ À¥ÆäÀÌÁö¸¦ Á¦°øÇÏ´Â À¥¼¹ö´Â ´Ü¼øÈ÷ À¥À¸·ÎºÎÅÍÀÇ ¿ä±¸·Î ¹ß»ýÇÏ´Â ºÎÇϸ¦ ´Ù¼öÀÇ ±â°è¿¡ ºÐ»êÇÏ´Â °Í¸¸À¸·Îµµ °£´ÜÇÏ°Ô °áÇÕµÉ ¼ö ÀÖ½À´Ï´Ù. »ç½Ç»ó Àбâ Àü¿ë(Read-only)ÀÇ µ¥ÀÌÅͺ£À̽º ¼¹ö ¶ÇÇÑ ºñ±³Àû ½±°Ô °áÇյ˴ϴÙ. ±×·¯³ª ´ëºÎºÐÀÇ µ¥ÀÌÅͺ£À̽º ¼¹ö´Â ÀÐ°í ¾²±â°¡ È¥ÀçµÈ ¿äûÀ» ¹Þ¾ÆµéÀ̸ç, ÀÐ°í ±â·ÏÇÏ´Â ¼¹ö´Â °áÇÕÀÌ ¸Å¿ì ¾î·Æ½À´Ï´Ù. ÇâÈÄ ¼¹ö¿¡¼ Àб⠿äûÀÌ µé¾î¿ÔÀ» °æ¿ì Àϰü¼º ÀÖ´Â °á°ú¸¦ µ¹·ÁÁÖ¾î¾ß¸¸ Çϱ⠶§¹®¿¡ Àбâ Àü¿ë(Read-only) µ¥ÀÌÅͰ¡ °¢ ¼¹ö¿¡ Çѹø »ý¼ºµÇ´õ¶óµµ, ¾î¶² ¼¹öµçÁö »ó°ü ¾øÀÌ ±â·Ï(write)Àº ¸ðµç ¼¹ö¿¡ ¹èÆ÷µÇ¾î¾ß¸¸ ÇÕ´Ï´Ù.
ÀÌ µ¿±âÈ ¹®Á¦´Â ¼¹ö°¡ µ¿½Ã¿¡ ÀÛµ¿ÇÏ´Â °Í¿¡ ´ëÇÑ ±Ùº»ÀûÀÎ ¾î·Á¿òÀÌ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌÀ¯´Â µ¿±âÈ ¹®Á¦¿¡ ´ëÇÑ ¸ðµç °æ¿ì¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ÇϳªÀÇ ÇØ¹ýÀÌ Á¸ÀçÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ´Ù¼öÀÇ ÇØ¹ýÀÌ Á¸ÀçÇÕ´Ï´Ù. °¢°¢ÀÇ ÇØ¹ýÀº ´Ù¾çÇÑ ¹æ½ÄÀ¸·Î À̹®Á¦¸¦ ´Ù·ç°í ÀÖÀ¸¸ç, ÀÌ Æ¯Á¤ÇÑ ÀÛ¾÷ ºÎÇÏ¿Í °ü·ÃµÈ ¿µÇâÀ» ÃÖ¼ÒȽÃ۰í ÀÖ½À´Ï´Ù.
ÀÏºÎ ÇØ¹ý¿¡¼´Â ÇÑ °³ ¼¹öÀÇ µ¥ÀÌÅÍ °»½ÅÀ» Çã°¡ÇÔÀ¸·Î½á µ¿±âȸ¦ ó¸®Çϰí ÀÖ½À´Ï´Ù. µ¥ÀÌÅ͸¦ °»½ÅÇÒ ¼ö ÀÖ´Â ¼¹ö´Â ÀÐ°í ¾²´Â ¼¹ö ¶Ç´Â, ¸¶½ºÅÍ ¼¹ö·Î ºÒ·ÁÁý´Ï´Ù. Àбâ Àü¿ë(Read-only)ÀÇ Äõ¸®¿¡ ÀÀÇÒ ¼ö ÀÖ´Â ¼¹ö´Â ½½·¹ÀÌºê ¼¹ö¶ó°í ÇÕ´Ï´Ù. ¸¶½ºÅÍ ¼¹ö°¡ º¯°æµÉ ¶§±îÁö »ç¿ëÀÚ°¡ Á¢±ÙÇÒ ¼ö ¾ø´Â ¼¹ö´Â ½ºÅĹÙÀÌ ¼¹ö¶ó°í ÇÕ´Ï´Ù.
ÀϺΠÀå¾Ö Á¶Ä¡(failover)¿Í ·Îµå ±ÕÇü Á¶Á¤(Load Balancing) ÇØ¹ýÀº µ¿½Ã¿¡ ÁøÇàµË´Ï´Ù. Áï µ¥ÀÌÅ͸¦ °»½ÅÇÏ´Â Æ®·£Àè¼Ç(transaction)ÀÇ °æ¿ì, ¸ðµç ¼¹ö°¡ Æ®·£Á§¼ÇÀ» ó¸®ÇÒ ¶§±îÁö ó¸® ´ë»óÀÌ µÇÁö ¸øÇÕ´Ï´Ù. ÀÌ »ç½ÇÀº Àå¾Ö Á¶Ä¡(failover)·Î ÀÎÇØ ¾î¶² µ¥ÀÌÅÍÀÇ ¼Õ½Çµµ ÀϾÁö ¾ÊÀ¸¸ç, ¾î¶² ¼¹ö°¡ Äõ¸® ´ë»óÀÎÁö »ó°ü¾øÀÌ µ¿ÀÏÇÑ °á°ú°¡ ¸ðµç load sharing ¼¹ö¿¡°Ô µ¹¾Æ°¥ °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ºñµ¿±â ÇØ¹ýÀÇ °æ¿ì, ´Ù¸¥ ¼¹ö·ÎÀÇ ¹èÆ÷ ½Ã°£°ú ó¸® ½Ã°£¿¡ ÀÖ¾î Áö¿¬ÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¸î¸î Æ®·£Á§¼ÇÀº ¹é¾÷ ¼¹ö¸¦ ±³È¯ÇÒ ¶§ ¼Õ½ÇµÉ °¡´É¼ºÀÌ ÀÖÀ¸¸ç, load sharing ¼¹ö´Â ¿À·¡µÈ °á°ú¸¦ ¹ÞÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¼¹ö°£ÀÇ ºñµ¿±â Åë½ÅÀº µ¿±âȰ¡ ³Ê¹« ´Ê°Ô ÀÌ·ç¾îÁ³À» ¶§ »ç¿ëÇÕ´Ï´Ù.
ÇØ¹ýÀº ó¸®ÇÏ´Â ¹üÀ§¿¡ ÀÇÇØ ºÐ·ùÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¾î´À ÇØ¹ý¿¡¼´Â Àüü µ¥ÀÌÅͺ£À̽º ¼¹ö¸¸À» ó¸®ÇÏÁö¸¸, ´Ù¸¥ ÇØ¹ý¿¡¼´Â °¢ Å×ÀÌºí ¶Ç´Â °¢ µ¥ÀÌÅͺ£À̽º ¼öÁØÀ» °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾î¶² Àå¾Ö Á¶Ä¡(failover) ¶Ç´Â, ·Îµå ±ÕÇü Á¶Á¤(load balancing)ÀÇ ¼±Åÿ¡¼µçÁö, ÀÛ¾÷ÀÇ È¿À²¼ºÀº ÃæºÐÈ÷ °í·ÁµÇ¾î¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ±â´É¼º°ú ÀÛ¾÷ È¿À²¼ºÀº »ó¹Ý °ü°èÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, ´À¸° ³×Æ®¿öÅ©ÀÇ °æ¿ì, ¿ÏÀüÈ÷ µ¿±âÈ ÇØ¹ýÀ» Àû¿ëÇϸé ÀÛ¾÷ È¿À²Àº ¹ÝÀÌÇϰ¡ µÇÁö¸¸, ºñµ¿±âÀÇ ÇØ¹ýÀ» »ç¿ëÇϸé ÀÛ¾÷ È¿À²¼º¿¡ ÃÖ¼ÒÀÇ ¿µÇâÀ» ¹ÌĨ´Ï´Ù.
º» ÀýÀ» ÅëÇØ Àå¾Ö Á¶Ä¡(failover), º¹Á¦(replication)¿Í ·Îµå ±ÕÇü Á¶Á¤(load balancing) ÇØ¹ýÀ» »ìÆì º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
°øÀ¯ µð½ºÅ© Àå¾Ö Á¶Ä¡´Â µ¥ÀÌÅͺ£À̽ºÀÇ »çº»À» Çϳª¸¸ º¸À¯ÇÔÀ¸·Î¼ µ¿±âÈ ¿À¹öÇìµå¸¦ ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù. °øÀ¯ µð½ºÅ© Àå¾Ö Á¶Ä¡¿¡¼´Â ´Ù¼öÀÇ ¼¹ö¿¡ ÀÇÇØ °øÀ¯µÇ´Â ÇϳªÀÇ µð½ºÅ© ¾î·¹À̸¦ »ç¿ëÇÕ´Ï´Ù. ¸¸¾à ÁÖ µ¥ÀÌÅͺ£À̽º ¼¹ö°¡ ÀÛµ¿µÇÁö ¾Ê´Â´Ù¸é, ¸¶Ä¡ µ¥ÀÌÅͺ£À̽º ÆÄ¼ÕÀÌ ÇØ°áµÈ °Íó·³ ½ºÅÙ¹ÙÀÌ ¼¹ö¿¡ ÀÇÇØ µ¥ÀÌÅͺ£À̽º°¡ ¼³Ä¡µÇ°í ½ÇÇàµÇ¾î Áý´Ï´Ù. ÀÌ´Â µ¥ÀÌÅÍ ¼Õ½ÇÀÌ ÀüÇô ¹ß»ýÇÏÁö ¾Ê´Â ºü¸¥ Àå¾Ö Á¶Ä¡¸¦ ½ÇÇöÇÕ´Ï´Ù.
°øÀ¯µÈ Çϵå¿þ¾î ±â´ÉÀº ³×Æ®¿öÅ©»óÀÇ ±â¾ïÀåÄ¡¿¡¼ ºó¹øÇÏ°Ô ÀÌ·ç¾îÁý´Ï´Ù. ³×Æ®¿öÅ© ÆÄÀÏ ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â °ÍÀº °¡´ÉÇÏÁö¸¸, ¸ðµç ÆÄÀÏ ½Ã½ºÅÛÀÌ ÃæºÐÇÑ POSIX»ç¾çÀ» °¡Áö´ÂÁö ÁÖÀÇÇØ¾ß¸¸ ÇÕ´Ï´Ù. ÀÌ ¹æ¹ýÀÇ °æ¿ì Áß¿äÇÑ Á¦ÇÑÀ» °¡Áö°í Àִµ¥, °øÀ¯µÈ µð½ºÅ© ¾î·¹ÀÌÀÇ °íÀå, ¶Ç´Â ÆÄ¼ÕµÇ¾úÀ» °æ¿ì, ÁÖ ¼¹ö¿Í ½ºÅĹÙÀÌ ¼¹ö´Â µÑ´Ù ÀÛµ¿µÇÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. ¶ÇÇÑ ½ºÅÙ¹ÙÀÌ ¼¹ö´Â ÁÖ ¼¹ö°¡ ÀÛµ¿µÇ°í ÀÖÀ» ¶§´Â °øÀ¯ ±â¾ïÀåÄ¡¿¡ Á¢±ÙÇÏÁö ¸»¾Æ¾ßÇÕ´Ï´Ù.
°øÀ¯µÈ Çϵå¿þ¾î ±â´ÉÀÇ °³Á¤ ¹öÀüÀº ÆÄÀÏ ½Ã½ºÅÛÀÇ »çº»(replication)À̸ç, ÆÄÀÏ ½Ã½ºÅÛÀÇ ¸ðµç º¯°æÀº ´Ù¸¥ ÄÄÇ»ÅÍ¿¡ ¼³Ä¡µÈ ÆÄÀÏ ½Ã½ºÅÛ¿¡ ¹Ý¿µµÇ¾îÁý´Ï´Ù. ÇѰ¡Áö Á¦¾àÀº ¹Ì·¯¸µ(mirroring)ÀÌ ½ºÅÙ¹ÙÀÌ ¼¹ö°¡ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÀϰüµÈ »çº»À» °¡Áöµµ·Ï ÇØ¾ßÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ƯÈ÷, ½ºÅÙ¹ÙÀÌ ¼¹ö¿¡ ±âÀÔÇÏ´Â °ÍÀº ¸¶½ºÅÍ ¼¹ö¿Í °°Àº ÀϰüµÈ ¼ø¼·Î ÀÌ·ç¾îÁ®¾ß ÇÕ´Ï´Ù. DRBD´Â Linux¸¦ À§ÇÑ ÀθÁÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛ º¹Á¦(replication) ÇØ¹ýÀÔ´Ï´Ù.
¿ú ½ºÅĹÙÀÌ ¼¹ö(Section 23.4¸¦ ÂüÁ¶)´Â ·Î±× ¿ì¼± Ãâ·Â ±â¹ý(WAL)À» ÇØ¼®ÇÏ¿© ÇöÀç »óŸ¦ À¯ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁÖ ¼¹ö°¡ °íÀ峪°Ô µÇ¸é, ¿ú ½ºÅÙ¹ÙÀÌ ¼¹ö´Â °ÅÀÇ ´ëºÎºÐÀÇ µ¥ÀÌÅ͸¦ º¸Á¸Çϰí, ½Å¼ÓÇÏ°Ô »õ·Î¿î ¸¶½ºÅÍ µ¥ÀÌÅͺ£À̽º¸¦ °¡µ¿½Ãŵ´Ï´Ù. ÀÌ´Â ºñµ¿±âÀ̸ç, Àüü µ¥ÀÌÅͺ£À̽º ¼¹ö¿¡ ÀÇÇØ¼¸¸ ÇàÇØÁú ¼ö ÀÖ½À´Ï´Ù.
master-slave º¹Á¦ ±¸Á¶¿¡¼´Â ¸ðµç µ¥ÀÌÅÍ °»½Å Äõ¸®¸¦ ¸¶½ºÅÍ ¼¹ö·Î Àü¼ÛÇÕ´Ï´Ù. ¸¶½ºÅÍ ¼¹ö´Â º¯°æµÈ µ¥ÀÌÅ͸¦ ½½·¹ÀÌºê ºñµ¿±â·Î Àü¼ÛÇÕ´Ï´Ù. ¸¶½ºÅÍ ¼¹ö°¡ ÀÛµ¿Çϰí ÀÖÀ» °æ¿ì¿¡ ÇÑÇØ¼, ½½·¹ÀÌºê ¼¹ö´Â Àбâ Àü¿ë(Read-only) Äõ¸®¿¡ ÀÀ´äÇÒ ¼ö ÀÖ½À´Ï´Ù. ½½·¹ÀÌºê ¼¹ö´Â µ¥ÀÌÅÍ¿þ¾îÇϿ콺 Äõ¸®¿¡ ÀûÇÕÇÕ´Ï´Ù.
Slony-I´Â º¹Á¦(replication) ŸÀÔÀÇ ÇÑ ¿¹À̸ç, °¢°¢ÀÇ Å×À̺íÀÌ Ã³¸®ÇÏ´Â ¹üÀ§°¡ µÇ¾î, ´Ù¼öÀÇ ½½·¹ÀÌºê ¼¹ö¸¦ Áö¿øÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é ½½·¹ÀÌºê ¼¹ö°¡ ºñµ¿±â·Î(Àϰý(batch)󸮿¡ ÀÇÇØ) °»½ÅµÇ¾îÁ®, Àå¾Ö Á¶Ä¡(fail over)½Ã µ¥ÀÌÅÍ ºÐ½ÇÀÇ À§ÇèÀÌ Á¸ÀçÇϱ⠶§¹®ÀÔ´Ï´Ù.
¹®Àå¿¡ ±Ù°ÅÇÑ º¹Á¦(replication) ¹Ìµé¿þ¾î¿¡¼´Â ÇÁ·Î±×·¥ÀÌ ¸ðµç SQL Äõ¸®¸¦ ¹Þ¾Æ Çϳª ¶Ç´Â ¸ðµç ¼¹ö·Î Àü¼ÛÇÕ´Ï´Ù. °¢ ¼¹ö´Â µ¶¸³ÀûÀ¸·Î ½ÇÇàÇÕ´Ï´Ù. ÀоîµéÀÌ´Â ÀÛ¾÷ÀÇ ºÎÇϸ¦ ºÐ»ê½Ã۱â À§ÇØ Àбâ Àü¿ë(Read-only) Äõ¸®°¡ ÇϳªÀÇ ¼¹ö·Î º¸³»Áú ¼ö ÀÖ´Â ¹Ý¸é¿¡ Read-write Äõ¸®´Â ¸ðµç ¼¹ö¿¡°Ô Àü¼ÛµË´Ï´Ù.
Äõ¸®°¡ º¯°æµÇÁö ¾Ê°í Àü¼ÛµÇ¾ú°Å³ª, random(), CURRENT_TIMESTAMP¿Í °°Àº ÇÔ¼ö¿Í °á°ú´Â ´Ù¸¥ ¼¹ö¿¡¼ »óÀÌÇÑ °ªÀ» °¡Áö°Ô µË´Ï´Ù.
ÀÌ´Â °¢ ¼¹ö°¡ µ¶¸³ÀûÀ¸·Î ÀÛµ¿Çϱ⠶§¹®À̸ç, SQL Äõ¸®°¡ ½ÇÁ¦·Î º¯°æµÈ Çà(row)¸¦ Àü¼ÛÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
ÀÌ¿Í °°Àº »ç½ÇÀÌ Çã¿ëµÉ ¼ö ¾ø´Â °æ¿ì´Â, ¹Ìµé¿þ¾î³ª ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇØ ÇϳªÀÇ ¼¹ö·ÎºÎÅÍÀÇ °ªÀÌ ¹®ÀǵǾî, ±× °á°ú¸¦ ±âÀÔÇØ Äõ¸®·Î »ç¿ëÇÏÁö ¾ÊÀ¸¸é ¾ÈµÇ´Â °æ¿ìÀÔ´Ï´Ù.
¶ÇÇÑ, ¸ðµç Æ®·£Á§¼ÇÀÌ ¸ðµç ¼¹ö¿¡¼ 󸮵ǰųª ÁߴܵǴÂÁö ¶Ç´Â µÎ°³ÀÇ ½ÇÇà ±¸¹®(
PREPARE TRANSACTION
and
COMMIT PREPARED
)À» »ç¿ëÇÏ´Â Áö¿¡ ´ëÇØ ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÕ´Ï´Ù.
º¹Á¦(replication)ÀÇ Å¸ÀÔ¿¡ °üÇØ Pgpool¿Í Sequoia ¿¹°¡ ÀÖ½À´Ï´Ù.
µ¿±â ¸ÖƼ ¸¶½ºÅÍ º¹Á¦(replication)¿¡¼´Â °¢°¢ÀÇ ¼¹öµéÀÌ ¿ä±¸¸¦ ¾µ ¼ö ÀÖ°í, º¯°æµÈ µ¥ÀÌÅÍ´Â °¢°¢ÀÇ Æ®·£Á§¼ÇÀÌ Ã³¸®µÇ±â Àü¿¡ º»·¡ÀÇ ¼¹ö¿¡¼ ¸ðµç ¼¹ö·Î Àü¼ÛµÉ ¼ö ÀÖ½À´Ï´Ù.
¹«°Å¿î ÀԷ Ȱµ¿Àº ÃʰúÀûÀÎ Àá±Ý(locking)À» ¹ß»ýų ¼ö ÀÖÀ¸¸ç, ÀÛ¾÷ È¿À²¼ºÀÌ ÀúÇϵǵµ·Ï ¸¸µì´Ï´Ù.
½ÇÁ¦ ÀÔ·ÂÀÇ ÀÛ¾÷ È¿À²¼ºÀº ´ÜÀÏ ¼¹öº¸´Ù ÁÁÁö ¾ÊÀº °æ¿ì°¡ ´ëºÎºÐÀÔ´Ï´Ù.
Read ¿äûÀº ¾î¶² ¼¹ö·Îµµ º¸³»Áú ¼ö ÀÖ½À´Ï´Ù.
ÀϺΠ½ÇÇàÀº °øÀ¯µÈ µð½ºÅ©¸¦ »ç¿ëÇÏ¿© Åë½Å¿¡ ÀÇÇÑ ¿À¹öÇìµå¸¦ ÁÙÀ̰í ÀÖ½À´Ï´Ù.
µ¿±â ¸ÖƼ ¸¶½ºÅÍ º¹Á¦((replication)´Â ÁÖ·Î ÀÛ¾÷ÀÇ ºÎÇϸ¦ Àдµ¥ ÃÖÀûÀÌÁö¸¸, °¡Àå Å« ÀåÁ¡Àº ¾î¶² ¼¹ö¶óµµ ÀÔ·Â ¿äûÀ» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
¿©±â¿¡´Â ¸¶½ºÅÍ¿Í ½½·¹ÀÌºê ¼¹ö °£ÀÇ ¾î¶°ÇÑ ÀÛ¾÷ ºÎÇÏÀÇ ºÐÇÒÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ µ¥ÀÌÅÍ º¯°æÀº ÇϳªÀÇ ¼¹ö¿¡¼ ´Ù¸¥ ¼¹ö·Î º¸³»Áö°Ô µË´Ï´Ù.
±×¸®°í random()¿Í °°Àº °áÁ¤µÇÁö ¾ÊÀº ÇÔ¼öÀÇ °æ¿ìµµ ¹®Á¦°¡ ÀϾÁö ¾Ê½À´Ï´Ù.
PostgreSQL´Â ÀÌ¿Í °°Àº Á¾·ùÀÇ º¹Á¦(replication)¸¦ Á¦°øÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª PostgreSQL µÎ ó¸® ±¸¹®( PREPARE TRANSACTION °ú COMMIT PREPARED )Àº ¾îÇø®ÄÉÀÌ¼Ç Äڵ峪 ¹Ìµé¿þ¾î¿Í °ü·ÃÇØ ½ÇÇàµÇ¾îÁú ¼ö ÀÖ½À´Ï´Ù.
·¦Å¾À̳ª ¿ø°Ý ¼¹ö¿Í °°ÀÌ ±ÔÄ¢ÀûÀ¸·Î ¿¬°áµÇ¾î ÀÖÁö ¾Ê´Â ¼¹ö°£¿¡ ÀÖ¾î, µ¥ÀÌÅÍÀÇ Àϰü¼ºÀ» À¯ÁöÇÏ´Â °ÍÀº µµÀüÀûÀÎ °úÁ¦ÀÔ´Ï´Ù. ºñµ¿±â ¸ÖƼ ¸¶½ºÅÍ º¹Á¦(replication)À» »ç¿ëÇÏ¿© °¢ ¼¹ö´Â µ¶¸³ÀûÀ¸·Î ½ÇÇàµÉ ¼ö ÀÖÀ¸¸ç, ÁÖ±âÀûÀ¸·Î ´Ù¸¥ ¼¹öµé°ú Ãæµ¹µÇ´Â Æ®·»Àè¼ÇÀ» ½Äº°Çϱâ À§ÇÑ Åë½ÅÀÌ ÀÌ·ç¾îÁú ¼ö ÀÖ½À´Ï´Ù. Æ®·£Á§¼ÇÀÇ Ãæµ¹Àº »ç¿ëÀÚ ¶Ç´Â Ãæµ¹ ȸÇǹý¿¡ ÀÇÇØ ÇØ°áµÉ ¼ö ÀÖ½À´Ï´Ù.
µ¥ÀÌÅÍ ºÐÇÒÀº Å×À̺íÀ» µ¥ÀÌÅÍÀÇ ¼¼Æ®·Î ³ª´©´Â °ÍÀÔ´Ï´Ù. °¢ ¼¼Æ®´Â ¿ÀÁ÷ ÇϳªÀÇ ¼¹ö¿¡ ÀÇÇØ º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, µ¥ÀÌÅÍ´Â °¢°¢ ÇϳªÀÇ ¼¹ö¸¦ °¡Áø ·±´ø°ú ÆÄ¸®ÀÇ ¿µ¾÷¼Ò¿¡ ÀÇÇØ ºÐÇҵǾîÁú ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ·±´ø°ú ÆÄ¸®ÀÇ µ¥ÀÌÅͰ¡ °áÇյǴ Äõ¸®°¡ ¿ä±¸µÇ¾î Áú °æ¿ì, ¾îÇø®ÄÉÀ̼ÇÀº µÎ ¼¹ö¿¡¼ Äõ¸®¸¦ ÁøÇàÇϰųª, ¸¶½ºÅÍ/½½·¹ÀÌºê º¹Á¦(replication)À» »ç¿ëÇØ ´Ù¸¥ ¿µ¾÷¼ÒÀÇ µ¥ÀÌÅ͸¦ Àбâ Àü¿ëÀ¸·Î º¸°üÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
À§ÀÇ ÇØ¹ý Áß ¸¹Àº ºÎºÐÀº ´Ù¼öÀÇ ¼¹ö°¡ ´Ù¼öÀÇ Äõ¸®¸¦ ó¸®Çϵµ·Ï ÇÕ´Ï´Ù. ±×·¯³ª ¾î¶°ÇÑ ÇØ¹ýµµ ó¸® ¼Óµµ¸¦ Çâ»ó½Ã۱â À§ÇØ, ÇϳªÀÇ Äõ¸®¸¦ ´Ù¼öÀÇ ¼¹ö°¡ ó¸®Çϵµ·Ï ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ÇØ¹ýÀº ´Ù¼öÀÇ ¼¹ö°¡ ÇϳªÀÇ Äõ¸®¸¦ µ¿½Ã¿¡ ½ÇÇàÇϵµ·Ï ÇÕ´Ï´Ù. ÀÌ´Â º¸Åë ¼¹ö °£¿¡ µ¥ÀÌÅ͸¦ ºÐÇÒÇÔÀ¸·Î½á ¼öÇàµÇ¾îÁö¸ç, °¢ ¼¹ö´Â ¸ÃÀº Äõ¸®ÀÇ ºÎºÐÀ» ¼öÇàÇϸç, ÁÖ¼¹ö¿¡¼ ´Ù½Ã °áÇյDZâ À§ÇØ °á°ú°¡ ¸®ÅϵǸç, ÀÌ´Â ´Ù½Ã »ç¿ëÀÚ¿¡°Ô µ¹¾Æ°©´Ï´Ù. Pgpool-II´Â ÀÌ¿Í °°Àº ¼º´ÉÀ» °¡Áö°í ÀÖ½À´Ï´Ù.
PostgreSQL´Â ¿ÀÇ ¼Ò½ºÀ̸ç, ¿ëÀÌÇÏ°Ô È®ÀåÀÌ °¡´ÉÇÕ´Ï´Ù. ´ë´Ù¼öÀÇ ±â¾÷µéÀº PostgreSQL¸¦ °¡Áö°í, »õ·Î¿î Àå¾Ö Á¶Ä¡(failover), º¹Á¦(replication) ±×¸®°í ·Îµå ±ÕÇü Á¶Á¤(load balancing) ±â´ÉÀ» °¡Áø Æó¼âµÈ ¼Ò½º¸¦ °³¹ßÇÏ¿´½À´Ï´Ù.