·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
½ãÀÇ Java DB »ç¿ë¹ý

Peter V. Mikhalenko ( TechRepublic )   2008/02/20  
Java DB´Â ¿ÏÀüÈ÷ ÀÚ¹Ù·Î ¸¸µé¾îÁø ¶óÀÌÆ®¿þÀÌÆ® DBMSÀÌ´Ù. 2MBÀÇ ¸Þ¸ð¸®¸¸ ÇÊ¿äÇØ¼­, ¿©·¯ºÐÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡ Á÷Á¢ÀûÀ¸·Î µ¥ÀÌÅͺ£À̽ºÀÇ ±â´ÉÀ» ÃæºÐÈ÷ ÇÒ ¼ö ÀÖ°Ô ÀÓº£µðµå Çϱ⠽±°Ô µÇ¾î ÀÖ´Ù.

JavaDB´Â ¶ÇÇÑ Ç¥ÁØÀ» µû¸£°í, SQL°ú JDBC API¸¦ Áö¿øÇϸç J2EE¿Í ½±°Ô ÅëÇÕÀÌ µÈ´Ù. Java 6¹öÀüÀÇ ¸±¸®½º¸¦ ½ÃÀÛÀ¸·Î, ½ãÀº JDK¿¡ Java DB¸¦ ÆÐŰÁö Çϱ⠽ÃÀÛÇß´Ù.

DBMS ÀÌÈÄÀÇ ±â¼ú
¾ÆÆÄÄ¡ ´õºñ(Apache Derby)´Â Java DBÀÇ Çٽɱâ¼úÀÌ´Ù. ´õºñ(Derby)ÀÇ µ¥ÀÌÅÍ º£À̽º ¿£ÁøÀº ÃæºÐÇÑ ±â´ÉÀ» ÇÏ´Â °ü°èÇü ÀÓº£µðµå µ¥ÀÌÅÍ º£À̽º ¿£ÁøÀÌ´Ù. JDBC¿Í SQLÀº API ÇÁ·Î±×·¡¹ÖÀÇ ÁÖ·ÂÀÌ´Ù.

Java DB¸¦ ±¸¼ºÇÏ´Â ¶Ç ´Ù¸¥ ÇÙ½É ±¸¼º¿ä¼Ò´Â ´õºñ ³×Æ®¿öÅ© ¼­¹öÀÌ´Ù. ³×Æ®¿öÅ© ¼­¹ö´Â ÀüÅëÀûÀΠŬ¶óÀÌ¾ðÆ® ¼­¹ö ±â´ÉÀ» Á¦°øÇÏ´Â ´õºñ µ¥ÀÌÅÍ º£À̽º ¿£ÁøÀÇ ¹üÀ§¸¦ È®ÀåÇÑ´Ù. ³×Æ®¿öÅ© ¼­¹ö´Â Ŭ¶óÀÌ¾ðÆ®°¡ Ç¥ÁØ DRDA ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ´Â TCP/IP ¿¬°áÀ» Çã¿ëÇÑ´Ù. ¶Ç ´õºñ ¿£ÁøÀÌ ³×Æ®¿öÅ©°¡ Çü¼ºµÈ JDBC, ODBC/ CLI, Perl, ±×¸®°í PHP Áö¿øÀ» Çã¿ëÇÑ´Ù.

´õºñ´Â ij, dblook, ±×¸®°í sysinfoÀÇ 3°¡Áö À¯¿ëÇÑ À¯Æ¿¸®Æ¼¸¦ °¡Áö°í ÀÖ´Ù.

¡Ü Ij´Â ¾î¶² JDBC µ¥ÀÌÅͺ£À̽º¿Í ¿¬µ¿ÇÏ¿© ½ÇÇàÇÏ´Â SQL ½ºÅ©¸³Æ®¸¦ Çã¿ëÇÏ´Â ÅøÀÌ´Ù.
¡Ü dblook´Â ´õºñ µ¥ÀÌÅͺ£À̽º¸¦ À§ÇÑ ½ºÅ°¸¶ ÃßÃâ ÅøÀÌ´Ù.
¡Ü sysinfo´Â ¹öÀü ³Ñ¹ö¿Í Ŭ·¡½º ÆÐ½º¸¦ Ç¥½ÃÇϵµ·Ï Çã¿ëÇÏ´Â À¯Æ¿¸®Æ¼ÀÌ´Ù.

¸ÖƼ¾²·¹µù(Multithreading) °í¹Î
¾ÖÇø®ÄÉÀ̼ÇÀÌ ÀÓº£µðµåµÈ ´õºñ JDBC µå¶óÀ̹ö¸¦ »ç¿ëÇÑ ´õºñ µ¥ÀÌÅͺ£À̽º¸¦ ¾×¼¼½º ÇÒ ¶§, ´õºñ ¿£ÁøÀº º°°³ÀÇ ÇÁ·Î¼¼½º¿¡¼­ ÀÛµ¿µÇÁö ¾Ê°í ½ÃÀÛ°ú Á¾·á½Ã º°°³ÀÇ µ¥ÀÌÅͺ£À̽º ÇÁ·Î¼¼½º°¡ ¾ø´Ù.

´ë½Å¿¡ ´õºñ µ¥ÀÌÅÍ º£À̽º´Â ¾ÖÇø®ÄÉÀ̼Çó·³ °°Àº ÀÚ¹Ù °¡»ó ¸Ó½Å(JVM) ³»¿¡¼­ ÀÛµ¿ÇÑ´Ù. ´õºñ´Â ½ÇÁ¦·Î ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÏ´Â ´Ù¸¥ jarÆÄÀÏó·³ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÑ ºÎºÐÀÌ µÈ´Ù.

´õºñ´Â ÁÖ¾îÁø µ¥ÀÌÅͺ£À̽º¿¡ ´ÙÁß Á¢¼ÓµéÀ» Áö¿øÇÑ´Ù. ÀÓº£µðµå µÈ ¾ÖÇø®ÄÉÀ̼ÇÀÇ º¸±â´Â µ¿½Ã »ç¿ëÀÚ¸¦ °ü¸®ÇÏ´Â ÀÓº£µðµå µÈ ´õºñÀÇ ÅèĹÀ̳ª Á¦·Î´Ï¸ð ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹öÀÌ´Ù. ¾î¶°ÇÑ À¯Àú¼öµµ À¥¼­¹ö¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º¸¦ ¾×¼¼½º ÇÏ´Â À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Ù.

¿ÀÁ÷ ÇϳªÀÇ JVMÀÌ µ¥ÀÌÅͺ£À̽º¸¦ ºÎÆÃÇÒ ¼ö À־ ´Ù¸¥ JVM¿¡¼­ µ¹°í ÀÖ´Â ¿©·¯ ¾ÖÇø®ÄÉÀ̼ÇÀº °°Àº µ¥ÀÌÅͺ£À̽º¸¦ ¾×¼¼½º ÇÒ ¼ö ¾ø´Ù.

JAVA DB »ç¿ë
DBMS »ç¿ëÀ» ½ÃÀÛÇϱâ À§Çؼ­´Â SDN(Sun Development Network)¿¡¼­ Java DB¸¦ ´Ù¿î ¹Þ¾Æ¾ß ÇÑ´Ù. ¹ÙÀ̳ʸ® ÆÄÀÏÀº ÀÓº£µðµå µ¥ÀÌÅͺ£À̽º ¾ÖÇø®ÄÉÀ̼ÇÀ» Çϱâ À§ÇØ ÇÊ¿äÇÑ ¸ðµç °ÍÀ» Á¦°øÇÑ´Ù.

ÆÄÀÏÀ» ´Ù¿î·Îµå ÇÏ°í ³ª¸é demo, frameworks, javadoc, docs ±×¸®°í lib¶ó´Â ¼­ºêµð·ºÅ丮·Î ±¸¼ºµÈ Java DB µð·ºÅ丮¸¦ º¼ ¼ö ÀÖ´Ù.

¡Ü demo 2°³ÀÇ µ¥¸ð ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. Çϳª´Â ¾î¶»°Ô ÀÓº£µðµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´ÂÁö¿¡ ´ëÇÑ °ßº»À̰í, ´Ù¸¥ Çϳª´Â Ŭ¶óÀ̾ðÆ®-¼­¹ö ȯ°æ¿¡¼­ Java DB¸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö¸¦ º¸¿© ÁÖ´Â µ¥¸ðÀÌ´Ù.
¡Ü frameworks ȯ°æ º¯¼ö, µ¥ÀÌÅͺ£À̽º »ý¼º ¹× ÀÛ¾÷ÀÇ ¼ÂÆÃÀ» À§ÇÑ À¯Æ¿¸®Æ¼¸¦ °¡Áö°í ÀÖ´Ù(º»°í¿¡¼­´Â µ¶¸³ÀûÀÎ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ¼³¸íÇϱ⠶§¹®¿¡ ÀÌ ¼­ºêµð·ºÅ丮¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù).
¡Ü javadoc API°ü·Ã ¹®¼­°¡ ÀÖ´Ù. ¸¸¾à Java DB API Javadoc¿¡¼­ ÁöÀûÇÏ´Â °Í ó·³ ¿©·¯ºÐÀÇ IDE¸¦ ±¸¼ºÇÏ·Á¸é À¯¿ëÇÏ´Ù.
¡Ü docs Java DBÀÇ Á¦Ç° ¼Â¾÷, ¾îµå¹Î ¹× ·¹ÆÛ·±½º °¡À̵尡 ÀÖ´Ù.
¡Ü lib JAR ÆÄÀÏ °°Àº ÆÐŰÁö µÈ Java DB¶óÀ̺귯¸®°¡ ÀÖ´Ù.
(´Ù¾çÇÑ ¶óÀ̺귯¸®¿¡ ´ëÇÑ ÀÚ·á´Â Java DB ¹®¼­¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.)

ÀÌ ±â»ç¿¡¼­´Â ÀÓº£µðµå µÈ µ¥ÀÌÅͺ£À̽º ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇØ derby.jar ¶óÀ̺귯¸® ÆÄÀϸ¸ »ç¿ëÇÒ °ÍÀÌ´Ù. °³¹ßÀ» À§ÇØ Java DB¸¦ ¼³Ä¡Çϱâ À§Çؼ­´Â derby.jar ÆÄÀÏÀ» ¾ÖÇø®ÄÉÀÌ¼Ç Å¬·¡½ºÆÐ½ºÀÇ ºÎºÐÀ¸·Î ¸¸µå´Â °Í¸¸ ¿ä±¸µÈ´Ù.

¹ÙÀ̳ʸ® ÆÄÀÏÀ» ¼³Ä¡Çϰí Ŭ·¡½ºÆÐ½º¿¡ derby.jar ÆÄÀÏÀÌ ÀÖÀ¸¸é ´Ù¸¥ JDBC ÄÄÇöóÀÌ¾ðÆ® µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â °Íó·³ Java DB¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù(¸¸¾à Java 6°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, derby.jarÆÄÀÏÀ» Ŭ·¡½ºÆÐ½º¿¡ Æ÷ÇÔ½ÃŰ¸é µÈ´Ù).

µå¶óÀ̹ö °ü¸®
JDBC ±â¼úÀÇ µå¶óÀ̹öÀÇ ·ÎµùÀ¸·Î DBMS¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù(Java DBÀÇ µå¶óÀ̹ö´Â derby.jar ÆÄÀϰú ÇÔ²² Àֱ⠶§¹®¿¡ ´Ù¸¥ °ÍÀ» ´Ù¿î·Îµå ¹ÞÀ» Çʿ䰡 ¾ø´Ù). µå¶óÀ̹ö¸¦ ·ÎµåÇϱâ À§ÇØ Class.forName ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÂüÁ¶ÇÑ´Ù. ÀÓº£µðµå µÈ µå¶óÀ̹ö À̸§Àº org.apache.derby.jdbc.EmbeddedDriverÀ̸ç, ´Ù¸¥ JDBC µå¶óÀ̹ö¸¦ ·ÎµåÇÏ´Â °Íó·³ ÇÒ ¼ö ÀÖ´Ù.

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");

µå¶óÀ̹ö ¸Å´ÏÀú·ÎºÎÅÍ ¿¬°áÀ» º¹±¸ÇÏ·Á¸é °£´ÜÇÏ°Ô µ¥ÀÌÅͺ£À̽º¸¦ Á¤ÀÇÇÏ´Â url ½ºÆ®¸µÀ» Á¦°øÇÏ°í µ¥ÀÌÅͺ£À̽º¿Í ÇÔ²² »óÈ£ ¿¬°á¿¡ ¿µÇâÀ» ÁÖ´Â ÇÁ·ÎÆÛƼ(properties)ÀÇ ¼¼ÆÃÀ» Á¦°øÇÑ´Ù. °¡Àå ÀϹÝÀûÀÎ ÇÁ·ÎÆÛƼ »ç¿ëÀº ¿¬°á½Ã À¯Àú¸í°ú ÆÐ½º¿öµå¸¦ ÇÔ²² ÇÏ´Â °ÍÀÌ´Ù.

urlÀÇ dbName Æ÷¼ÇÀ» Á¤ÀÇÇÏ´Â °ÍÀº ƯÁ¤ µ¥ÀÌÅͺ£À̽ºÀÌ´Ù. µ¥ÀÌÅͺ£À̽º´Â ÇöÀç ÀÛ¾÷ µð·ºÅ丮, JARÆÄÀÏ, ƯÁ¤ Java DB µ¥ÀÌÅͺ£À̽º Ȩ µð·ºÅ丮, ÆÄÀÏ ½Ã½ºÅÛ»óÀÇ Àý´ë À§Ä¡ ¶Ç´Â Ŭ·¡½ºÆÐ½º »ó¿¡¼­¿Í °°ÀÌ ¸¹Àº À§Ä¡ Áß ÇÑ °÷¿¡¼­ ÇÒ ¼ö ÀÖ´Ù.

ÀÓº£µðµå µÈ ȯ°æ¿¡¼­ÀÇ µ¥ÀÌÅͺ£À̽º ·ÎÄÉÀ̼ÇÀ» ´Ù·ç´Â °¡Àå ½¬¿î ¹æ¹ýÀº derby.system.home ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ¿¡ ¼¼ÆÃÇÏ´Â °ÍÀÌ´Ù. ÀÌ ÇÁ·ÎÆÛƼ´Â Java DB¿¡ ¸ðµç µ¥ÀÌÅͺ£À̽ºÀÇ µðÆúÆ® Ȩ À§Ä¡¸¦ ¸»ÇÏ´Â °ÍÀÌ´Ù. propertyListÀÇ ¿É¼ÇÀº µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ¿¡ ÆÐ½ºÇÒ ¼ö ÀÖ´Â ÇÁ·ÎÆÛƼ ¼ÂÀÌ´Ù.

URL»óÀÇ Java DB ½Ã½ºÅÛ¿¡ ÇÁ·ÎÆÛƼ¸¦ ÆÐ½ºÇϰųª º°°³ÀÇ ÇÁ·ÎÆÛƼ ¿ÀºêÁ§Æ®·Î ÆÐ½ºÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÇÁ·ÎÆÛƼ°¡ urlÀÇ ÀϺÎÀ̸é, ¼¼¹ÌÄÝ·Ð(;)Àº °¢ ÇÁ·ÎÆÛƼÀÇ ¼ÒÀ¯±ÇÀ» ¼±ÇàÇÏ¿©¾ß¸¸ ÇÑ´Ù. ¾Æ·¡¿¡ °¡Àå ÀϹÝÀûÀÎ ÇÁ·ÎÆÛƼ°¡ ÀÖ´Ù.

create=true
databaseName=nameOfDatabase
user=userName
password=userPassword
shutdown=true

ÀÏ´Ü ¾îµð¿¡ ¸ðµç µ¥ÀÌÅÍ º£À̽º°¡ Á¸ÀçÇÒ °ÍÀÎÁö¸¦ ¸í½ÃÇϸé, µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» º¹±¸ÇÑ´Ù. @

private void setDBSystemDir() {
// Decide on the db system directory: /.addressbook/
String userHomeDir = System.getProperty("user.home", ".");
String systemDir = userHomeDir + "/.addressbook";

// Set the db system directory.
System.setProperty("derby.system.home", systemDir);
}

Connection dbConnection = null;
String strUrl = "jdbc:derby:DefaultAddressBook;user=dbuser;password=dbuserpwd";
try {
dbConnection = DriverManager.getConnection(strUrl);
} catch (SQLException sqle) {
sqle.printStackTrace();
}
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
°³¹ßÀÚ ½Ç·ÂÇâ»ó À§ÇÑ ¿ø¸Ç ÇÁ·ÎÁ§...
[Ã¥¼Ò°³] À¥ °³¹ßÀÚ¸¦ À§ÇÑ ½ºÇÁ...
À©µµ¿ìCE °³¹ßÅø¿¡ °üÇÑ 12°¡Áö...
[±â°í] °¡»óÈ­ ½ÃÀåÀÇ Çö ÁÖ¼Ò
½ãÀÇ Java DB »ç¿ë¹ý
[±â°í] IT ¿¡³ÊÁö »ç¿ë ÃÖÀûÈ­...
¡¸BSP¿¡¼­ OS±îÁö¡¹¡¤¡¤¡¤À©µµ¿ì...
[ÇöÀ彺ÄÉÄ¡]Å× ¹Ý¼Ä ¾¾°ÔÀÌÆ® ºÎ»çÀå ¡°³ëÆ®ºÏ¿ë SSD ¼º´É°³¼± ´õµð³ª 2³â ÈÄ¿£ ¸ðµÎ äÅá± [00:03:03]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
[¼­¹ü±ÙÀÇ À¯ÄèÇÑ ¸®ºä]ÄÞÆÑÆ® µðÄ« '¾ó±¼Àνıâ´É ÀÚ¿õ°¡¸®ÀÚ'¡¦»ï¼º ºí·ç i8 VS ¼Ò´Ï »çÀ̹ö¼¦ W300 [00:04:20]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
¸óÇå2G, ÀϺ»¼­ ´ë¹Ú¡¦ Çѱ¹¼± ...
À¥2.0 ½Ã´ë, À̸ÞÀÏÀÇ Á¸ÀçÀÌÀ¯...
¿À¼®ÁÖ ¾È·¦ ´ëÇ¥ ¡°¹«·á¹é½Å¸¸ ¹Ï...
½ÇÆÐÇÏÁö ¾Ê´Â Á¦¾ÈÀÇ ¹ýÄ¢
Çö´ë °úÇбâ¼úÀÇ '7´ë ºÒ°¡»çÀÇ'
[News Blog] Áö±¸ ¹Ý´ëÆí...
¹æÅëÀ§, ¹«¼±¼³ºñ ±â¼ú±âÁØ Á¦Á¤ ...
·¹µåÇÞ, ´º¿åÁõ±Ç°Å·¡¼Ò À¯·Î³Ø½ºÆ®...
ÄÉÀ̺íTV, Ȩ³×Æ®¿öÅ© ¼­ºñ½º µµ...
KTF, ±è¿¬¾Æ ¸ð¹ÙÀÏ »ýÁß°è
[Àλç]»ï¼ºSDS¡¤»ï¼º³×Æ®¿÷½º¡¤¿¡...
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.