H2 Database

Bam·2025년 5월 26일
0

Database

목록 보기
38/39

H2 Database

H2 데이터베이스(이하 H2)Java 기반 오픈소스 관계형 데이터베이스입니다. 가볍고 빠르다는 최고의 장점을 가지고 있어서 주로 개발 환경이나 로컬 테스트를 수행하는 경우에 사용됩니다.

H2는 다음과 같은 특징을 가지고 있습니다.

  • 매우 빠른 오픈소스 JDBC API
  • 약 2.5MB의 가벼운 용량
  • 임베디드, 서버 두 가지의 모드 지원
  • 디스크 또는 인 메모리 데이터베이스 지원
  • 브라우저 콘솔 지원
  • 암호화된 데이터베이스
  • Fulltext 검색

임베디드 모드와 서버 모드 두 가지의 모드를 지원한다고 했는데요. 두 모드는 다음과 같은 차이점이 있습니다.

  • 임베디드 모드: 애플리케이션 내에서 실행되는 방식. 파일 또는 메모리에 데이터가 저장됨
  • 서버 모드: 독립된 서버처럼 실행되는 방식. 여러 클라이언트가 접근 가능

사용법 (Spring Boot 환경)

https://www.h2database.com/html/main.html

공식 페이지에 들어가서 All Platforms의 .zip 파일을 다운로드 받습니다.압축을 해제하면 위와같은 파일들이 들어있습다.여기서 bin\h2.bat를 실행하면 서버 모드로 H2 데이터베이스가 실행됩니다.

Windows 환경에서는 .bat, Linux 환경에서는 .sh를 실행하시면 됩니다.

실행을 하게되면 브라우저에 새 탭에 H2 콘솔이 열리게 됩니다.

일단 다른 항목 건드릴 필요 없이 연결 시험 눌러보고 연결 성공이 뜨면 연결 버튼을 누릅니다.위 경로 Windows 기준으로 C\Users\사용자명\test.mv.db를 의미합니다. 실제로 경로에 접속했을때 다음과 같이 파일이 존재한다면 H2 데이터베이스가 정상 작동되었음을 의미합니다.

Member라는 테이블은 예제를 위해서 잠깐 만들어뒀던 거라 아예 처음 시작하면 없는게 맞습니다.

브라우저 웹 콘솔에서는 표준 SQL을 사용합니다. H2에서 제공하는 독자적인 쿼리도 있긴한데요. 이 부분은 공식 페이지에서 열람할 수 있습니다.

지금은 임베디드 모드로 설정했는데요. 서버 모드로 전환하는 방법은 좌상단의 연결 끊기를 한 후 다시 첫 접속 화면으로 돌아가서 설정을 Server 모드로 변경한 후 재접속하면 됩니다.

서버 모드로 변경을 마쳤으면 다음과 같이 application.yml을 작성해줍니다.

spring:
  datasource:
    url: jdbc:h2:tcp://localhost/~/test
    driver-class-name: org.h2.Driver
    username: sa
    password:
  h2:
    console:
      enabled: true
      path: /h2-console
  jpa:
    hibernate:
      ddl-auto: create
    show-sql: true
    properties:
      hibernate:
        format_sql: true
        show_sql: true

0개의 댓글