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