데이터셋 트랜잭션 API
트랜잭션(Transaction)은 데이터셋의 파일을 변경하고 데이터의 여러 버전을 저장하여 접근할 수 있게 하는 단위입니다. 변경을 시작할 때 트랜잭션을 열고, 필요한 파일 작업을 수행한 뒤 커밋하거나 중단합니다.
| 작업 | 결과 |
|---|---|
| Create Transaction | 브랜치에 새 트랜잭션을 엽니다. 한 브랜치에는 열린 트랜잭션을 한 번에 하나만 둘 수 있습니다. |
| Get Transaction | 유형, 상태, 생성 시각과 종료 시각을 조회합니다. |
| Commit Transaction | 파일 변경을 보존하고 브랜치가 이 트랜잭션을 가리키도록 갱신합니다. |
| Abort Transaction | 변경을 보존하지 않고 종료하며 브랜치를 갱신하지 않습니다. |
유형 값은 APPEND, UPDATE, SNAPSHOT, DELETE이며 상태 값은 OPEN, COMMITTED, ABORTED입니다. 파일을 직접 삭제하는 수동 트랜잭션에는 DELETE 유형이 필요합니다. 파일 읽기에서는 특정 트랜잭션의 변경만 볼지, 그 트랜잭션까지 누적한 뷰를 볼지 구분해야 합니다.