맨위로가기

HSQLDB

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

HSQLDB는 SQL-92의 대부분과 SQL:2008의 많은 부분을 준수하는 관계형 데이터베이스 관리 시스템이다. JDBC 드라이버를 제공하며, 작은 크기로 제작되는 특징이 있다. OpenOffice.org 및 그 파생 소프트웨어에서 Base의 표준 엔진으로 사용되며, 인 메모리, 독립형, 서버, 웹 서버의 네 가지 동작 모드를 지원한다. 또한, Kaffe와 같은 자유로운 자바 가상 머신 구현에서도 동작한다. HSQLDB는 SQL:2008의 모든 핵심 기능과 다양한 선택적 기능을 지원하며, 세 가지 트랜잭션 제어 모드와 두 가지 주요 테이블 유형을 사용하여 데이터 저장을 관리한다. HSQLDB의 여러 버전이 출시되었으며, 2010년에 출시된 버전 2.0은 표준 SQL 및 JDBC 4 사양을 준수하도록 작성되었다.

더 읽어볼만한 페이지

  • 임베디드 데이터베이스 - SQLite
    SQLite는 D. 리처드 히프가 설계한 서버리스 구조의 임베디드 SQL 데이터베이스 엔진으로, 별도의 DBMS 없이 프로그램에 통합되어 작동하며 전체 데이터베이스를 단일 파일로 저장하는 특징이 있고, 다양한 운영체제와 환경에서 널리 사용된다.
  • 임베디드 데이터베이스 - DBM (컴퓨팅)
    DBM은 1979년 켄 톰프슨이 개발한 데이터베이스 엔진으로, 기본 키를 사용하여 데이터를 저장하고 해시 함수를 통해 빠른 검색을 지원하며, 다양한 후속 구현체가 존재한다.
  • 관계형 데이터베이스 관리 시스템 - IBM 시스템 R
  • 관계형 데이터베이스 관리 시스템 - 마이크로소프트 액세스
    마이크로소프트 액세스는 1992년 출시된 데이터베이스 관리 시스템으로, 테이블, 쿼리, 폼 등을 생성하고 VBA를 통해 솔루션을 개발하며, 윈도우에서 사용 가능하고 다양한 데이터 형식과 통합된다.
  • 자유 데이터베이스 관리 시스템 - PostgreSQL
    PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다.
  • 자유 데이터베이스 관리 시스템 - SQLite
    SQLite는 D. 리처드 히프가 설계한 서버리스 구조의 임베디드 SQL 데이터베이스 엔진으로, 별도의 DBMS 없이 프로그램에 통합되어 작동하며 전체 데이터베이스를 단일 파일로 저장하는 특징이 있고, 다양한 운영체제와 환경에서 널리 사용된다.
HSQLDB - [IT 관련 정보]에 관한 문서
기본 정보
이름HSQLDB (HyperSQL DataBase)
종류RDBMS
개발 언어자바
라이선스BSD
운영 체제크로스 플랫폼
첫 출시일2001년
안정화 버전2.6.0
안정화 버전 출시일2021년 3월 21일
용량10.8MB (2.6.0 ZIP 파일)
HSQL 데이터베이스 관리자
HSQL 데이터베이스 관리자
링크 정보
공식 웹사이트HSQLDB 공식 웹사이트
기타
특징자바 기반 데이터베이스 엔진

2. 특징

HSQLDB는 SQL-92의 거의 모든 부분과 SQL:2008의 많은 부분을 준수하며, JDBC 드라이버를 제공한다.

일반적으로 크기가 작게 만들어지는 특징이 있다. OpenOffice.org와 그 파생 소프트웨어는 HSQLDB를 Base(데이터베이스 기능의 명칭)의 표준 엔진으로 사용하고 있다.

HSQLDB는 Kaffe와 같은 자유로운 자바 가상 머신 구현에서도 동작한다.

2. 1. SQL 지원

HSQLDB 2.0은 SQL:2008의 모든 핵심 기능과 많은 선택적 기능을 지원한다. 고급 기능에는 사용자 정의 SQL 프로시저 및 함수, 스키마, 날짜/시간 간격, 업데이트 가능한 뷰, 배열, LOB, 전체 및 측면 조인, 그리고 집합 연산이 포함된다. TO_CHAR 및 DECODE와 같은 많은 비표준 함수도 지원한다. 표준 SQL의 확장 기능에는 사용자 정의 집계 함수가 포함된다.

HSQLDB는 SQL-92의 거의 모든 부분과 SQL:2008의 많은 부분을 준수한다. JDBC 드라이버를 제공한다.

2. 2. 트랜잭션 지원

HSQLDB 버전 2.0은 세 가지 트랜잭션 제어 모드를 가지고 있다. 테이블 레벨 잠금 또는 다중 버전 동시성 제어(MVCC)를 사용하여 읽기 커밋 및 직렬화 가능한 트랜잭션 격리 수준을 지원하며, 잠금과 MVCC의 조합도 지원한다. 버전 1.8.1은 트랜잭션 격리 수준 0(읽기 언커밋)만 지원한다.[6]

2. 3. 데이터 저장 방식

HSQLDB는 지속적인 읽기-쓰기 데이터 저장을 위해 두 가지 주요 테이블 유형을 사용한다. 트랜잭션이 성공적으로 커밋되면 시스템 오류가 발생해도 데이터가 손실되지 않고 무결성이 유지된다.

기본 MEMORY 유형은 모든 데이터 변경 사항을 SQL 스크립트 형태로 디스크에 저장한다. 엔진 시작 시 이러한 명령이 실행되어 데이터가 메모리에 재구성된다.

또 다른 테이블 유형은 CACHED로, 더 많은 데이터를 저장할 수 있지만 성능이 저하된다. HSQLDB 엔진은 데이터를 부분적으로만 로드하고 트랜잭션 커밋 시 데이터를 디스크와 동기화한다. 그러나 엔진은 업데이트 중에 영향을 받는 모든 행을 항상 메모리에 로드한다. 이는 작업을 더 작은 부분으로 분할하지 않고는 매우 큰 업데이트를 불가능하게 만든다.[7]

다른 테이블 유형을 사용하면 CSV 파일에 액세스할 수 있다. 이러한 테이블은 예를 들어 JOIN이 있는 쿼리에 참여할 수 있으며 스프레드시트 처리 및 읽기-쓰기 비지속적 메모리 내 데이터 저장을 단순화한다.

2. 4. 동작 모드

HSQLDB는 다음과 같은 4가지 동작 모드를 갖는다.

  • 인 메모리 모드
  • 독립형 모드
  • 서버 모드
  • 웹 서버 모드

3. 버전

HSQLDB의 여러 버전이 2001년 이후 출시되었다. 초기 버전은 단종된 HypersonicSQL 데이터베이스 엔진을 기반으로 했다. 2010년에 출시된 버전 2.0은 대부분 새로운 코드로, 표준 SQL 및 JDBC 4 사양을 준수하도록 작성되었다.[8]

2014년에 출시된 버전 2.3.2는 완벽하게 멀티 스레드를 지원하며, 고성능 2단계 잠금 및 MVCC (다중 버전 동시성 제어) 트랜잭션 제어 모델을 지원한다.

4. 활용 사례

HSQLDB는 크기가 작게 만들어지는 특징이 있다. OpenOffice.org와 그 파생 소프트웨어는 HSQLDB를 Base (데이터베이스 기능의 명칭)의 표준 엔진으로 사용하고 있다.

Kaffe와 같은 자유로운 자바 가상 머신 구현에서도 동작한다.[1]

참조

[1] 웹사이트 Home / hsqldb / hsqldb_2_6 https://sourceforge.[...] SourceForge 2021-03-21
[2] 웹사이트 HSQLDB SQL Syntax http://hsqldb.org/do[...] hsqldb.org
[3] 웹사이트 PolePosition Performance Comparison http://polepos.sourc[...] polepos.org
[4] 웹사이트 Jitsi build 5390 release notes https://download.jit[...] Jitsi.org 2015-02-01
[5] 웹사이트 Software using HSQLDB http://hsqldb.org/we[...] hsqldb.org
[6] 웹사이트 HSQLDB Documentation http://hsqldb.org/do[...] hsqldb.org
[7] 웹사이트 HSQLDB Documentation http://hsqldb.org/do[...] hsqldb.org 2007-11-11
[8] 웹사이트 The new HSQLDB http://hsqldb.org/we[...] hsqldb.org
[9] 문서 Thomas Muellerは、現在[[H2 Database]]を開発している。
[10] 웹인용 Home / hsqldb / hsqldb_2_4 http://sourceforge.n[...] SourceForge 2017-04-09
[11] 웹인용 HSQLDB SQL Syntax http://hsqldb.org/do[...] hsqldb.org
[12] 웹인용 PolePosition Performance Comparison http://polepos.sourc[...] polepos.org
[13] 웹인용 Standalone Roller Demo http://rollerweblogg[...] rollerweblogger.org
[14] 웹인용 Jitsi build 5390 release notes https://download.jit[...] Jitsi.org 2015-02-01
[15] 웹인용 Software using HSQLDB http://hsqldb.org/we[...] hsqldb.org



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com