핵심 내용
GeekNews 10월 13일 오전에 소개된 10월 12일자 기술 해설 'S3는 합의를 대체하지 않았다'는 WarpStream, turbopuffer, SlateDB처럼 객체저장소를 기반으로 하는 시스템의 설계를 비교한다. 분석의 요지는 데이터를 내구성 있게 저장하는 작업과 동시에 들어온 여러 변경의 승자·순서를 결정하는 작업은 별개라는 것이다. 이 항목은 신규 클라우드 서비스 발표가 아니라 기술해설이다.
AWS 공식 자료에 따르면 S3는 2024년 8월 If-None-Match 조건부 쓰기, 2024년 11월 If-Match 조건부 쓰기를 제공하기 시작했다. 이 기능으로 대상 키에 파일이 없을 때만 생성하거나, 현재 객체의 ETag가 예상 값과 같을 때만 갱신하는 CAS(비교 후 갱신) 형태의 조정을 구현할 수 있다. 하지만 고빈도 메시지 스트림에서 수천 번의 순서·offset을 정하는 역할을 모두 S3에 맡기는 것은 적절하지 않을 수 있다. 예컨대 WarpStream은 S3를 데이터 저장층으로 쓰면서 batch 순서와 메타데이터 커밋에는 별도의 계층을 사용한다.
배경
Kafka처럼 데이터를 여러 가용영역에 복제하는 방식은 네트워크 전송비가 크다. 데이터를 S3에 보관하고 자주 바뀌지 않는 manifest나 writer 상태만 조건부로 갱신하면 운영할 서버와 합의 빈도를 줄일 수 있다. 대신 S3 요청 지연과 요청별 과금도 비용 변수다.
산업·시장에 미치는 영향
AI Agent 이벤트 로그, 작업 체크포인트와 변경 이력처럼 append 중심 데이터에는 객체저장소 기반 설계가 경제적인 대안이 될 수 있다. 그러나 매우 낮은 지연과 엄격한 순서가 필요한 워크로드는 전문 메시지 시스템이나 별도 조정 계층이 계속 필요할 수 있다.
실무에서 바로 활용할 수 있는 시사점
저장소를 설계할 때 초당 커밋 횟수, 충돌 빈도, 중복 허용 여부, 실제 순서 보장, 장애 복구 과정, 영역 간 전송비를 먼저 측정해야 한다. 불변 객체와 작은 manifest를 조합하는 구조를 시험하더라도 조건부 쓰기 실패·재시도·객체 버전 관리 정책을 명시해야 한다.
출처
Sangmin Yoon — S3는 합의를 대체하지 않았다
AWS — Amazon S3 now supports conditional writes
AWS — Amazon S3 adds new functionality for conditional writes