»õ·Î¿î Á¢±Ù¹ýÀ¸·Î º¹ÀâÇÑ ºñÁî´Ï½º SQL ó¸® ¼º´ÉÀ» ´ëÆø Áõ°¡½ÃÄÑ
KAIST, ±âÁ¸ Ú¸ ¿È´Ï»çÀÌ(OmniSci) DBMS ´ëºñ, ÃÖ´ë 88¹è³ª 󸮼ӵµ Çâ»ó
±è¹Î¼ö ±³¼ö(ÁÂÃø À§), ³²À±¹Î ¹Ú»ç (¿ìÃø À§), Çѵ¿Çü ¹Ú»ç°úÁ¤(¿ìÃø ¾Æ·¡) |
±¹³» ¿¬±¸ÁøÀÌ ¹æ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇÏ°í ¸ñÀû¿¡ ¸Â°Ô °Ë»ö, °ü¸®ÇÒ ¼ö ÀÖ´Â ½Ã½ºÅÛÀ» ÅëĪÇÏ´Â µ¥ÀÌÅͺ£À̽º°ü¸®½Ã½ºÅÛ(DBMS, DataBase Management System)À» ¼¼°è ÃÖ°í ¼öÁØÀÇ ¼º´ÉÀ¸·Î ²ø¾î¿Ã·È´Ù.
KAIST(Çѱ¹°úÇбâ¼ú¿ø)´Â Àü»êÇкΠ±è¹Î¼ö ±³¼ö ¿¬±¸ÆÀÀÌ µ¥ÀÌÅͺ£À̽º ÁúÀÇ ¾ð¾î SQL(Structured Query Language, ±¸Á¶È ÁúÀǾî) ó¸® ¼º´ÉÀ» ´ëÆø ³ôÀÎ ¼¼°è ÃÖ°í ¼öÁØÀÇ DBMS ±â¼úÀ» °³¹ßÇß´Ù°í 23ÀÏ ¹àÇû´Ù.
KAIST °ü°èÀÚ¿¡ µû¸£¸é ±è ±³¼ö ¿¬±¸ÆÀÀº µ¥ÀÌÅÍ Ã³¸®¸¦ À§ÇØ »ê¾÷ Ç¥ÁØÀ¸·Î »ç¿ëµÇ´Â SQL ÁúÀǸ¦ ±âÁ¸ DBMS¿Í´Â ÀüÇô ´Ù¸¥ ¹æ¹ýÀ¸·Î ó¸®ÇÔÀ¸·Î½á ¼º´ÉÀ» ±âÁ¸ ¿È´Ï»çÀÌ(OmniSci) DBMS ´ëºñ ÃÖ´ë 88¹è³ª ³ôÀÎ ½Å±â¼úÀ» °³¹ßÇß´Ù. ±è ±³¼öÆÀÀÌ °³¹ßÇÑ ÀÌ ±â¼úÀº ¿À¶óŬ·¸¶ÀÌÅ©·Î¼ÒÇÁÆ® SQL¼¹ö·IBM DB2 µî Ÿ DBMS¿¡µµ Àû¿ëÇÒ ¼ö ÀÖ¾î °í¼º´É SQL ÁúÀÇ Ã³¸®°¡ ÇÊ¿äÇÑ ´Ù¾çÇÑ °÷¿¡ Æø³Ð°Ô Àû¿ëµÉ ¼ö ÀÖÀ» °ÍÀ¸·Î ±â´ëµÈ´Ù.
´ëºÎºÐÀÇ DBMS´Â SQL ÁúÀǸ¦ ó¸®ÇÒ ¶§ ³»ºÎÀûÀ¸·Î µ¥ÀÌÅÍ Å×À̺íµéÀ» `¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸®(left-deep binary tree)' ÇüÅ·Π¹èÄ¡ÇØ Ã³¸®ÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. Áö³ ¼ö½Ê ³â°£ »ó¿ëȵŠ¿Â ´ëºÎºÐÀÇ DBMS´Â µ¥ÀÌÅÍ Å×À̺íµéÀÇ ¹èÄ¡ °¡´ÉÇÑ °¡Áö ¼ö°¡ ±âÇϱ޼öÀûÀ¸·Î ¸¹±â ¶§¹®¿¡ À̸¦ `¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸®' ÇüÅ·Π¹èÄ¡ÇØ SQL ÁúÀǸ¦ ó¸®ÇØ ¿Ô´Ù.
ÀÓÀÇÀÇ µÎ Å×À̺íÀÌ ±âº» Å°(primary key, PK)¿Í ¿Ü·¡ Å°(foreign key, FK)¶ó ºÒ¸®´Â °ü°è·Î °áÇÕ(Á¶ÀÎ ¿¬»ê)ÇÏ´Â °æ¿ì¿¡´Â ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î SQL ÁúÀǸ¦ È¿°úÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Ù. ¿©±â¼ ±âº» Å°´Â °¢ µ¥ÀÌÅÍ Çà(row)À» À¯ÀÏÇÏ°Ô ½Äº°ÇÒ ¼ö ÀÖ´Â ¿(column)ÀÌ°í, ¿Ü·¡ Å°´Â ±×·¸Áö ¾ÊÀº ¿ÀÌ´Ù.
Áö³ ¼ö½Ê ³â°£ »ê¾÷¿¡¼ »ç¿ëµÇ´Â DBÀÇ ±¸Á¶°¡ Á¡Á¡ º¹ÀâÇØÁö¸é¼ µÎ Å×À̺íÀº PK-FK °ü°è°¡ ¾Æ´Ñ FK-FK °ü°è, Áï ¿Ü·¡ Å°¿Í ¿Ü·¡ Å°ÀÇ °ü°è·Î °áÇÕÇÏ´Â º¹ÀâÇÑ ÇüÅÂÀÇ SQL ÁúÀǵéÀÌ ¸¹¾ÆÁö°í ÀÖ´Ù. ½ÇÁ¦ DBMSÀÇ ¼º´ÉÀ» ÃøÁ¤ÇÏ´Â »ê¾÷ Ç¥ÁØ º¥Ä¡¸¶Å©ÀÎ TPC-DS¿¡¼ Àüü º¥Ä¡¸¶Å©ÀÇ 26%°¡ ÀÌ·± º¹ÀâÇÑ SQL ÁúÀǵé·Î ±¸¼ºµÅ ÀÖ°í ±â°èÇнÀ(¸Ó½Å·¯´×), »ý¹° Á¤º¸ÇÐ µî ´Ù¾çÇÑ ºÐ¾ßµé¼µµ ÀÌ·¯ÇÑ º¹ÀâÇÑ SQL ÁúÀÇ »ç¿ëÀÌ Á¡Â÷ Áõ°¡ÇÏ´Â Ãß¼¼´Ù.
ÀÌÀü¿¡ ³ª¿Â DBMSµéÀº µÎ Å×À̺íÀÌ ÁÖ·Î PK-FK °ü°è·Î °áÇÕÇÑ´Ù´Â °¡Á¤ÇÏ¿¡ °³¹ßµÆ±â ¶§¹®¿¡ FK-FK °áÇÕÀÌ ÇÊ¿äÇÑ º¹ÀâÇÑ SQL ÁúÀǸ¦ ¸Å¿ì ´À¸®°Å³ª ½ÉÁö¾î ó¸®ÇÏÁö ¸øÇÏ´Â ½ÇÆи¦ °ÅµìÇØ¿Ô´Ù.
±è ±³¼öÆÀÀº ¹®Á¦ ÇØ°áÀ» À§ÇØ Å×À̺íµéÀ» ÇϳªÀÇ Ä¿´Ù¶õ `¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸®' ÇüÅ°¡ ¾Æ´Ñ ¿©·¯ °³ÀÇ ÀÛÀº `¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸®'¸¦ `nÇ× Á¶ÀÎ ¿¬»êÀÚ'·Î ¹´Â ÇüÅ·Π¹èÄ¡ÇØ Ã³¸®ÇÏ´Â ±â¼úÀ» °³¹ßÇß´Ù. À̶§ °¢°¢ÀÇ `ÀÛÀº ÀÌÁø Æ®¸®' ¾È¿¡´Â FK-FK °áÇÕ °ü°è°¡ ¹ß»ýÇÏÁö ¾Êµµ·Ï Å×À̺íµéÀ» ¹èÄ¡ÇÏ´Â °ÍÀÌ ÇÙ½ÉÀÌ´Ù.
°¢°¢ÀÇ `ÀÛÀº ÀÌÁø Æ®¸®'ÀÇ Ã³¸® °á°ú¹°À» `nÇ× Á¶ÀÎ ¿¬»êÀÚ'·Î °áÇÕÇØ ÃÖÁ¾ °á°ú¹°À» ±¸ÇÏ´Â °Íµµ ³Á¦·Î ²ÅÈ÷´Âµ¥ ¿¬±¸ÆÀÀº `ÃÖ¾Ç-ÃÖÀû(worst-case optimal) Á¶ÀÎ ¾Ë°í¸®Áò'À̶ó´Â ¹æ¹ýÀ¸·Î ÀÌ ¹®Á¦¸¦ ÇØ°áÇß´Ù.
`ÃÖ¾Ç-ÃÖÀû Á¶ÀÎ ¾Ë°í¸®Áò'Àº ±×·¡ÇÁ µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¶§ ÀÌ·ÐÀûÀ¸·Î °¡Àå ¿ì¼öÇÏ´Ù°í ¾Ë·ÁÁø ¾Ë°í¸®ÁòÀÌ´Ù. ±è ±³¼ö ¿¬±¸ÆÀÀº ¼¼°è¿¡¼ °¡Àå ¸ÕÀú ÀÌ ¾Ë°í¸®ÁòÀ» SQL ÁúÀÇ Ã³¸®¿¡ Àû¿ëÇØ ³Á¦¸¦ ÇØ°áÇÏ´Â µ¥ ¼º°øÇß´Ù.
±è¹Î¼ö ±³¼ö ¿¬±¸ÆÀÀº »õ·Î °³¹ßÇÑ DBMS ±â¼úÀ» GPU ±â¹ÝÀÇ DBMS °³¹ß¾÷üÀÎ ¹Ì±¹ ¿È´Ï»çÀÌ(OmniSci)Þä Á¦Ç°¿¡ Àû¿ëÇÑ °á°ú, OmniSci DBMSº¸´Ù ¼º´ÉÀÌ ÃÖ´ë 88¹è³ª Çâ»óµÈ °á°ú¸¦ ¾ò¾ú´Ù. ¶Ç TPC-DS º¥Ä¡¸¶Å©¿¡¼µµ ¼¼°è ÃÖ°í ¼öÁØÀÇ ¼º´ÉÀ» °¡Áø ±âÁ¸ÀÇ »ó¿ë DBMSº¸´Ù 5~20¹è³ª ´õ ºü¸¥ »ç½ÇÀ» È®ÀÎÇß´Ù. TPC-DS´Â DBMSÀÇ ¼º´ÉÀ» ÃøÁ¤Çϱâ À§ÇÑ »ê¾÷ Ç¥ÁØÀÇ ÃֽŠº¥Ä¡¸¶Å©ÀÌ´Ù.
±³½ÅÀúÀÚ·Î Âü¿©ÇÑ ±è¹Î¼ö ±³¼ö´Â "¿¬±¸ÆÀÀÌ °³¹ßÇÑ »õ·Î¿î ±â¼úÀº ´ëºÎºÐÀÇ DBMS¿¡ Àû¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ »ê¾÷Àû Ãø¸é¿¡¼ ÆÄ±Þ È¿°ú°¡ ¸Å¿ì Ŭ °ÍÀ¸·Î ±â´ëÇÑ´Ùˮ ¶ó°í ¸»Çß´Ù.
À̹ø ¿¬±¸¿¡´Â ±è ±³¼öÀÇ Á¦ÀÚÀÌÀÚ ¹Ì±¹ ¿È´Ï»çÀÌ(OmniSci)Þä¿¡ ÀçÁ÷ ÁßÀÎ ³²À±¹Î ¹Ú»ç°¡ Á¦1 ÀúÀÚ·Î, ±è ±³¼ö°¡ ±³½ÅÀúÀÚ·Î Âü¿©ÇßÀ¸¸ç Áö³ 18ÀÏ ¹Ì±¹ ¿À¸®°ÇÁÖ Æ÷Ʋ·£µå¿¡¼ ¿¸° µ¥ÀÌÅͺ£À̽º ºÐ¾ß ÃÖ°íÀÇ ±¹Á¦Çмú´ëȸ·Î ²ÅÈ÷´Â `½Ã±×¸ðµå(SIGMOD)'¿¡¼ ¹ßÇ¥µÆ´Ù. (³í¹®¸í : SPRINTER: A Fast 𝑛-ary Join Query Processing Method for Complex OLAP Queries).
ÇÑÆí, ÀÌ ¿¬±¸´Â Çѱ¹¿¬±¸Àç´Ü ¼±µµ¿¬±¸¼¾ÅÍ »ç¾÷ ¹× Áß°ß¿¬±¸ÀÚ Áö¿ø»ç¾÷, °ú±âÁ¤ÅëºÎ IITP SW½ºÅ¸·¦ »ç¾÷ÀÇ Áö¿øÀ» ¹Þ¾Æ ¼öÇàµÆ´Ù. (³¡)
¡à ¿¬±¸°³¿ä
1. ¿¬±¸ ¹è°æ
¿À´Ã³¯ ¸ÞÀÎ ¸Þ¸ð¸® ±â¹ÝÀÇ SQL ÁúÀÇ Ã³¸® ½Ã½ºÅÛµéÀº »ê¾÷ ºÐ¾ß¿¡¼ ºñÁî´Ï½º µ¥ÀÌÅ͵éÀ» ºÐ¼® ó¸®ÇÏ´Â µ¥ ÇʼöÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Ù. ¿¹¸¦ µé¾î Oracle, IBM DB2, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® SQL Server, OmniSci, MonetDB, MemSQL, SAP HANA, CoGaDB, Kinetica, Peloton, Ocelot, Quickstep, Hyrise µî ¸¹Àº »ó¿ë DBMS ¹× ¿ÀǼҽº DBMSµéÀÌ »ç¿ëµÇ°í ÀÖ´Ù. ÇÑÆí »çȸ°¡ °íµµÈµÊ¿¡ µû¶ó µ¥ÀÌÅͺ£À̽ºÀÇ ±¸Á¶µµ Á¡Á¡ º¹ÀâÇØÁö°í ÀÖ´Ù. ±×¿¡ µû¶ó µ¥ÀÌÅÍ ºÐ¼®ÀÇ À§ÇØ »ç¿ëµÇ´Â SQL ÁúÀǵµ ÀüÅëÀûÀÎ PK-FK (±âº»Å°-¿Ü·¡Å°) Á¶ÀÎÀÌ ¾Æ´Ñ, FK-FK(¿Ü·¡Å°-¿Ü·¡Å°) Á¶ÀÎÀÌ Æ÷ÇÔµÈ º¹ÀâÇÑ ÇüÅÂÀÇ SQL ÁúÀÇ°¡ Á¡Á¡ ´õ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ´Ù. ±×·¯³ª, À§¿¡¼ ¿°ÅÇÑ ¿À´Ã³¯ÀÇ ´ëºÎºÐÀÇ DBMSµéÀº FK-FK Á¶ÀÎÀÌ Æ÷ÇÔµÈ º¹ÀâÇÑ SQL ÁúÀǸ¦ Àß Ã³¸®ÇÏÁö ¸øÇÑ´Ù. ¿Ü·¡ Å°´Â ƯÁ¤ ÅõÇÃÀ» À¯ÀÏÇÏ°Ô ½Äº°ÇÏÁö ¸øÇÏ°í ¿©·¯ ÅõÇõé°ú ¸ÅÄ¡µÇ´Â Ư¼ºÀÌ ÀÖ¾î¼, µÎ Å×À̺íÀÌ FK-FK °ü°è·Î Á¶ÀÎÀÌ µÇ´Â °æ¿ì ³Ê¹« ¸¹Àº ÅõÇà ½Ö(pair)µéÀÌ »ý¼ºµÇ¾î ¸Þ¸ð¸® °ø°£ ºÎÁ·À¸·Î ó¸®ÇÏÁö ¸øÇÏ´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ¶ÇÇÑ ¸Þ¸ð¸® »ç¿ë·®À» ÁÙÀ̱â À§ÇØ °è»êÀ» ¸¹ÀÌ ÇÏ´Â ¹æ½ÄÀ¸·Î ó¸®ÇÒ °æ¿ì ½Ã°£ÀÌ ¸Å¿ì ¿À·¡ °É¸®´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù.
2. ¿¬±¸ ³»¿ë
º¹ÀâÇÑ SQL ÁúÀÇ Ã³¸®½Ã ¸Þ¸ð¸® °ø°£ ºÎÁ·À̳ª ½Ã°£ÀÌ ¸Å¿ì ¿À·¡ °É¸®´Â ¹®Á¦°¡ ¹ß»ýÇÏ´Â ÁÖ¿ä ¿øÀÎÀÌ µ¥ÀÌÅÍ Å×À̺íµéÀ» ÇϳªÀÇ Ä¿´Ù¶õ ¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸®(left-deep binary tree) ÇüÅ·Π¹èÄ¡Çϱ⠶§¹®¿¡ ¹ß»ýÇÔÀ» ã¾Æ³Â´Ù. Å×À̺íµéÀÇ °³¼ö°¡ Áõ°¡ÇÒ¼ö·Ï ¶Ç´Â FK-FK Á¶ÀÎÀÌ ¸¹ÀÌ Æ÷ÇԵǾî ÀÖÀ»¼ö·Ï ¹®Á¦°¡ ´õ ½É°¢ÇÏ°Ô ¹ß»ýÇÑ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ÇϳªÀÇ Ä¿´Ù¶õ ¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸® ´ë½Å Å×À̺íµéÀ» ¿©·¯ °³ÀÇ ÀÛÀº ¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸®µéÀ» nÇ× Á¶ÀÎ ¿¬»êÀÚ·Î ¹´Â ÇüÅ·Π¹èÄ¡ÇÏ¿© ó¸®ÇÏ´Â ±â¼úÀ» °³¹ßÇß´Ù. À̶§ °¢°¢ÀÇ ÀÛÀº ÀÌÁø Æ®¸® ¾È¿¡´Â FK-FK °áÇÕ °ü°è°¡ ¹ß»ýÇÏÁö ¾Êµµ·Ï Å×À̺íµéÀ» ¹èÄ¡¸¦ ÇÏ´Â °ÍÀÌ ÇÙ½ÉÀÌ´Ù. ±× °á°ú °¢°¢ÀÇ ÀÛÀº ÀÌÁø Æ®¸®´Â ¸Þ¸ð¸® ¹®Á¦¾øÀÌ ºü¸£°Ô ó¸®ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ±× ´ÙÀ½ °¢°¢ÀÇ ÀÛÀº ÀÌÁø Æ®¸®ÀÇ Ã³¸® °á°ú¸¦ ¸ð¾Æ¼ ÇѲ¨¹ø¿¡ nÇ× Á¶ÀÎ ¿¬»êÀڷΠó¸®ÇÑ´Ù. À̶§ ¸Þ¸ð¸® ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é¼ ÃÖ´ëÇÑ ºü¸£°Ô ó¸®ÇÒ ¼ö ÀÖµµ·Ï nÇ× Á¶ÀÎ ¿¬»êÀÚ¸¦ ÃÖ¾Ç ÃÖÀû(worst-case optimal) Á¶ÀÎ ¾Ë°í¸®ÁòÀ̶ó´Â ¹æ¹ýÀ¸·Î ó¸®ÇÑ´Ù. ÃÖ¾Ç ÃÖÀû Á¶ÀÎ ¾Ë°í¸®ÁòÀº ±×·¡ÇÁ µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¶§ ÀÌ·ÐÀûÀ¸·Î °¡Àå ¿ì¼öÇÏ´Ù°í ¾Ë·ÁÁ® ÀÖ´Â ¾Ë°í¸®ÁòÀε¥, À̸¦ ¾à°£ º¯ÇüÇÏ¿© SQL ÁúÀÇ Ã³¸®¿¡ Àû¿ëÇß´Ù. º» ¿¬±¸ÀÇ ±â¼úÀº °ÔÀÓ µî¿¡¼ ÈçÈ÷ »ç¿ëµÇ´Â GPU¸¦ ÀåÂøÇÒ °æ¿ì SQL ó¸® ¼Óµµ°¡ ´õ¿í °¡¼ÓµÇ´Â Ư¡À» Áö´Ñ´Ù. ÀϹÝÀûÀ¸·Î GPU´Â CPUº¸´Ù ÀÌ·ÐÀûÀÎ °è»ê ¼º´ÉÀÌ ¿ì¼öÇÏ´Ù. ÀÌ Á¡À» ÀÌ¿ëÇÏ¿© ÁÖ¾îÁø SQL ÁúÀÇ¿¡¼ ½Ã°£ÀÌ ¸¹ÀÌ ¼Ò¿äµÇ´Â ºÎºÐµéÀ» GPU·Î ½ºÆ®¸®¹ÖÇÏ¸é¼ GPU¿¡¼ °è»êÇÔÀ¸·Î½á SQL ÁúÀÇ Ã³¸® ¼Óµµ¸¦ °¡¼ÓÇÑ´Ù.
3. ±â´ë È¿°ú
ÇØ´ç ±â¼úÀ» GPU ±â¹ÝÀÇ DBMS·Î ¸Å¿ì À¯¸íÇÑ ¹Ì±¹ OmniSci(¿È´Ï»çÀÌ) DBMS¿¡ Àû¿ëÇÏ¿´À¸¸ç ±× °á°ú ¿ø·¡ÀÇ OmniSci DBMS¿¡ ºñÇØ ÃÖ´ë 88¹è ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ¾ú´Ù. ÀÌ ¼öÄ¡´Â º» ±â¼úÀÌ ¾ó¸¶³ª È¿°ú°¡ ÁÁ°í ¿ì¼öÇÑ ±â¼úÀÎÁö¸¦ ´ÜÀûÀ¸·Î º¸¿©ÁÖ´Â °á°úÀÌ´Ù. ¶ÇÇÑ TPC-DS º¥Ä¡¸¶Å©¸¦ ÀÌ¿ëÇÏ¿© Á¾·¡ ¼¼°è ÃÖ°í ¼º´ÉÀÇ »ó¿ë DBMSµé°ú ¼º´É ºñ±³¸¦ ÇÑ °á°ú º» ±â¼úÀÌ Àû¿ëµÈ OmniSCi DBMS°¡ ÃÖ¼Ò 5¹è, ÃÖ´ë 20¹è ´õ ºü¸¥ ¼º´ÉÀ» º¸¿´´Ù. º» ±â¼úÀº ÀÌ·Ð ¼öÁØÀÇ ±â¼úÀÌ ¾Æ´Ï¶ó ÀÌ¹Ì OmniSci¶ó´Â À¯¸í DBMS¿¡ Àû¿ëÇÏ¿© ½Ã½ºÅÛ ¼öÁØ¿¡¼ È¿°ú¸¦ È®ÀÎÇÑ »ó¿ë Á÷Àü ¼öÁØÀÇ ±â¼úÀÌ´Ù. ¶ÇÇÑ, ´ëºÎºÐÀÇ DBMS¿¡ Àû¿ë °¡´ÉÇÑ ±â¼úÀ̱⠶§¹®¿¡ °í¼º´É SQL ÁúÀÇ Ã³¸®°¡ ÇÊ¿äÇÑ ´Ù¾çÇÑ DBMSµé¿¡ Æø³Ð°Ô Àû¿ëµÇ´Â µî »ê¾÷Àû ÆÄ±Þ È¿°ú°¡ Ŭ °ÍÀ¸·Î ±â´ëÇÑ´Ù.
¡à ±×¸² ¼³¸í
±×¸² 1. Á¾·¡ DBMSµéÀº µ¥ÀÌÅÍ Å×À̺íµéÀ» ¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸® ¹æ½ÄÀ¸·Î ¹èÄ¡ÇÏ¿© ¹Ø¿¡¼ºÎÅÍ À§·Î ¿Ã¶ó°¡¸é¼ ó¸®ÇÑ´Ù (¿ÞÂÊ ±×¸²). ÆĶõ»ö ¶Ç´Â ÃÊ·Ï»ö ¹Ú½º´Â µ¥ÀÌÅÍ Å×À̺íÀÌ°í, ³ªºñ ³ØŸÀÌ ¸ð¾çÀº µÎ Å×À̺íÀ» °áÇÕÇÏ´Â Á¶ÀÎ ¿¬»êÀÚÀÌ´Ù. ÆĶõ»ö Å×À̺íÀÌ µÎ °³ ÀÌ»ó ÀÖÀ¸¸é FK-FK Á¶ÀÎÀÌ ¹ß»ýÇÑ´Ù. º» DBMS ±â¼úÀº Ä¿´Ù¸¥ ÇϳªÀÇ ÀÌÁø Æ®¸® ´ë½Å ¿©·¯ °³ÀÇ ÀÛÀº ÀÌÁø Æ®¸®µéÀ» ±¸¼ºÇÑ´Ù (¿À¸¥ÂÊ ±×¸²). S1, S2, S3 °¢°¢Àº ¿ÞÂÊ ±íÀº ÀÌÁø Æ®¸®ÀÌ´Ù. °¢ ÀÌÁø Æ®¸®¿¡´Â ÆĶõ»ö Å×À̺íÀÌ ÇÑ °³¾¿¸¸ ÀÖ¾î FK-FK Á¶ÀÎÀÌ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. »¡°£»ö ³ªºñ ³ØŸÀÌ ¸ð¾çÀº ÃÖ¾Ç ÃÖÀû Á¶ÀÎ ¾Ë°í¸®ÁòÀÌ Àû¿ëµÈ nÇ× Á¶ÀÎ ¿¬»êÀÚÀÌ´Ù. °¢ ÀÌÁø Æ®¸®ÀÇ °á°ú¹°À» nÇ× Á¶ÀÎ ¿¬»êÀÚ·Î ÇѲ¨¹ø¿¡ °áÇÕÇÏ¿© ó¸®ÇÑ´Ù.
±è¹Î¼ö ±³¼ö À̷»çÇ×
¡à ÀÎÀû»çÇ×
¡Û ¼Ò ¼Ó : KAIST
¡Û Àü È : 042-350-3582
¡Û e-mail : minsoo.k@kaist.ac.kr
¡à ÇзÂ
¡Û 2006³â KAIST ¹Ú»ç (Àü»êÇÐ)
¡Û 2000³â KAIST ¼®»ç (Àü»êÇÐ)
¡Û 1998³â KAIST Çлç (Àü»êÇÐ)
¡à °æ·Â»çÇ×
¡Û 2020~ÇöÀç : KAIST Àü»êÇкΠ¿µ³âÁ÷ ºÎ±³¼ö
¡Û 2011~2020³â : DGIST Á¤º¸Åë½ÅÀ¶ÇÕÀü°ø Á¶±³¼ö / ºÎ±³¼ö / ¿µ³âÁ÷ ºÎ±³¼ö
¡Û 2019~2020³â : DGIST ÇмúÁ¤º¸Ã³Àå
¡Û 2018~2020³â : ¿¬±¸Àç´Ü ERC ¾ÏÈæµ¥ÀÌÅÍ ±ØÇÑÈ°¿ë ¿¬±¸¼¾ÅÍ ¼¾ÅÍÀå
¡Û 2015~2016³â : NVIDIA GPU Research Center ¼¾ÅÍÀå
¡Û 2009~2011³â : ¹Ì±¹ IBM Almaden Research Center ¿¬±¸¿ø
¡Û 2007~2009³â : ¹Ì±¹ University of Illinois Urbana-Champaign Æ÷´Ú ¿¬±¸¿ø
KAIST È«º¸½Ç Á¦°ø
³ëº§»çÀ̾𽺠science@nobelscience.co.kr
<ÀúÀÛ±ÇÀÚ © ³ëº§»çÀ̾ð½º, ¹«´Ü ÀüÀç ¹× Àç¹èÆ÷ ±ÝÁö>