의견.png

더비

위키원
wlgns12244 (토론 | 기여)님의 2019년 7월 25일 (목) 14:24 판 (활용)
이동: 둘러보기, 검색
더비(Derby) 로고
더비(Derby) 로고와 글자

더비(Derby)는 IBM에서 기증한 클라우드스케이프(Cloudscape) 소스 기반으로 아파치재단에서 개발을 진행하고 있는 관계형 데이터베이스(RDBMS) 소프트웨어이다.[1] 자바(Java) 기술로 구현되었다. 아파치 더비(Apache Derby)라고 한다.

개요

더비는 자바(Java)로 완전히 구현된 관계형 데이터베이스이다. 자바 애플리케이션에 쉽게 삽입할 수 있는 작은 설치 공간을 제공하므로 보기가 사라지고 DBA 관리가 필요하지 않다. [2] "Java DB", "Apache Derby"로도 불리는 더비는 순수 Java로 개발한 DBMS로 자바 환경이라면 어떠한 플랫폼에서도 동작할 뿐만 아니라 범용 DBMS처럼 네트워크를 통해서 서비스하는 형태로 다중 사용자 구조로 사용할 수 있는 등 다양한 응용이 가능한 DBMS이다. [3]

역사

Apache Derby는 1996년 Nat Wyatt와 Howard Torf가 Java 데이터베이스 기술을 개발하기 위해 설립 한 캘리포니아 오클랜드의 Cloudscape Inc에서 시작되었다. JBMS라고하는 데이터베이스 엔진의 첫 번째 릴리스는 1997년 이었는데 그 후 이 제품은 Cloudscape로 이름이 바뀌었고 릴리스는 약 6개월마다 이루어졌다.

1999년 Informix Software, Inc.는 Cloudscape, Inc를 인수했다.

2001년 IBM 은 Cloudscape를 포함한 Informix Software의 데이터베이스 자산을 인수했다. 데이터베이스 엔진은 IBM Cloudscape로 다시 브랜드화되었으며 릴리스는 IBM의 Java 제품 및 미들웨어와 함께 내장 된 사용에 초점을두고 계속되었다.

2004년 8월 IBM은 Apache DB 프로젝트가 후원하는 인큐베이터 프로젝트 Derby로이 코드를 Apache Software Foundation에 기부 했다.

2005년 7월 Derby프로젝트는 Apache 창업 보육 센터를 마쳤으며 현재 Apache의 DB Top Level Project의 하위 프로젝트로 개발 중이다. Sun은 Derby의 졸업 전, Derby 프로젝트에 참여하여 Derby를 자체 제품의 구성 요소로 사용하고, 2006년 12월 Java 6을 출시하면서 Sun은 Java로 브랜드화 된 JDK 에서 Derby를 패키징하기 시작했다.

2007년 3월 IBM은 Cloudscape 제품에 대한 마케팅 및 지원을 철회하겠다고 발표했지만 Apache Derby 프로젝트에 지속적으로 기여할 것으로 보인다. Java DB 데이터베이스는 오라클이 지원하는 Apache Derby 배포판이다. [4]

  • 11-March-2019: Derby 10.15.1.3 Release
  • 3-May-2018: Derby 10.14.2.0 Release
  • 22-October-2017: Derby 10.14.1.0 Release
  • 29-October-2016: Derby 10.13.1.1 Release
  • 11-October-2015: Derby 10.12.1.1 Release
  • 27-August-2014: Derby 10.11.1.1 Release
  • 17-April-2014: Derby 10.10.2.0 Release
  • 17-April-2013: Derby 10.10.1.1 Release
  • 29-January-2013: Derby 10.8.3.0 Release
  • 25-June-2012: Derby 10.9.1.0 Release
  • 26-October-2011: Derby 10.8.2.2 Release
  • 02-May-2011: Derby 10.8.1.2 Release
  • 15-Dec-2010: Derby 10.7.1.1 Release
  • 06-Oct-2010: Derby 10.6.2.1 Release
  • 19-May-2010: Derby 10.6.1.0 Release
  • 26-August-2009: Derby 10.5.3.0 Release
  • 01-May-2009: Derby 10.5.1.1 Release
  • 05-September-2008: Derby 10.4.2.0 Release
  • 20-May-2008: Derby 10.3.3.0 Release
  • 26-April-2008: Derby 10.4.1.3 Release
  • 10-December-2007: Derby 10.3.2.1 Release
  • 10-August-2007: Derby 10.3.1.4 Release
  • 19-December-2006: Derby 10.2.2.0 Release
  • 6-October-2006: Derby 10.2.1.6 Release
  • 5-July-2006: Derby 10.1.3.1 Release
  • 30-June-2006: ApacheCon Europe 2006 had a Derby session on performance.
  • 10-December-2005: ApacheCon US 2005 had three Derby sessions.
  • 18-November-2005: Derby 10.1.2.1 Release
  • 5-August-2005: Derby 10.1.1 Release
  • 26-July-2005: The Incubator PMC voted in favor of graduating Derby to an Apache DB sub project.
  • 6-December-2004: Derby 10.0.2.1 Incubator Release
  • 13-November-2004: ApacheCon US 2004 had three Derby sessions, a tutorial, and a code contest.
  • 3-August-2004: DB PMC voted to sponsor Derby (see the Derby Incubator proposal) [5]

특징

더비는 Apache Software Foundation의 프로젝트로 재단에 라이선스가 부여 된 소프트웨어를 기반으로한 상용 품질의 오픈 소스 데이터베이스 솔루션을 작성 및 유지 관리하여 무료로 배포 할 수 있고 설치 및 배치가 쉽다.

더비는 기본 엔진 및 내장 JDBC 드라이버에 대해 약 3.5 메가바이트의 작은 설치 공간을 가지고 있다. 또한 설치, 배치 및 사용이 쉬우며 Java 기반 솔루션에 더비를 임 베드 할 수 있는 임베디드 JDBC 드라이버를 제공한다. 그리고 Java, JDBC, SQL을 기반으로 하기 때문에 아무 Java 기반의 solution에 제공할 수 있다. [6]

Apache Derby는 Apache 2.0 라이선스에 따라 오픈 소스 프로젝트로 개발되었다. 오라클은 동일한 바이너리를 Java DB라는 이름으로 배포한다.

Derby의 내장 데이터베이스 엔진 기술의 핵심은 JDBC 및 SQL을 프로그래밍 API로 지원하는 완전한 기능의 관계형 임베디드 데이터베이스 엔진으로 IBM DB2 SQL 구문을 사용한다.

Derby 네트워크 서버는 전통적인 클라이언트 서버 기능을 제공하여 Derby 데이터베이스 엔진의 도달 범위를 증가시킨다. 네트워크 서버를 통해 클라이언트는 표준 DRDA프로토콜을 사용하여 TCP/IP를 통해 연결할 수 있다. 네트워크 서버는 Derby 엔진이 네트워크화 된 JDBC , ODBC , CLI , Perl을 지원할 수 있게 한다.

임베디드 데이터베이스는 하이브리드 서버/임베디드 RDBMS로 작동하도록 구성 할 수 있다. 동일한 JVM에있는 클라이언트 이외에 다른 클라이언트의 TCP/IP 연결도 허용한다.

더비는 엔진이 실행되는 환경에 적합한 안전한 데이터 관리를 제공한다. 전통적인 엔터프라이즈 데이터베이스 시스템은 잠긴 공간에서 물리적으로 격리 된 머신에 의존하지만 더비 데이터베이스는 보호되지 않는 랩탑 및 기타 무인 하드웨어에 상주하는 경우가 많다.

퓨어 자바는 더비 기술이 Java로 작성된 것이기 때문에 한 번만 작성하면 어디서든지 실행이 가능한 것으로 OSGi, J2ME, J2SE 및 J2EE와 같은 Java플랫폼이 적절하게 지원된다.

Derby는 JDBC 및 ANSI/ISO SQL 스펙과 같은 데이터베이스 표준을 준수한다 즉, Derby는 SQL 구문, 트랜잭션 관리, 동시성, 트리거 및 온라인 백업을 포함하여 최신 관계형 데이터베이스 기능을 제공한다. 또한 개발자가 나중에 컴퓨터에서, 한 운영 체계에서 더 나은 운영 체계나 새로운 운영 체계로 옮아가는 과정인 마이그레이션을 다른 데이터베이스로 쉽게 할 수 있음을 의미한다.

Apache Derby는 Apache의 Jira문제 추적기를 사용하여 버그를 추적한다. 또한 Derby는 10.1버전을 시작으로 JDBC API로 JSR169가 포함 된 J2ME / CDC / Foundation에 대한 지원을 추가하므로 소형장치에서도 Derby를 실행할 수 있다. 절대 또는 상대 경로를 사용하여 데이터베이스 위치을 지정할 수 있고 sysinfo 도구 또는 JDBC API를 사용하여 Derby 설치에서 버전 정보를 얻을 수 있다.

데이터베이스 유틸리티

  • ij : 모든 JDBC 데이터베이스에 대해 SQL 스크립트를 실행할 수있는 도구.
  • dblook : Derby 데이터베이스 용 스키마 추출 도구.
  • sysinfo : 버전 번호와 클래스 경로를 표시하는 유틸리티. [4]

활용

설치 Apache Derby: Quick Start에 보면 자료들을 찾을 수 있다. 그 중에서 tutorial page의 설치 부분을 따라 하고 여기서는 Windows 관련 부분만 다룰 것이다.

JDK 설치 및 설정 JDK 를 설치한다. 만약 설치가 되어 있다면 JAVA_HOME 설정이 되어 있는지 확인한다. C:\>echo %JAVA_HOME% C:\Program Files\Java\jdk1.7.0_45

download page 에서 db-derby-10.10.2.0-bin.zip를 download 한다.

아래 경로에 압축을 풀었다. c:\Program Files\Apache\

DERBY_INSTALL 설정 Derby 가 install 된 path 를 DERBY_INSTALL 이란 변수에 지정한다. C:\>set DERBY_INSTALL=c:\Program Files\Apache\db-derby-10.10.2.0-bin C:\>set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;.

위의 CLASSPATH 설정은 embedded mode 를 사용할 때 필요하다. 이런 과정을 bat 파일로 만들어 놨다. 아래 경로에 가 보면 있다.

c:\Program Files\Apache\db-derby-10.10.2.0-bin\bin\setEmbeddedCP.bat 여기서 set DERBY_INSTALL 부분만 추가 해 주면 된다. 참고로 path 에 "" 를 사용하지 말아야 한다. @set DERBY_INSTALL=c:\Program Files\Apache\db-derby-10.10.2.0-bin

Derby sysinfo 실행 아래처럼 sysinfo 를 실행하면

c:\Program Files\Apache\db-derby-10.10.2.0-bin\bin>setEmbeddedCP.bat c:\Program Files\Apache\db-derby-10.10.2.0-bin\bin>java org.apache.derby.tools.sysinfo

아래와 같은 결과화면이 나온다.


Java 정보 ------------------

Java 버전: 1.7.0_65 Java 벤더: Oracle Corporation Java 홈: C:\Program Files\Java\jre7 Java 클래스 경로: C:\PROGRA~1\Apache\DB-DER~1.0-B\lib\derby.jar;C:\PROGRA~1\Apache\DB-DER~1.0-B\lib\derbytools.jar;.;C:\Program Files (x86)\Java\jre7\lib\ext\QT Java.zip OS 이름: Windows 7 OS 구조: amd64 OS 버전: 6.1 Java 사용자 이름: namhadmin Java 사용자 홈: C:\Users\namhadmin Java 사용자 디렉토리: c:\Program Files\Apache\db-derby-10.10.2.0-bin\bin java.specification.name: Java Platform API Specification java.specification.version: 1.7 java.runtime.version: 1.7.0_65-b19


Derby 정보 --------

[C:\Program Files\Apache\db-derby-10.10.2.0-bin\lib\derby.jar] 10.10.2.0 - (1582446) [C:\Program Files\Apache\db-derby-10.10.2.0-bin\lib\derbytools.jar] 10.10.2.0 -(1582446)



로케일 정보 -----------------

현재 로케일 : [한국어/대한민국 [ko_KR]] [cs] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[de_DE] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[es] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[fr] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[hu] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[it] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[ja_JP] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[ko_KR] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[pl] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[pt_BR] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[ru] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[zh_CN] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)

[zh_TW] 로케일 지원을 찾았습니다.

        버전: 10.10.2.0 - (1582446)


버전

가장 최신 버전은 2019년 3월 11일 자에 나온 Java 9 이상의 10.15.1.3 버전이다.

삭제된 버전

더비 10.5.2.0은 잘못된 결과 때문에 웹 사이트에서 삭제되었다. 심각한 데이터 손상 버그를 포함하고 있었기 때문이지만 더비의 전체 변경 기록을 재구성하기 위해 릴리스 노트를 검토할 수도 있다.

각주

  1. , 아파치 더비〉, 《위키백과》
  2. , FrontPage-Db-derby〉, 《더비위키》, 2019-03-11
  3. 야라바, 〈, 넷빈즈와 더비 데이터베이스〉 , 《야라바》 , 2015-11-16
  4. 4.0 4.1 아파치 더비〉, 《위키피디아》
  5. 더비 공식 홈페이지 - http://db.apache.org/derby/
  6. Apache Derby- Apache DB- The Apache Software Foundation!〉,《The Apache DB Project》, 2019-03-12

참고자료

같이 보기


  의견.png 이 더비 문서는 데이터에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.