
MongoDB 공식 블로그는 24일(현지시간) AWS의 오픈소스 DynamoDB 호환 어댑터 ExtendDB를 위한 MongoDB 저장소 백엔드를 공개했다고 밝혔다. 회사 설명에 따르면 이 백엔드는 애플리케이션이 DynamoDB API를 계속 사용하면서 데이터는 MongoDB에 저장하도록 설계됐다.
ExtendDB는 DynamoDB 워크로드를 다른 저장소 백엔드와 연결할 수 있도록 만든 플러그인형 어댑터다. MongoDB는 이를 통해 기존 DynamoDB 접근 패턴을 유지한 채 다른 클라우드, 온프레미스, 네트워크가 분리된 환경에서도 워크로드를 구동할 수 있다고 설명했다. 다만 실제 지원 범위는 ExtendDB와 선택한 MongoDB 배포 환경의 구성에 따라 달라진다.
MongoDB와 ExtendDB의 공개 설계 문서에는 파티션·정렬 키와 쿼리를 MongoDB 문서 필드, 필터, 정렬, 페이지네이션으로 옮기는 방식이 제시돼 있다. 보조 인덱스는 별도 MongoDB 컬렉션으로 유지하고, 조건부 쓰기와 트랜잭션은 MongoDB의 조건 검사 및 세션 트랜잭션에 연결한다. 스트림 이벤트는 변경 기록 문서로 다룬다.
호환 계층인 만큼 제약도 있다. MongoDB는 DynamoDB 숫자가 최대 38자리 정밀도를 지원하는 데 비해 MongoDB Decimal128은 34자리라는 차이를 문서에 적었다. 숫자 비교가 필요한 일부 쿼리는 Rust 계층에서 처리하며, 글로벌 보조 인덱스에 대한 강한 일관성 읽기는 지원하지 않는다고 밝혔다.
MongoDB는 초기 구현이 사내 해커톤에서 AI 코딩 도구로 만든 실험에서 출발했다고 설명했다. 이후 AWS 팀과 수 주 동안 RFC 검토와 피드백 과정을 거쳐 병합 가능한 형태로 다듬었다는 것이다. 이번 사례는 AI가 개발 초기 구현의 속도를 높일 수는 있어도, 호환성 검증과 공개 프로젝트 검토가 필요한 제품 수준의 작업을 대체하지는 않는다는 점을 보여준다.
출처: MongoDB 공식 블로그 https://www.mongodb.com/company/blog/technical/how-we-used-ai-bring-mongodb-to-dynamodb
출처: ExtendDB RFC https://github.com/ExtendDB/extenddb/blob/main/docs/rfcs/0000-mongodb-backend.md
출처: ExtendDB 설계 문서 https://github.com/ExtendDB/extenddb/blob/main/docs/design/13-storage-mongodb.md