IMDS´Â ½Ç½Ã°£ ÀÓº£µðµå ÀÀ¿ëÇÁ·Î±×·¥ÀÇ µ¥ÀÌÅ͸¦ °ü¸®ÇÏ´Â µ¥ ÀÖ¾î¼ ±× È¿¿ë¼ºÀÌ ÀÔÁõµÇ°í Àִµ¥, ÀÌ ±Û¿¡¼´Â IMDS°¡ ¿ì¸®°¡ Àß ¾Ë°í ÀÖ´Â ±âÁ¸ÀÇ DBMS(Database Management System)µé°ú ¾î¶² Â÷À̰¡ ÀÖ´ÂÁö¿¡ ´ëÇØ ÃÊÁ¡À» ¸ÂÃç º¸°Ú´Ù(ÀÌ ±ÛÀº ÇÊÀÚ°¡ McObject»çÀÇ Ted A Kenney(ted@mcobject. com)¿Í ¸¹Àº ÀÇ°ß ±³È¯À» °ÅÄ¡¸ç ÀÛ¼ºÇÑ °ÍÀÓÀ» ¹Ì¸® ¹àÇôµÐ´Ù).
IMDSÀÇ ÇöÁÖ¼Ò
IMDS´Â ±Ù·¡¿¡ ³ª¿Â °³³äÀ̳ª Á¦Ç°Àº ¾Æ´Ï´Ù. ¿ì¸®³ª¶ó¿¡µµ ÀÌ¹Ì ¿©·¯ »ó¿ë Á¦Ç°µé°ú ¿ÀǼҽº Á¦Ç°µéÀÌ ½ÃÀå¿¡ ³ª¿Í Àִµ¥ ¾ÆÁ÷±îÁö ÀÓº£µðµå °³¹ßÀڵ鿡°Ô ±× ÀÎÁöµµ´Â ±×´ÙÁö Å©Áö ¾ÊÀº °Í °°´Ù. ¿ì¼± ±âÁ¸ RDBMSÀÇ °ø·æ ±â¾÷µéÀ̶ó°í ÇÒ¸¸ÇÑ ¿À¶óŬÀ̳ª IBMÀº ¸ðµÎ °ü·Ã Áß¼Ò±â¾÷µéÀ» ÇÕº´ÇØ TimesTen, SolidDB¶ó´Â Á¦Ç°µéÀ» °¡Áö°í ÀÖ°í, IMDS Àü¹® ¾÷üÀÎ McObject´Â eXtremeDB¶ó´Â Á¦Ç°À» °¡Áö°í ÀÖ´Ù. ¿ÀǼҽº Áø¿µ¿¡¼µµ ¿©·¯ Á¦Ç°µéÀÌ ³ª¿Í ÀÖ¾î¼ ÀڽŵéÀÌ IMDS¶ó°í Çϰí ÀÖ´Ù.
±×·±µ¥ °ü·Ã ³»¿ëÀ» °¡Áö°í ½ÇÁ¦ ¾÷¹«¸¦ ÇÏ´Â ¿£Áö´Ï¾îµé°ú À̾߱⸦ ÇØº¸¸é º¸Åë ÀÌ·± Á¦Ç°ÀÌ ÀÖ´Ù´Â »ç½Ç ÀÚü¸¦ ¸ð¸£´Â °æ¿ì°¡ ¸¹À½À» ¾Ë°Ô µÈ´Ù. ¶ÇÇÑ ÀÌ·± Á¦Ç°µéÀ» ÁÖ·Î »ç¿ëÇÏ°Ô µÉ ÀÓº£µðµå ½Ã½ºÅÛ °³¹ßÀÚµéÀº »ó´ëÀûÀ¸·Î DBÀÇ °³³äÀÌ ¾àÇÑ ÅͶó DBMS°¡ ¿Ö ÇÊ¿äÇÑ °ÍÀÌ°í ¾î¶»°Ô ¾²¿©¾ß ÇÒÁö¿¡ ´ëÇØ ¸ð¸£´Â °æ¿ì°¡ ¸¹´Ù(ÇÊÀÚÀÇ °æÇèÀ» À̾߱âÇϸé, ÀÌ·± ÀÌÀ¯·Î ÀÎÇØ IMDS¿¡ ´ëÇÑ Á¢±ÙÀÌ ¿ÀÈ÷·Á ±âÁ¸ÀÇ RDBMS¸¦ »ç¿ëÇÏ´Â °³¹ßÀڵ麸´Ù ÀÓº£µðµå °³¹ßÀÚµéÀÌ ´õ ½¬¿î °Í °°´Ù. ÀÏ·Ê·Î ÀÌ·± IMDS´Â º¸Åë SQL ÀÎÅÍÆäÀ̽ºµµ Á¦°øÇÏÁö¸¸ ÀϹÝÀûÀ¸·Î´Â ÀÚü API¸¦ Á¦°øÇÏ¿© ÀÌ API¸¦ »ç¿ëÇÏ¿© ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°Ô µÇ¸ç ÀÚü API¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¼º´ÉÀÌ ´õ ÁÁÀ¸¹Ç·Î À̸¦ ±ÇÀåÇÏ°Ô µÈ´Ù. ±×·¡¼ ¾Æ¹«·¡µµ SQL¿¡ Àͼ÷ÇÑ ÇÁ·Î±×·¡¸Óµé¿¡°Ô´Â Å« °ÅºÎ°¨ÀÌ ÀÏ °ÍÀ̶ó°í »ý°¢ÀÌ µé¾ú´Âµ¥, ½ÇÁ¦ ÀÓº£µðµåÂÊ °³¹ßÀÚµéÀº SQLÀ» ¸ð¸£¹Ç·Î ÀüÇô ¹®Á¦°¡ µÇÁö ¾Ê¾Æ ±â¿ì·Î ±×Ä£ ÀûÀÌ ¸¹´Ù).
»ç½Ç»ó ÀÓº£µðµå °³¹ßÀÚ¿¡°Ô´Â IMDS´Â DBº¸´Ù´Â µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ¹æ½ÄÀ¸·Î¸¸ ¿©°ÜÁú ¼ö ÀÖ´Ù. ÀÌ´Â ÄÚµå »çÀÌÁîµµ ÀÛ°í ¸Þ¸ð¸®¿¡ ÀúÀåÇÏ´Â ¹æ½ÄÀ̳ª ÀüüÀûÀÎ º¹À⼺ÀÌ ±âÁ¸ÀÇ Å©°í º¹ÀâÇÑ DB¿Í ºñ±³ÇÑ´Ù¸é »ó´ëÀûÀ¸·Î °£´ÜÇϱ⠶§¹®ÀÌ´Ù. ¿ÀÈ÷·Á DBº¸´Ù °¢ÀÚ Çʿ信 ÀÇÇØ ÀÛ¼ºÇÑ µ¥ÀÌÅÍ ÀúÀå ÄÚµå¿Í ´õ ºñ½ÁÇÏ°Ô ¿©°ÜÁú ¼ö ÀÖ´Ù. ÇÏÁö¸¸ DB¶ó´Â À̸§ÀÌ ºÙÀº ¸¸Å IMDS´Â ACID(Atomicity, Consistency, Isolation, Durability)¸¦ ÁؼöÇØ¾ß Çϸç, ¿©·¯ À¯Àú°¡ »ç¿ëÇÏ´Â °Í¿¡ ´ëÇÑ °í·Á¶óµç°¡ ÀڷḦ ½±°Ô ã¾Æº¸±â À§ÇØ À妽º(index)¸¦ ¿©·¯ °³ ÁÙ ¼ö ÀÖ´Â µîÀÇ À¯¿ëÇÑ ±â´ÉµéÀ» °¡Áö°í ÀÖ´Ù(À妽º¸¦ ¿©·¯ Çʵ忡 ÁÖ´Â Äڵ带 ÀÛ¼ºÇÑ´Ù°í »ý°¢Çغ¸¶ó. ÀÌ·± »ó¿ë Á¦Ç°ÀÌ ÀÖ´Ù´Â °ÍÀÌ ¹«Ã´ °í¸¶¿ï °ÍÀÌ´Ù).
ÇÏÁö¸¸ ÀÌ ±â»ç´Â IMDS°¡ ¹«¾ùÀΰ¡¶ó´Â À̾߱⺸´Ù´Â À̰ÍÀÇ »ó´ëÀûÀÎ °³³äÀÎ µð½ºÅ©¿¡ ÀڷḦ º¸Á¸ÇÏ´Â ¹æ½Ä°úÀÇ Â÷ÀÌÁ¡À» ÁÖ·Î À̾߱âÇϵµ·Ï ÇϰڴÙ(ÀÌ ±Û¿¡¼´Â In-Memory Database¸¦ °£´ÜÈ÷ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º·Î, ±âÁ¸ÀÇ ¹æ½ÄÀ¸·Î µð½ºÅ©¿¡ ÀڷḦ º¸Á¸ÇÏ´Â ¹æ½ÄÀÎ On-Disk Database¸¦ °£´ÜÈ÷ µð½ºÅ© µ¥ÀÌÅͺ£À̽º·Î ĪÇϰڴÙ. ÈçÇÏ°Ô ¾²À̴ ǥÇöÀº ¾Æ´Ï³ª ÆíÀÇ»ó µÎ °³¸¦ ºñ±³Çϱ⠽±°Ô Çϱâ À§ÇÔÀÌ´Ù).
Àθ޸𸮠¹æ½Ä, ¹¹°¡ ´Ù¸¥°¡?
¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀº ¸ÞÀÎ ¸Þ¸ð¸®¿¡ ·¹ÄÚµåµéÀ» ÀúÀåÇÑ´Ù´Â °ÍÀÌ ±âÁ¸ÀÇ µð½ºÅ© ¹æ½ÄÀÇ µ¥ÀÌÅͺ£À̽º¿Í °¡Àå Å« Â÷ÀÌÁ¡À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ÀÌ·¯ÇÑ Â÷À̰¡ µð½ºÅ© µ¥ÀÌÅͺ£À̽º¿ÍÀÇ Ä¿´Ù¶õ ¼º´É Â÷À̸¦ °¡Á®¿À°Ô ÇÏ´Â ÁÖ¿äÇÑ ÀÌÀ¯°¡ µÈ´Ù.
±×·±µ¥ ¸Þ¸ð¸® ¾×¼¼½º°¡ µð½ºÅ© ¾×¼¼½ºº¸´Ù ÈξÀ ºü¸£´Ù´Â °ÍÀº ÀüÇô »õ·Î¿î »ç½Çµµ ¾Æ´Ï¶ó¼, ÀÌ¹Ì ±âÁ¸ÀÇ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅ۵鵵 ÀÌ·¯ÇÑ »ç½ÇÀ» ij½Ã(Cache)¸¦ ÅëÇØ Àß ÀÌ¿ëÇϰí ÀÖ´Ù. Áï, ÀÚÁÖ »ç¿ëµÇ´Â ·¹ÄÚµåµéÀº ij½ÌÀ» ÅëÇØ ¸Þ¸ð¸®¿¡ ³Ö¾îµÎ°í »ç¿ëÇØ¼ µð½ºÅ© I/O¸¦ ¾ø¾Ö¸é¼ Á¢±Ù ¼Óµµ¸¦ ºü¸£°Ô Çϰí ÀÖ´Â °ÍÀÌ´Ù. À̸¦ °í·ÁÇÑ´Ù¸é °ú¿¬ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â Á¤¸» »õ·Î¿î °ÍÀΰ¡ÇÏ´Â Àǹ®À» °¡Áú ¼ö ÀÖ´Ù.
±×·±°¡ ÇÏ¸é ¿ä»õ´Â RAM-Disk À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇØ ¸Þ¸ð¸®¿¡ ÆÄÀÏÀ» ¸¸µå´Â ¹æ¹ýµµ °í·ÁÇØº¼ ¼ö ÀÖ´Ù. ±×·¸´Ù¸é ÀÌ¹Ì Àß ¾Ë·ÁÁø µð½ºÅ© µ¥ÀÌÅͺ£À̽º¸¦ Åë°·Î RAM-Disk¿¡ ¿Ã·Á³õÀ¸¸é À̰ÍÀÌ ¹Ù·Î ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º°¡ µÇ´Â °ÍÀº ¾Æ´Ò±î? µð½ºÅ©¿¡ ÀúÀåÀ» ÀüÇô ÇÏÁö ¾Ê°í ¸Þ¸ð¸®¿¡¼¸¸ ¸ðµç ÀÏÀÌ ¹ú¾îÁö¹Ç·Î Ưº°ÇÑ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏÁö ¾Ê¾Æµµ °°Àº È¿°ú¸¦ °¡Áö°Ô µÉ °Í °°´Ù.
ÇÏÁö¸¸ °á·ÐÀ» ¸ÕÀú ¸»ÇÏÀÚ¸é µð½ºÅ©¿¡ ÀúÀåÇÏ´Â °ÍÀ» ±â¹ÝÀ¸·Î ¸¸µé¾îÁø µ¥ÀÌÅͺ£À̽º´Â ±× ÀÛµ¿ ¹æ¹ýÀÌ ¸Þ¸ð¸®¿¡ ÀúÀåÇÏ´Â µ¥ÀÌÅͺ£À̽º¿Í´Â ÇöÀúÇÏ°Ô ´Ù¸£¹Ç·Î ±× ¼º´ÉÀº °°Áö ¾Ê´Ù. Áï, ¸Þ¸ð¸®¸¸ »ç¿ëÇÑ´Ù´Â Á¡Àº °°¾Æµµ ¹æ¹ýÀÌ ´Ù¸£¹Ç·Î ¼º´É¿¡ Â÷À̰¡ ³´Ù. Àç¹ÌÀÖ´Â Á¡Àº ¼º´ÉÀ» Çâ»ó½Ã۱â À§ÇØ »ç¿ëÇϴ ij½ÌÀÌ ¿ÀÈ÷·Á ¼º´ÉÀ» ÀúÇϽÃŰ´Â ÁÖ¿ä ¿øÀÎÀÌ µÈ´Ù´Â °ÍÀÌ´Ù.
¹°¸®ÀûÀÎ µð½ºÅ©¿¡ Á¢±ÙÇÏ¿© ÀÐ°í ¾²±â¸¦ ÇÏ´Â °ÍÀº ±âÁ¸ÀÇ ÀüÅëÀûÀÎ ¹æ½ÄÀÇ µ¥ÀÌÅͺ£À̽º¶ó¸é µ¥ÀÌÅÍ ÇÁ·Î¼¼½ÌÀÇ °¡Àå ¸¶Áö¸· ´Ü°è¿¡¼ ÇÏ°Ô µÇ´Â °ÍÀ̰í ÀÌ´Â ¸ðµç µ¥ÀÌÅͰ¡ ¿µ±¸ÀûÀÎ ÀúÀå Àå¼Ò¿¡ ÀúÀåµÇ¾î¾ß ÇÑ´Ù´Â »ý°¢¿¡ ±âÃÊÇÏ°Ô µÈ´Ù. ij½ÌÀº µ¥ÀÌÅ͸¦ Àд °æ¿ì¿¡´Â ½ÇÁ¦·Î ¼º´ÉÀ» Å©°Ô Çâ»ó½ÃŲ´Ù. ÇÏÁö¸¸ µ¥ÀÌÅ͸¦ ¾÷µ¥ÀÌÆ®ÇÏ´Â °æ¿ì´Â ij½Ã¸¦ Áö³ª °á±¹ µð½ºÅ©¿¡ ÀúÀåÇØ¾ß ÇϹǷΠ¼º´É Çâ»ó¿¡ Å©°Ô µµ¿òÀÌ µÇÁö ¾Ê´Â´Ù. ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â ÀÌ·¯ÇÑ µð½ºÅ©·ÎÀÇ Á¢±ÙÀ» ¾ø¾Ö°Å³ª ±× ±â´É ÀÚü¸¦ ¿Å°Ü¼ ¼º´É Çâ»óÀ» ÇÏ°Ô µÇ´Âµ¥ À̸¦ »ìÆìº¸µµ·Ï ÇÏÀÚ.
.jpg)
ij½Ì ¿À¹öÇìµå
ÀϹÝÀûÀ¸·Î ij½ÌÀº µð½ºÅ© µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´ÉÀ» Å©°Ô Çâ»ó½ÃŲ´Ù. ÇÏÁö¸¸ ¹Ý´ë·Î ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â ij½ÌÀ» ¾Æ¿¹ ¾ø¾ÚÀ¸·Î½á »ó´çÇÑ ¼Óµµ Çâ»óÀ» ¾ò°Ô µÈ´Ù. Á» ÀǾÆÇÑ ºÎºÐÀÏ ¼ö Àִµ¥, ij½ÌÀ̶ó°í ÇÏ´Â ±â´ÉÀº ´ç¿¬È÷ °øÂ¥°¡ ¾Æ´Ï´Ù. ij½ÌÀÌ Àß ÀÌ·ïÁö±â À§Çؼ´Â ij½Ã µ¿±âÈ(Cache Synchronization)°¡ ÇÊ¿äÇϰí(ÀÌ´Â ¹°¸®ÀûÀÎ µð½ºÅ©ÀÇ µ¥ÀÌÅͺ£À̽º ÆäÀÌÁö¿Í ij½Ã¿¡ ÀÖ´Â µ¥ÀÌÅͺ£À̽º ij½ÃÀÇ À̹ÌÁö°¡ µ¿ÀÏÇÑÁö¸¦ üũÇÑ´Ù), ½ÇÁ¦ µ¥ÀÌÅ͸¦ ¿äûÇÏ´Â ¸í·ÉÀÌ µé¾î¿À¸é ÀÏ´Ü Ä³½Ã¿¡ °¡¼ ij½Ã¿¡ ÀÖ´ÂÁö È®ÀÎÇÑ ÈÄ¿¡(Cache Lookup) µ¥ÀÌÅͰ¡ ¾øÀ¸¸é ½ÇÁ¦ ÆäÀÌÁö¿¡ °¡¼ µ¥ÀÌÅ͸¦ ²¨³»¿À°Ô µÈ´Ù.
ÀÌ·¯ÇÑ Ä³½Ì ÇÔ¼öµéÀº µð½ºÅ©¿¡¼ ·¹Äڵ带 ÀÐÀ» Çʿ䰡 ÀÖÀ» ¶§¸¶´Ù È£ÃâµÇ´Âµ¥, È£ÃâÀÌ µÉ ¶§¸¶´Ù ´ç¿¬È÷ CPU »çÀÌŬÀ» Àâ¾Æ¸Ô°í ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ°Ô µÈ´Ù. ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â ÀÌ·¯ÇÑ ¿À¹öÇìµå¸¦ °¡ÁöÁö ¾Ê´Â´Ù. ±×·¡¼ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â µð½ºÅ© µ¥ÀÌÅͺ£À̽º¶ó¸é Ç×»ó È£ÃâµÇ´Â ij½Ì °ü·Ã ÇÔ¼öµéÀÇ ¿À¹öÇìµå°¡ ¾ø¾îÁ®¼ ÀüüÀûÀÎ ¼º´ÉÀÌ ¿Ã¶ó°¡°Ô µÈ´Ù.
µ¥ÀÌÅÍ Àü¼Û ¿À¹öÇìµå
µ¥ÀÌÅÍ Àü¼Û ¿ª½Ã µð½ºÅ© µ¥ÀÌÅͺ£À̽º¸¦ ´À¸®°Ô ÇÏ´Â ºÎºÐÀÌ´Ù. ±âÁ¸ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¶§, ÇÁ·Î±×·¡¸Ó´Â ÀϹÝÀûÀ¸·Î ÀÚ½ÅÀÇ ÇÁ·Î±×·¥¿¡ »õ·Î¿î º¯¼ö¸¦ ¸¸µé°í ¿©±â¿¡ µ¥ÀÌÅͺ£À̽º¿¡¼ °¡Á®¿Â µ¥ÀÌÅ͸¦ ÀúÀåÇØ »ç¿ëÇÏ°Ô µÈ´Ù. ÀÌ´Â ÀÌ¹Ì µ¥ÀÌÅͺ£À̽º¿¡ ½ÇÁ¦·Î ÀúÀåµÅ ÀÖ´Â µ¥ÀÌÅͿʹ ¸î ´Ü°è°¡ ¶³¾îÁ® ÀÖ´Â »óȲÀÌ µÇ´Âµ¥, µð½ºÅ© µ¥ÀÌÅͺ£À̽ºÀÇ °æ¿ì ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅ͸¦ ÀÐ¾î ¿Í¼ ¼öÁ¤ÇÏ´Â °úÁ¤Àº ¿©·¯ °³ÀÇ ´Ü°è¸¦ °ÉÄ¡°Ô µÈ´Ù. ±× À̵¿ °æ·Î¸¦ º¸¸é <±×¸² 1>°ú °°´Ù.
- ÀÀ¿ëÇÁ·Î±×·¥ÀÌ µ¥ÀÌÅͺ£À̽ºÀÇ API¸¦ ÀÌ¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º ·±Å¸ÀÓÀ¸·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ¿äûÇÑ´Ù.
- µ¥ÀÌÅͺ£À̽º ·±Å¸ÀÓÀº ÆÄÀÏ ÀúÀå¼Ò(µð½ºÅ© ¶Ç´Â RAM-disk¶ó¸é ¸Þ¸ð¸®)¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ °¡Áö°í ¿Àµµ·Ï ÆÄÀϽýºÅÛ¿¡ ¿äûÇÑ´Ù.
- ÆÄÀϽýºÅÛÀº µ¥ÀÌÅ͸¦ ÆÄÀϽýºÅÛ Ä³½Ã¿¡ º¹»çÇÏ°í ´Ù¸¥ º¹»çº»Àº µ¥ÀÌÅͺ£À̽º·Î Àü´ÞÇÑ´Ù.
- µ¥ÀÌÅͺ£À̽º´Â º¹»çº»À» µ¥ÀÌÅͺ£À̽º ij½Ã¿¡ ÀúÀåÇÏ°í ´Ù¸¥ º¹»çº»À» ÀÀ¿ëÇÁ·Î±×·¥¿¡ Àü´ÞÇÑ´Ù.
- ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÚ½ÅÀÌ ¹ÞÀº µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÏ¿© µ¥ÀÌÅͺ£À̽º API¸¦ ÀÌ¿ëÇØ ´Ù½Ã µ¥ÀÌÅͺ£À̽º·Î ¼öÁ¤µÈ µ¥ÀÌÅ͸¦ º¸³½´Ù.
- µ¥ÀÌÅͺ£À̽º´Â ¼öÁ¤µÈ µ¥ÀÌÅ͸¦ ´Ù½Ã µ¥ÀÌÅͺ£À̽º ij½Ã·Î º¸³» ÀúÀåÇÑ´Ù.
- µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµÈ º¹»çº»Àº °á±¹ ÆÄÀϽýºÅÛ¿¡ º¸³» Áö´Âµ¥, ÀÌ´Â ´Ù½Ã ÆÄÀϽýºÅÛ Ä³½Ã¿¡µµ ÀúÀåµÈ´Ù.
- ¸¶Áö¸·À¸·Î µ¥ÀÌÅÍ´Â ¹°¸®Àû ¹Ìµð¾î(µð½ºÅ© ¶Ç´Â RAM-disk)·Î º¹»çµÈ´Ù.
À§¿¡¼ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ µ¥ÀÌÅ͸¦ µ¥ÀÌÅͺ£À̽º¿¡¼ °¡Á®¿Í¼ ¼öÁ¤ÇÏ´Â ÀÏÀº »ó´çÈ÷ ¸¹Àº ´Ü°è¸¦ °ÅÄ¡´Âµ¥, ¸¹Àº ´Ü°è°¡ ij½Ã¿Í ¿¬°áµÇ¾î ÀÖÀ¸¸ç(óÀ½¿¡ ¾ð±ÞÇß´ø ¹Ù¿Í °°ÀÌ ¼º´ÉÀ» ³ôÀÌ·Á´Â ij½Ã°¡ ¿ÀÈ÷·Á ¾î´À °æ¿ì¿¡´Â ¼º´ÉÀ» ÀúÇϽÃų ¼öµµ ÀÖ´Ù) ¸¹Àº º¹»ç°¡ ÀϾÀ» ¾Ë ¼ö ÀÖ´Ù.
¿©±â¿¡ ºñÇØ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â DB¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ Ä«ÇÇÇØ ¿Í¼ ³» Áö¿ª º¯¼ö¿¡ ÀúÀåÇÒ ¼öµµ ÀÖÁö¸¸(ÀÌ °æ¿ìµµ ¿©·¯ ´Ü°è°¡ ¾Æ´Ñ ÇÑ ´Ü°èÀÇ º¹»çÀÌ´Ù) µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â µ¥ÀÌÅÍÀÇ Æ÷ÀÎÅ͸¦ Á÷Á¢ °¡Á®¿Í¼ ±× Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ƯÈ÷ ¾÷µ¥ÀÌÆ®ÀÇ °æ¿ì¿¡´Â ÀüÇô ºÎ°¡ÀûÀÎ µ¿ÀÛÀÌ ¾øÀÌ ºü¸¥ ÀÛµ¿À» ÇÒ ¼ö ÀÖ´Ù.
.jpg)
¿î¿µÃ¼Á¦¿¡ ´ëÇÑ Á¾¼Ó¼º
¿î¿µÃ¼Á¦¿¡ ´ëÇÑ Á¾¼Ó¼ºÀº ¶Ç ´Ù¸¥ ¼º´É Â÷À̸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Â ºÎºÐÀÌ´Ù. µð½ºÅ© µ¥ÀÌÅͺ£À̽ºÀÇ °æ¿ì´Â µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â µ¥ÀÌÅÍ¿¡ Á¢±ÙÇϱâ À§ÇØ ¿î¿µÃ¼Á¦°¡ Á¦°øÇÏ´Â ÆÄÀϽýºÅÛÀ» »ç¿ëÇÏ°Ô µÈ´Ù. OS°¡ Á¦°øÇÏ´Â µ¥ÀÌÅ͸¦ ã´Â ÇÔ¼öÀÇ ¼º´ÉÀº Àüü ¼º´É¿¡ ¿µÇâÀ» ÁÖ°Ô µÈ´Ù(¸®´ª½ºÀÇ lseek ÇÔ¼ö °°Àº °ÍÀ» »ý°¢ÇÏ¸é µÈ´Ù). ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â ÆÄÀϽýºÅÛÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î ÀÌ·± ¹®Á¦¿¡¼ ÀÚÀ¯·Ó°í µ¥ÀÌÅÍ Á¢±Ù¿¡ ´ëÇØ ÃÖÀûȸ¦ ÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
Æ®·£Àè¼Ç ÇÁ·Î¼¼½Ì¿¡ ´ëÇÑ ¿À¹öÇìµå
µ¥ÀÌÅͺ£À̽º´Â ¾î¶² º¯È°¡ ÀϾ ¶§¸¶´Ù ±× ¸ðµç º¯ÈµéÀ» Àú³Î(Æ®·£Àè¼Ç ·Î±×)¿¡ ±â·ÏÇÑ´Ù. ±×·¡¼ ¹®Á¦°¡ ¹ß»ýÇßÀ» ¶§ µ¥ÀÌÅͺ£À̽º´Â ·Î±× ÆÄÀϷκÎÅÍ Æ®·£Àè¼ÇÀ» Ä¿¹ÌÆ®(commit)Çϰųª ·Ñ-¹é(roll-back)À» ÇÔÀ¸·Î½á µ¥ÀÌÅͺ£À̽º¸¦ ´Ù½Ã º¹±¸ÇÒ ¼ö ÀÖ´Ù. µð½ºÅ© µ¥ÀÌÅͺ£À̽º´Â ÀÌ·¯ÇÑ ·Î±×µéÀ» Ç×»ó ±â·ÏÇϰí ÀÖ´Ù°¡ Æ®·£Àè¼ÇÀÌ Ä¿¹ÌÆ®µÇ¸é ·Î±× ÆÄÀϵé°ú ij½Ã¸¦ µð½ºÅ©·Î Ç÷¯½¬(flush)ÇÏ°Ô µÇ¾î ÀÖ´Ù.
¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â Æ®·£Àè¼Ç ·Î±ë¿¡ ÀÖ¾î¼ ÀÌ·¯ÇÑ Àú³Î¸µ(journaling)À» »ç¿ëÇÏ´Â ¹æ¹ýÀÌ º¸Åë ¿É¼ÇÀ¸·Î µÇ¾î ÀÖ´Ù. ¿¹¸¦ µé¾î McObjectÀÇ eXtremeDBÀÇ °æ¿ì¿¡´Â Æ®·£Àè¼Ç ·Î±ë ¿Ü¿¡ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ¹æ¹ýÀ» Á¦°øÇϰí Àִµ¥, µ¥ÀÌÅͺ£À̽º´Â ¼öÁ¤ ¶Ç´Â »èÁ¦µÉ µ¥ÀÌÅÍÀÇ ±×Àü À̹ÌÁö¿Í Æ®·£Àè¼Ç Áß¿¡ Ãß°¡µÈ µ¥ÀÌÅͺ£À̽º ÆäÀÌÁö¸¦ ÀúÀåÇϰí ÀÖ´Ù. Æ®·£Àè¼ÇÀÌ Ä¿¹ÌÆ®µÇ¸é ±×Àü À̹ÌÁö¿Í ÆäÀÌÁö¸¦ °¡Áö°í ÀÖ´ø ¸Þ¸ð¸®´Â ´Ù½Ã ¸Þ¸ð¸®Ç®·Î µ¹¾Æ°¡´Âµ¥ ÀÌ´Â ¾ÆÁÖ ºü¸£°í È¿À²ÀûÀÎ ¹æ¹ýÀÌ´Ù. ¸¸¾à µ¥ÀÌÅͺ£À̽º°¡ Æ®·£Àè¼ÇÀ» Ãë¼ÒÇØ¾ß ÇÑ´Ù¸é(¿¹¸¦ µé¾î µ¥ÀÌÅͰ¡ µé¾î¿À´Â ½ºÆ®¸²ÀÌ ÀÌ»óÇØÁö´Â µîÀÇ ÀÏ·Î) ±× ÀÌÀü À̹ÌÁö°¡ ´Ù½Ã µ¥ÀÌÅͺ£À̽º·Î µ¹¾Æ°¡°í »õ·Î Ãß°¡µÈ ÆäÀÌÁö´Â ¸Þ¸ð¸®·Î µ¹¾Æ°¡°Ô µÈ´Ù. Áï, Æ®·£Àè¼Ç ·Î±ëÀ» ÇÏ´Â ¹æ¹ýµµ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º°¡ µð½ºÅ© µ¥ÀÌÅͺ£À̽ºº¸´Ù È¿À²ÀûÀ¸·Î ÇÒ ¼ö ÀÖ´Ù.
¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º¿Í µ¥ÀÌÅÍ ÀúÀ强
ÀÌ»óÀ¸·Î ±âÁ¸ µð½ºÅ© µ¥ÀÌÅͺ£À̽º¿Í ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´É Â÷À̰¡ ³¯ ¼ö ÀÖ´Â ºÎºÐµéÀ» »ìÆìºÃ´Ù. ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º ¾÷ü¿¡¼ÀÇ º¥Ä¡¸¶Å© Å×½ºÆ® °á°úµµ ½±°Ô ±¸ÇÒ ¼ö Àִµ¥, ±âÁ¸ µð½ºÅ© µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀ» RAM-Disk¿¡ ¿Ã·Á »ç¿ëÇØµµ Å©°Ô´Â 10¹è Á¤µµÀÇ ¼º´É Â÷À̰¡ ³²À» ½±°Ô ¾Ë ¼ö ÀÖ´Ù. »ç½Ç ÇÊÀÚ°¡ º¸±â¿¡ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽ºÀÇ ±¸Çö°ú ¼º´ÉÀº ÀÏ¹Ý µð½ºÅ© ¹æ½ÄÀÇ µ¥ÀÌÅͺ£À̽ºº¸´Ù´Â In-House ¹æ½ÄÀ¸·Î ³ª¸§´ë·Î ¸¸µé¾î »ç¿ëÇϰí ÀÖ´Â ÀÚ·á ÀúÀ广½Ä°ú ´õ À¯»çÇÏ´Ù.
ÇÏÁö¸¸ »ó¿ë Á¦Ç°µéÀÌ ÀϹÝÀûÀ¸·Î ÈξÀ ÁÁÀº ¼º´É°ú ¾ÈÁ¤¼ºÀ» Á¦°øÇϰí ÀÖÀ¸¸ç ¶ÇÇÑ µ¥ÀÌÅͺ£À̽º°¡ ÁöÄÑ¾ß ÇÒ ±âº»ÀûÀÎ ACID(Atomicity, Consistency, Isolation, Durability) Æ®·£Àè¼ÇÀ» Áö¿øÇϹǷΠ½Å·ÚÇÒ ¼ö ÀÖ´Â ±¸ÇöÀ» ¿øÇÑ´Ù¸é ´ç¿¬È÷ »ç¿ëÀ» °í·ÁÇÏ´Â °ÍÀÌ ÁÁ´Ù. Çö´ëÀÇ ÇÁ·Î±×·¡¹ÖÀº °¡´ÉÇϸé ÄÄÆ÷³ÍÆ®¸¦ ±¸ÀÔÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ¸¹Ç·Î ÀÓº£µðµå °³¹ßÀÚµéÀº ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º¸¦ ÁÖ¸ñÇϵµ·Ï ÇÏÀÚ.
¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÔ¿¡ ÀÖ¾î¼ °¡Àå °ÆÁ¤ÀÌ µÇ´Â ºÎºÐÀº ¾Æ¹«·¡µµ µ¥ÀÌÅͰ¡ Èֹ߼º ¸Þ¸ð¸®¿¡ ÀúÀåµÇ¹Ç·Î ¹®Á¦°¡ ¹ß»ýÇßÀ» °æ¿ì µ¥ÀÌÅ͸¦ ¸ðµÎ ÀÒ¾î¹ö¸± ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. ±×·±µ¥ ÀÀ¿ëÇÁ·Î±×·¥µé Áß¿¡´Â À̰ÍÀÌ ¹®Á¦µÇÁö ¾Ê´Â °æ¿ìµµ ¸¹´Ù. ¾î¶² ÀÓº£µðµå ½Ã½ºÅÛÀÇ °æ¿ì´Â ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽ºÀÇ ³»¿ëÀÌ ½Ã½ºÅÛÀÇ ½ÃÀ۽à »õ·Î ä¿öÁö°Ô µÇ´Âµ¥, ¿¹¸¦ µé¾î ¼ÂÅé¹Ú½º¿¡ ÀÖ´Â ÇÁ·Î±×·¥ °¡À̵å ÀÀ¿ëÇÁ·Î±×·¥Àº °è¼ÓÀûÀ¸·Î ³»¿ëÀÌ ¾÷µ¥ÀÌÆ®µÇ¹Ç·Î ¹Ì¸® ³»¿ëÀ» ÀúÀåÇϰí ÀÖÀ» Çʿ䰡 ¾ø´Ù. ¶ÇÇÑ ³×Æ®¿öÅ© ½ºÀ§Ä¡´Â ÇÁ·Î±×·¥ ½ÃÀ۽à ³×Æ®¿öÅ© ÅäÆú¸®Áö¸¦ ãÀ¸¸ç, ¹«¼±±â±â´Â ¼¹ö ÂÊ¿¡¼ º¸³»´Â Á¤º¸·Î Á¢±ÙÁ¡À» ã°Ô µÈ´Ù. ÀÌ·¯ÇÑ ÀÀ¿ëÇÁ·Î±×·¥µéÀº ¾ÖÃÊ¿¡ µ¥ÀÌÅÍÀÇ ÀúÀå¿¡ ´ëÇØ¼´Â Å©°Ô °ÆÁ¤ÇÒ Çʿ䰡 ¾ø´Ù.
¹°·Ð µ¥ÀÌÅ͸¦ ½ÇÁ¦·Î ÀúÀåÇØ¾ß ÇÒ Çʿ䰡 »ý±â´Â °æ¿ìµµ ¸¹´Ù. ÀÌ °æ¿ì ¿ª½Ã ¿©·¯ °¡Áö ¿É¼ÇÀÌ Á¸ÀçÇÏ°Ô µÇ´Âµ¥ ¿ì¼± ÁÖ±âÀûÀ¸·Î(¶Ç´Â »ç¿ëÀÚ°¡ ¿øÇÏ´Â ½ÃÁ¡¿¡) ¼ÒÄÏÀ̳ª ÆÄÀÌÇÁ µîÀ» ¿¾î ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º°¡ °¡Áö°í ÀÖ´Â µ¥ÀÌÅͺ£À̽º À̹ÌÁö¸¦ Àаųª ¾²´Â ±â´ÉÀ» Á¦°øÇØÁÙ ¼ö ÀÖ´Ù. ¹°·Ð ÀÌ´Â °©Àڱ⠴ÚÄ¡´Â Àç¾Ó¿¡ ´ëºñÇϱ⿡´Â Á» ¾î·Á¿ì¹Ç·Î ¾Æ¿¹ Èֹ߼ºÀÌ ¾Æ´Ñ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ¿©(¿¹¸¦ µé¾î ¹èÅ͸®·Î ¹é¾÷µÇ´Â ¸Þ¸ð¸®) ÀúÀåÇÏ´Â ¹æ¹ýµµ Á¦°øµÈ´Ù. ¶ÇÇÑ ¿©·¯ °³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ¿¬µ¿ÇÏ¿© µ¿±âȽÃÅ´À¸·Î½á »ç°í°¡ ÅÍÁö¸é ´Ù¸¥ µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ ¹é¾÷À» ¹Þ±âµµ ÇÑ´Ù(¹°·Ð ÀÌ´Â ÀϹÝÀûÀÎ µð½ºÅ© µ¥ÀÌÅͺ£À̽ºµéµµ ¹é¾÷ ¿ëµµ·Î ¸¹ÀÌ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù).
±Ù·¡¿¡ µé¾î¼´Â º¥´õµéÀÌ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º¿Í µð½ºÅ© µ¥ÀÌÅͺ£À̽º¸¦ ¼¯¾î ¾²´Â ÇÏÀ̺긮µå ¹æ½ÄÀ» Á¦°øÇϱ⠽ÃÀÛÇß´Ù. µð½ºÅ©¸¦ ¾²°Ô µÇ¸é ¶Ç´Ù½Ã °á±¹ µð½ºÅ© µ¥ÀÌÅͺ£À̽º¿Í ¶È°°¾Æ Áö´Â °Ô ¾Æ´Ñ°¡µµ ½ÍÀ¸³ª, ÀÌ °æ¿ì¿¡µµ µð½ºÅ©¿¡ ²À ÀúÀåÇØ¾ß ÇÏ´Â µ¥ÀÌÅÍ¿Í ¸Þ¸ð¸®¿¡¸¸ À־ µÇ´Â µ¥ÀÌÅÍ·Î ±¸ºÐÇØ ÀúÀåÇÏ´Â ¹æ¹ýµéÀÌ Á¦°øµÇ¹Ç·Î »ç¿ëÀÚ°¡ µ¥ÀÌÅÍ º°·Î Àڽſ¡°Ô ÇÊ¿äÇÑ ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀְԵŠÃÖÀûÈµÈ ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ ÀúÀ强°ú ¼º´ÉÀ» µÑ ´Ù ¸¸Á·½Ã۱â À§ÇØ ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â µð½ºÅ© µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·ÐÆ® ¿£µå ¿ªÇÒÀ» ÇÒ ¼öµµ ÀÖ´Ù. µð½ºÅ© µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´ÉÀ» ¿Ã¸®±â À§Çؼ ij½Ã¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼´Â ¾Õ¿¡¼ ÀÌ¹Ì ¾ð±ÞÇÏ¿´´Âµ¥, ¾Æ¿¹ 2°³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ¿¬µ¿ÇÏ¿© ÀϹÝÀûÀÎ ÀÛ¾÷Àº ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º°¡ ¾Õ¿¡¼ ºü¸£°Ô ó¸®Çϰí, ÇÊ¿ä·Î ÇÏ´Â °æ¿ì¿¡¸¸ ÈĹ濡 ÀÖ´Â µð½ºÅ© µ¥ÀÌÅͺ£À̽º(¿¹¸¦ µé¾î ¿À¶óŬ)·Î º¸³»¾î µð½ºÅ©¿¡ ÀúÀåÅä·Ï ÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ °æ¿ì´Â ÀÌ¹Ì ½ÇÁ¦·Î »ç¿ëÇϰí ÀÖ´Â ¿¹µéÀÌ ÀÖÀ¸¸ç, ´ë±Ô¸ðÀÇ µ¥ÀÌÅ͸¦ ¾ÆÁÖ ºü¸£°Ô ÀÐ°í ¾²±â À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ´Ù.
¸¹Àº ÀÀ¿ëÇÁ·Î±×·¥µéÀº ±× Ư¼º»ó µð½ºÅ©¿¡ ·¹Äڵ带 ÀúÀåÇÏ´Â DBMS¸¦ »ç¿ëÇÏ°Ô µÉ ÅÍÀε¥, ¾ÆÁÖ ºü¸¥ ¼º´ÉÀÌ ÇÊ¿äÇϰųª ¾ÆÁÖ ÀÛÀº ¸Þ¸ð¸® DzÇÁ¸°Æ®°¡ ÇÊ¿äÇϰųª ÇÏ¸é ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º°¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. Áï, ¸Þ¸ð¸® µ¥ÀÌÅͺ£À̽º´Â ´ë±Ô¸ðÀÇ µ¥ÀÌÅ͸¦ ´Ù·ç¾î¾ß ÇÏ´Â °³¹ßÀÚ¿Í ÀÓº£µðµå °³¹ßÀÚ ¸ðµÎ¿¡°Ô ÇÊ¿äÇÑ ±â¼úÀÌ´Ù.