상세 컨텐츠

본문 제목

Derby를 처음 만나다.

Programming/Database

by otamot 2007. 3. 27. 15:39

본문

  얼마전에 우연히 듣게 된 Derby 라는 Apache 진영의 Database 시스템을 사이트에 가서 살펴봤을 때 놀라웠다. 버전이 벌써 10.2.2.0 이었다. IBM이 Apache에 기증하기전 Cloudscape 데이터베이스 소프트웨어의 역사로 하면 벌써 10년 정도 되었다고 한다. 특이한 점은 베디드 데이터베이스(embedded database)와 클라이언트-서버 연결(client-server connection) 두가지로 설정할 수 있다는 것이다. 이 점이 매우 매력적으로 느껴졌다. 그래서 한번 공부해 보기로 했다.
  다음은 퍼온 글 일부이다. (역시 한글^^)

  • 임베디드 데이터베이스(embedded database): 사용자는 데이터베이스의 존재를 인식하지 못한다. 애플리케이션은 데이터베이스를 사용한다. 같은 JVM에서 실행되고 데이터베이스는 로컬 파일 시스템상에 데이터를 저장한다. 임베디드 모델에서 데이터베이스는 같은 JVM에서 실행되는 애플리케이션만 통신한다.
  • 클라이언트-서버 연결(client-server connection): 많은 상용 벤더들이 사용하는 전통적인 모델이다. 이 모델에서, 애플리케이션은 네트워크 연결을 통해 데이터베이스와 통신하고, 애플리케이션과 데이터베이스는 개별 JVM에서 작동한다. 데이터베이스 서버는 다중 클라이언트 애플리케이션들과 통신할 수 있다.


  그런데 문제는 처음에 말 했듯이 처음 듯는 것이고 보니 그리 많이 활용된 것 같지는 않다. 검색 했을 때 자료가 그리 많이 찾아지지 않는 다는 것이 문제인 것이다. 영문 reference에 약한 나한테는 새로운 개념을 공부하는 것은 한글로 된 reference가 매우 절실한데 ^^;(부끄럽다! 아마도 이런 이유로 항상 다른 분들보다 습득이 늦는 것일 것이다. 노력해야지^^).
  Download해서 대강 살펴봤을 때 표준을 충실히 따른 것 같다. 당사자들은 Derby 를 사용했을 때 다른 DBMS로의 이행이 수월할 것이라고 한다. 하지만 내가 보기에는 부분적인 DBMS의 특성이 있기 때문에 완전히 수월하지는 않을 듯.
  INDEX, VIEW 등의 MySQL에 구 버전에는 없는 것들을 지원하고 Trigger등동 존재하는 것 같다. 이렇게 된다면 MySQL로 작성한 간단한 application을 Derby로 이전한다는 것은 변경 작업이 꽤 있어야 할 것이라는 예상이 있다.
  하지만 공부차눤에서는 무겁고 비싼 상용 DBMS보다 Derby로 해도 무방할 것이라는 생각이 들 정도다
  Sun Microsystems는 Apache Derby의 패치 버전을 Java DB 제품으로서 포함시킬 것이라고 발표했다. IBM과 Sun의 강력한 지원으로 Apache Derby 데이터베이스의 미래는 밝다고 하니 한번 살펴볼 만 하다.
  참고로 jdbc도 지원되고 eclipse plugin도 지원하고 있어 사용하는데 조금이라도 편리하게 하려고 노력하는 모습이 보인다.

'Programming > Database' 카테고리의 다른 글

DB 설계 간단 공부  (0) 2007.05.02
Derby Network Server 실행기  (0) 2007.04.11
Derby install과 eclipse plugin 설치  (0) 2007.04.03

관련글 더보기