Skip to content

1. 개요#

KADA(Key-optimized Altibase Document Access)는 Altibase에서 JSON 문서를 효율적으로 저장하고 관리하기 위한 문서 접근 모델이다. 키 기반 조회와 처리에 최적화된 구조를 통해 트랜잭션 중심 환경에서 높은 성능을 제공한다. KADA REST API는 이러한 KADA 모델을 HTTP 기반으로 사용할 수 있도록 제공하는 RESTful API이다. 개발자는 복잡한 스키마 설계 없이 JSON 문서를 Altibase 데이터베이스에 손쉽게 저장하고 관리할 수 있으며, 빠르고 유연한 애플리케이션 개발이 가능하다.

1.1 주요 특징#

  • JWT 기반 인증 : Access Token 과 Refresh Token 을 사용하는 stateless 인증 방식을 지원
  • 멀티테넌시(Multi-tenancy) 지원 : Client ID 기반 테이블 격리
  • 하이브리드 권한 관리 : Global Authority(전역 권한) 과 ACL(Access Control List)가 결합된 하이브리드 권한 관리 지원
  • 컬렉션 공유 : 사용자별 접근 권한을 설정하는 ACL 기반 공유와, shared 속성(shared=true)을 통해 공용으로 공개되는 공유 컬렉션 기능을 모두 지원
  • MongoDB 호환 : MongoDB 스타일 쿼리 연산자를 지원
  • Swagger/OpenAPI 제공 : API 문서 자동 생성 및 Swagger UI 기반 테스트 지원

1.2 시스템 요구사항#

  • Java 17 이상
  • Altibase 8.1 이상 (JSON 함수 지원 필요)
  • Spring Boot 3.x 이상

1.3 API 엔드포인트 요약#

그룹 엔드포인트 수 설명
Authentication 3 (LOCAL 모드 전용) 토큰 발급/갱신/로그아웃
Collection 4 컬렉션 CRUD
Document 13 문서 CRUD + 검색
Shared Access 4 컬렉션 공유 권한 관리 (사용자별 접근 제어)
Admin 6 (LOCAL 모드 전용) API 키 및 테넌트 관리
Setup 2 (LOCAL 모드 전용) 초기 관리자 설정

1.4 API 기본 경로(Base URL) 설정#

API의 기본 경로는 /api이다. 이 경로는 application.yml 파일이나 환경변수를 통해 변경할 수 있다.

프로퍼티 환경변수 기본값 설명
server.servlet.context-path SERVER_SERVLET_CONTEXT_PATH /api API 애플리케이션의 Context Path

예시 :

# 환경변수로 설정
export SERVER_SERVLET_CONTEXT_PATH=/v1/api
java -jar document-access-rest.jar

# 변경된 경로로 API 호출
curl http://localhost:8080/v1/api/collections