|
|
|
Oracle, PostgreSQL, MySQL Core Architecture : MVCC ¸ÞÄ¿´ÏÁò°ú µ¥ÀÌÅÍ ºí·ÏÀÇ ³»ºÎ µ¿ÀÛ¿ø¸®
|
|
|
±Ç°Ç¿ì
¤Ó
¿¢¼À
|
|
|
|
- Á¦ÈÞ¸ô ÁÖ¹® ½Ã °í°´º¸»ó, ÀϺΠÀ̺¥Æ® Âü¿© ¹× ÁõÁ¤Ç° ÁõÁ¤, ÇÏ·ç/´çÀÏ ¹è¼Û¿¡¼ Á¦¿ÜµÇ¹Ç·Î Âü°í ¹Ù¶ø´Ï´Ù.
-
-
-
ÁÖ¿ä DBMS ³»ºÎ µ¿ÀÛ¿ø¸®¿¡ ´ëÇÑ ½ÉÃþ ºñ±³¿¬±¸
ÀúÀÚµéÀº ºòµ¥ÀÌÅÍ ½Ã´ëÀÇ »õ·Î¿î µ¥ÀÌÅÍ Ç÷§ÆûÀ» ¸ð»öÇϱâ À§ÇÑ Ã¹ ¹ø° ¿©Á¤À¸·Î ±âÁ¸ÀÇ ÁÖ¿ä RDBMSÀÎ Oracle, PostgreSQL, MySQL ÀÌ ¼¼ °¡Áö DB¸¦ ¼±ÅÃÇÏ¿© ±× ³»ºÎ µ¿ÀÛ¿ø¸®¸¦ ½ÉÃþÀûÀ¸·Î ºñ±³ ±Ô¸íÇÏ°í ÀÖ´Ù. ÀÌ Ã¥¿¡¼´Â ±âÁ¸ÀÇ °ÅÀÇ ¸ðµç Æ©´× Ã¥¿¡¼ ÁÖ·Î »ç¿ëÇÏ´Â ½ºÅ©¸³Æ® Å×½ºÆ® ¹æ¹ý·ÐÀ» ¹þ¾î³ª¼ ÀúÀÚµéÀÇ µ¶ÀÚÀûÀÎ DIA Method ¹æ¹ý·ÐÀ» »ç¿ëÇÏ¿© ºÐ¼®ÇÏ°í ÀÖ´Ù.
ÀÌ DIA Method´Â ÀúÀÚµéÀÌ ¹Ì¼Ç Å©¸®Æ¼Äà ½Ã½ºÅÛÀ» ±¸ÃàÇÏ°í ¿î¿µÇÏ¸é¼ ¸Â´Ú¶ß·È´ø ¼ö¸¹Àº ³Á¦¸¦ ÇØ°áÇϱâ À§ÇØ Áö³ 10¿© ³â µ¿¾È Á¡Â÷ÀûÀ¸·Î ¹ßÀü½ÃŲ °ÍÀÌ´Ù. ¶ÇÇÑ DB Catalog¿Í Formatted Block Dump¸¦ Ä£ÀýÇÏ°Ô Á¦°øÇÏÁö ¾Ê´Â ¿ÀǼҽº DBMSÀÎ MySQL°ú PostgreSQLÀÇ ³»ºÎ µ¿ÀÛ¿ø¸®¸¦ ±Ô¸íÇϴµ¥ ¸Å¿ì È¿°úÀûÀÎ Á¢±Ù ¹æ¹ýÀÌ µÇ¾î ÁÖ¾ú´Ù. µ¶ÀÚµéÀº ÀÌ Ã¥À» ÅëÇÏ¿© °¢ RDBMSÀÇ ³»ºÎ µ¿ÀÛ¿ø¸®¿Í ±× ÇÑ°èÁ¡À» ¾Ë°Ô µÉ °ÍÀÌ´Ù.
-
-
1. RDBMS¿Í MVCC¾ÆÅ°ÅØó - CHAPTER1 13
MVCC ¾ÆÅ°ÅØóÀÇ ¹ßÀü 13
RDBMSÀÇ Åº»ý°ú Concurrency Control 13
Multiversion Concurrency ControlÀÇ ¹ßÀü 15
MVCCÀÇ µÎ °¡Áö È帧 18
ù ¹ø° È帧 18
µÎ ¹ø° È帧 21
DBMSº° MVCC ¸ÞÄ¿´ÏÁòÀÇ ºñ±³ 23
Æ®·£Àè¼Ç 󸮸¦ À§ÇÑ ID 24
Old VersionÀÇ ÀúÀåÀ§Ä¡¿Í Æ÷ÀÎÅÍ 26
µ¥ÀÌÅÍ ºí·Ï ³»ÀÇ ·¹ÄÚµå °ü¸® 27
Æ®·£Àè¼ÇÀÇ Commit ÈÄ Ã³¸® 28
ReadviewÀÇ »ç¿ëÀ¯¹« 31
·¹ÄÚµå Çì´õÀÇ ±¸Á¶ ¹× Å©±â 33
Old VersionÀÇ Á¤¸® 35
Æ®·£Àè¼Ç ¸®½ºÆ®ÀÇ °ü¸® 37
Deep Internal Analyze Method 40
2. Oracle Deep Internal ? CHAPTER2 43
OracleÀÇ ¿ª»ç 43
Oracle Undo Architecture 45
UPDATE ½Ã, ¾ðµÎÀÇ Ã³¸®°úÁ¤ 45
Undo Record Chaining 61
MAX_CR_DBA (max length) 68
Oracle MVCC Architecture 81
Block Internal Architecture 91
Block Layout 91
Block ³»ºÎ µ¿ÀÛ¿ø¸® 98
Delayed Block Cleanout 101
3. PostgreSQL Deep Internal ? CHAPTER3 151
PostgreSQLÀÇ ¿ª»ç 151
PostgreSQL MVCC Architecture 152
Page Internal Architecture 16...4
Page Header 166
Line Pointer 167
Tuple Header 169
Vacuum 185
Á¤ÀÇ¿Í Çʿ伺 185
Vacuum ½ÇÇà ±¸Á¶ 186
Ç¥ÁØ Vacuum VS Full Vacuum 190
XID Wraparound¿Í Freezing 191
Autovacuum 200
VM°ú FSM ±¸Á¶ ºÐ¼® 207
4. MySQL Deep Internal ? CHAPTER4 221
MySQLÀÇ ¿ª»ç 221
MySQL/InnoDB Undo Architecture 222
MySQL/InnoDB MVCC Architecture 225
MySQL/InnoDB MVCC 225
Readview 232
Page Internal Architecture 240
Page Layout 240
Directory slot 250
Page ³»ºÎ µ¿ÀÛ¿ø¸® 263
IBD FileÀÇ ±¸Á¶ 268
Purge 283
Purge Á¤ÀÇ ¹× Çʿ伺 283
Purge Update Undo 284
Purge Garbage Space 295
Âü°í¹®Çå 305
Ç¥¤ý±×¸² ¸®½ºÆ® 310
-
-
|
±Ç°Ç¿ì [Àú]
|
|
-
redpine71@wedatalab.com http://blog.naver.com/redpine71 °ø¹«¿øÀ» ²Þ²Ù¸ç ´ëÇп¡ µé¾î°¬À¸³ª
µ¿¼¾ç¹®È ¿¡ ½ÉÃëÇÏ¿© ¼ö¸¹Àº »çºÎ´ÔµéÀ» ã¾Æ´Ù³æ°í ±â³ª±ä °¥±¸³¡¿¡ ¼¿ï Àλ絿°ú Áß±¹ Çϳ²¼º ȲÅä¹úÆÇ ±×¸®°í ½Ç¸®Äܹ븮¿¡¼ ½º½ÂÀ» ¸¸³µ´Ù. Áö±ÝÀº »ê¿¡¼ ³»·Á¿Í ¸¹Àº Ä£±¸µé°ú µ¿¼¹®¸íÀ» À¶ÇÕ½ÃÅ°´Â »õ·Î¿î µµÀüÀÇ ¿©Á¤¿¡ ÀÖ´Ù. ±× Áß Çϳª·Î ºòµ¥ÀÌÅÍ ¿Í ÀΰøÁö´ÉÀÇ º»ÁúÀ» ¿¬±¸ÇÏ°í ½±°Ô Àü´ÞÇÏ´Â ½ºÅ丮ÅÚ·¯·Î È°¾àÇÏ°í ÀÖ´Ù. úÞ À§µ¥ÀÌÅÍ·¦ ´ëÇ¥ÀÌ»ç úÞ ¼º±Õ°ü´ë, ÇѾç´ë °âÀÓ±³¼ö úÞ ¼¼°èÁø¼Ò¿ÕűرÇÃÑȸ ¼¿ïºÐȸÀå úÞ ±¹Á¦¼¹ý¿¬ÇÕ Çѱ¹º»ºÎ »ç¹«Â÷Àå îñ »ï¼ºSDS technical architect
-
-
Àüü 0°³ÀÇ ±¸¸ÅÈıⰡ ÀÖ½À´Ï´Ù.
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù. |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
»óÇ°À» °ø±Þ ¹ÞÀº ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´É
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ù À̳», ȤÀº ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳»
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´É |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
±¸¸ÅÈ®Á¤ ÀÌÈÄ(¿ÀǸ¶ÄÏ»óÇ°¿¡ ÇÑÇÔ)
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
(´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü)
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì |
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
Áß°í»óÇ°ÀÇ ±³È¯ |
Áß°í»óÇ°Àº Á¦ÇÑµÈ Àç°í ³»¿¡¼ ÆǸŰ¡ ÀÌ·ç¾îÁö¹Ç·Î, ±³È¯Àº ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
¿ÀǸ¶ÄÏ »óÇ°ÀÇ È¯ºÒ |
¿ÀǸ¶ÄÏ»óÇ°¿¡ ´ëÇÑ Ã¥ÀÓÀº ¿øÄ¢ÀûÀ¸·Î ¾÷ü¿¡°Ô ÀÖÀ¸¹Ç·Î, ±³È¯/¹ÝÇ° Á¢¼ö½Ã ¹Ýµå½Ã ÆǸÅÀÚ¿Í ÇùÀÇ ÈÄ ¹ÝÇ° Á¢¼ö¸¦ ÇϼžßÇϸç, ¹ÝÇ°Á¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óÇ° È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡´ÉÇÒ ¼ö ÀÖÀ¸´Ï À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
¹è¼Û¿¹Á¤ÀÏ ¾È³» |
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°¿¡ ´ëÇØ ¹è¼Û¿Ï·á¿¹Á¤ÀÏÀ» À¥»çÀÌÆ®¿¡ Ç¥½ÃÇÏ°í ÀÖ½À´Ï´Ù.
|
<ÀÎÅÍÆÄÅ© Á÷¹è¼Û »óÇ°> |
»óÇ°Àº ¿ù~Åä¿äÀÏ ¿ÀÀü 10½Ã ÀÌÀü ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ´çÀÏ Ãâ°í/´çÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù. |
»óÇ°Àº ¼¿ïÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀº ´çÀÏ Ãâ°í/ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇϸç,
¼¿ï¿ÜÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀÇ °æ¿ì´Â ¿ÀÈÄ 6½Ã±îÁö ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù.
(´Ü, ¿ù¿äÀÏÀº 12½Ã±îÁö ÁÖ¹®¿¡ ÇÑÇÔ)
|
»óÇ°Àº, ÀÔ°í¿¹Á¤ÀÏ(Á¦Ç°Ãâ½ÃÀÏ)+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù. |
~
»óÇ°Àº À¯ÅëƯ¼º»ó ÀÎÅÍÆÄÅ©¿¡¼ Àç°í¸¦ º¸À¯ÇÏÁö ¾ÊÀº »óÇ°À¸·Î ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø±âÁØÃâ°íÀÏ:ÀÎÅÍÆÄÅ©°¡ »óÇ°À» ¼ö±ÞÇÏ¿© ¹°·ùâ°í¿¡¼ Æ÷Àå/Ãâ°íÇϱâ±îÁö ¼Ò¿äµÇ´Â ½Ã°£
|
|
<¾÷ü Á÷Á¢¹è¼Û/¿ÀǸ¶ÄÏ »óÇ°> |
~
»óÇ°Àº ¾÷ü°¡ ÁÖ¹®À» È®ÀÎÇÏ°í, Ãâ°íÇϱâ±îÁö °É¸®´Â ½Ã°£ÀÔ´Ï´Ù. ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(2ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø5ÀÏÀ̳» Ãâ°í°¡ ½ÃÀÛµÇÁö ¾ÊÀ»½Ã, ¿ÀǸ¶ÄÏ »óÇ°Àº ÀÚµ¿À¸·Î ÁÖ¹®ÀÌ Ãë¼ÒµÇ¸ç, °í°´´Ô²² Ç°Àýº¸»ó±ÝÀ» Áö±ÞÇØ µå¸³´Ï´Ù.
|
|
|
¹è¼Ûºñ ¾È³» |
µµ¼(Áß°íµµ¼ Æ÷ÇÔ)¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û) À½¹Ý/DVD¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
ÀâÁö/¸¸È/±âÇÁÆ®¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í À½¹Ý/DVD¸¦ ÇÔ²² ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø 1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í ÀâÁö/¸¸È/±âÇÁÆ®/Áß°íÁ÷¹è¼Û»óÇ°À» ÇÔ²² ±¸¸ÅÇϽøé : 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
¾÷üÁ÷Á¢¹è¼Û»óÇ°À» ±¸¸Å½Ã : ¾÷üº°·Î »óÀÌÇÑ ¹è¼Ûºñ Àû¿ë
* ¼¼Æ®»óÇ°ÀÇ °æ¿ì ºÎºÐÃë¼Ò ½Ã Ãß°¡ ¹è¼Ûºñ°¡ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
* ºÏÄ«Æ®¿¡¼ ¹è¼Ûºñ¾ø¾Ö±â ¹öÆ°À» Ŭ¸¯Çϼż, µ¿ÀϾ÷ü»óÇ°À» Á¶±Ý ´õ ±¸¸ÅÇϽøé, ¹è¼Ûºñ¸¦ Àý¾àÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
|
|
Çؿܹè¼Û ¾È³» |
ÀÎÅÍÆÄÅ©µµ¼¿¡¼´Â ±¹³»¿¡¼ ÁÖ¹®ÇϽðųª ÇØ¿Ü¿¡¼ ÁÖ¹®ÇÏ¿© ÇØ¿Ü·Î ¹è¼ÛÀ» ¿øÇÏ½Ç °æ¿ì DHL°ú Ư¾àÀ¸·Î Ã¥Á¤µÈ ¿ä±ÝÇ¥¿¡
ÀÇÇØ °³ÀÎÀÌ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ¹è¼Û¿ä±ÝÀ» Å©°Ô ³·Ã߸ç DHL(www.dhl.co.kr)·Î Çؿܹè¼Û ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù.
Çؿܹè¼ÛÀº µµ¼/CD/DVD »óÇ°¿¡ ÇÑÇØ ¼ºñ½ºÇÏ°í ÀÖÀ¸¸ç, ´Ù¸¥ »óÇ°À» ºÏÄ«Æ®¿¡ ÇÔ²² ´ãÀ¸½Ç °æ¿ì Çؿܹè¼ÛÀÌ ºÒ°¡ÇÕ´Ï´Ù.
ÇØ¿ÜÁÖ¹®¹è¼Û ¼ºñ½º´Â ÀÎÅÍÆÄÅ© µµ¼ ȸ¿ø °¡ÀÔÀ» Çϼž߸¸ ½Åû °¡´ÉÇÕ´Ï´Ù. |
|
¾Ë¾ÆµÎ¼¼¿ä!!! |
µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
¿ÀǸ¶ÄϾ÷üÀÇ ¹è¼ÛÁö¿¬½Ã ÁÖ¹®ÀÌ ÀÚµ¿À¸·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
À¯ÅëÀÇ Æ¯¼º»ó Ãâ°í±â°£Àº ¿¹Á¤º¸´Ù ¾Õ´ç°ÜÁö°Å³ª ´ÊÃçÁú ¼ö ÀÖ½À´Ï´Ù.
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. |
|
|
|
|