JDK 1.6을 설치할 때 눈에 띄는 달라진 점은 바로 JavaDB 를 설치한다는 점이다. 첨엔 궁금했다.

"이게 뭐지?"

그래서 한번 찾아 봤다.

1. JavaDB의 등장과 기원(참조)

JavaDB의 기원은 1996년 IBM이 Cloudscape라는 프로젝트를 시작으로부터 출발하여 1999년에 Infomix, 2001년에는 IBM이 관리하였으며 2004년에 지금의 Apache에 기부되었다. Apache는 이 프로젝트에 Apache Derby라는 프로젝트로 진행을 하고 있으며 Apache DB subproject라는 이름 또한 가지고 있다. JavaDB는 이 Apache Derby의 Sun의 서포트를 받는 배포판이다.(Sun's supported distribution - JavaDB 사용 자체는 Apache License를 따르나 Sun에 비용을 내고 서비스를 받을 수 있는 버젼이다.)

2. 특징(참조)

- JavaDB 는 경량의 DB이다. : Base Engine과 Embedded JDBC Driver를 포함하여 약 2Mb 이다.
- JavaDB 는 순수 자바와 JDBC 기반에 표준 SQL을 따른다.
- JavaDB 는 Client/Server 모드를 지원한다.(참조)
- JavaDB 는 설치, 디플로이 그리고 사용하기가 쉽다.

3. 설치(참조)

일단 처음 언급했듯이 JDK 1.6 을 설치하면 자동으로 설치가 된다. 하지만 그냥 깔리는 대로 쓰면 JavaDB에 대해 알기가 쉽지 않을 것이다. 직접 설치해 보도록 하자.

일단 JavaDB 다운로드 페이지에 가서 다운로드를 받아보자.

다운로드 가능한 형식은 All Platforms, Linux, Solaris(SPARC, x86), Windows 의 다섯가지 형태로 제공된다. 이중 기본 4가지는 설치페이지에 잘 설명되어 있으니 참고하기 바란다. 그럼 All Platforms 로 다운 받아보자.

설명과는 달리 다운받는 파일(javadb-10.4.2-0-1.zip)은 약 11Mb로 이는 문서와 각종 데모를 포함하고 있어서이다.(문서가 꽤 많다.)

앞으로의 설명은 Windows XP 에서 작업하는 것을 기준으로 하며 JavaDB는 JDK 1.4 이상에서 작동한다.

일단 적당한 곳에 압축을 풀고 DERBY_HOME을 설정한다. 그리고 PATH에 %DERBY_HOME%\bin 을 등록한다. 이로서 기본작업은 끝난다. 그럼 %DERBY_HOME%\bin 으로 이동해보자 dir을 해보면 아래 목록과 같은 파일들이 있다.

2008-03-10  오후 02:11             1,153 dblook
2008-03-10  오후 02:11             1,387 dblook.bat
2008-03-10  오후 02:11             2,426 derby_common.bat
2008-03-10  오후 02:11             4,853 derby_common.sh
2008-03-10  오후 02:11             1,241 ij
2008-03-10  오후 02:11             1,379 ij.bat
2008-03-10  오후 02:11             1,166 NetworkServerControl
2008-03-10  오후 02:11             1,413 NetworkServerControl.bat
2008-03-10  오후 02:11             1,071 setEmbeddedCP
2008-03-10  오후 02:11             1,278 setEmbeddedCP.bat
2008-03-10  오후 02:11             1,077 setNetworkClientCP
2008-03-10  오후 02:11             1,284 setNetworkClientCP.bat
2008-03-10  오후 02:11             1,073 setNetworkServerCP
2008-03-10  오후 02:11             1,273 setNetworkServerCP.bat
2008-03-10  오후 02:11             1,171 startNetworkServer
2008-03-10  오후 02:11             1,375 startNetworkServer.bat
2008-03-10  오후 02:11             1,174 stopNetworkServer
2008-03-10  오후 02:11             1,381 stopNetworkServer.bat
2008-03-10  오후 02:11             1,153 sysinfo
2008-03-10  오후 02:11             1,389 sysinfo.bat

이중 sysinfo.bat 를 실행하면 아래와 같이 현재 환경이 표시된다.(개발 환경에 따라 내용은 조금 차이날 수 있다.)

------------------ Java 정보 ------------------
Java 버전:        1.5.0_13
Java 벤더:        Sun Microsystems Inc.
Java 홈:          c:\java\jdk1.5\jre
Java 클래스 경로: C:\java\apache-log4j-1.2.15\log4j-1.2.15.jar;C:\javatest;C:\ja
va\javadb-10.4.2-0-1\bin\../lib/derby.jar;C:\java\javadb-10.4.2-0-1\bin\../lib/d
erbynet.jar;C:\java\javadb-10.4.2-0-1\bin\../lib/derbyclient.jar;C:\java\javadb-
10.4.2-0-1\bin\../lib/derbytools.jar
OS 이름:          Windows XP
OS 구조:          x86
OS 버전:          5.1
Java 사용자 이름: inyhan
Java 사용자 홈:   C:\Documents and Settings\inyhan
Java 사용자 디렉토리: C:\java\javadb-10.4.2-0-1\bin
java.specification.name: Java Platform API Specification
java.specification.version: 1.5
--------- Derby 정보 --------
JRE - JDBC: J2SE 5.0 - JDBC 3.0
[C:\java\javadb-10.4.2-0-1\lib\derby.jar] 10.4.2.0 - (689064)
[C:\java\javadb-10.4.2-0-1\lib\derbytools.jar] 10.4.2.0 - (689064)
[C:\java\javadb-10.4.2-0-1\lib\derbynet.jar] 10.4.2.0 - (689064)
------------------------------------------------------
----------------- 로케일 정보 -----------------
현재 로케일 :  [한국어/대한민국 [ko_KR]]
[cs] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[de_DE] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[es] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[fr] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[hu] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[it] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[ja_JP] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[ko_KR] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[pl] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[pt_BR] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[ru] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[zh_CN] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
[zh_TW] 로케일 지원을 찾았습니다.
         버전: 10.4.2.0 - (689064)
------------------------------------------------------

그럼 설치는 끝났다.

4. JavaDB 의 사용

기본적은 JavaDB는 별도의 서버 데몬 없이도 작동하는 Embedded 형식의 Database 이다. 무슨 말인가 하면 DB와 JDBC가 Embedded 된 구조의 DB라 별도의 데몬없이 사용이 가능하다.

이에 대해서는 다음 포스트를 통해 좀 더 자세히 설명하도록 하겠다.

5. 서버 구동

서버 구동은 아래와 같은 순서를 따른다.

먼저, %DERBY_HOME%\bin 에가서 setNetworkServerCP.bat 를 실행한다. 그럼 자동으로 필요한 jar를 classpath에 등록 시킨다.(DERBY_HOME과 path가 등록되었다면 아무 곳에서나 실행해도 된다.)

C:\java\javadb-10.4.2-0-1\bin>setNetworkServerCP.bat
C:\java\javadb-10.4.2-0-1\bin>SET DERBY_INSTALL=C:\java\JAVADB~1.2-0
C:\java\javadb-10.4.2-0-1\bin>set CLASSPATH=C:\java\javadb-10.4.2-0-1\bin\..\lib
\derbynet.jar;C:\java\javadb-10.4.2-0-1\bin\..\lib\derbytools.jar;C:\java\apache
-log4j-1.2.15\log4j-1.2.15.jar;C:\javatest

그리고 startNetworkServer.bat 를 실행한다.

C:\java\javadb-10.4.2-0-1\bin>startNetworkServer.bat
기본 서버 보안 정책을 사용하여 보안 관리자가 설치됩니다.
Apache Derby Network Server - 10.4.2.0 - (689064)이(가) 2008-11-08 17:50:48.781
GMT에 1527 포트에서의 연결을 승인할 준비가 되었습니다.

그럼 위와 같은 메시지와 함께 서버가 구동된다. 보이는 것 처럼 JavaDB는 1527 번 포트를 이용한다.

서버의 종료는 stopNetworkServer.bat 로 종료시킨다.

C:\java\javadb-10.4.2-0-1\demo\programs\toursdb>stopNetworkServer
Apache Derby Network Server - 10.4.2.0 - (689064)이(가) 2008-11-08 17:59:07.421
GMT에 종료되었습니다.


오늘은 설치까지만 해보고 다음번에 직접 DB를 사용하는 방법에 대해서 알아보도록 하겠다.


참조.
1. 경량화 DB의 꿈 JavaDB(http://blog.sdnkorea.com/blog/677)
2. Apache Derby(http://db.apache.org/derby)
3. Sun Developer Network(http://developers.sun.com/javadb/)
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 흰둥OI