몽고DB, '아틀라스 스트림 프로세싱' 공개 프리뷰 버전 공개
몽고DB는 아틀라스 스트림 프로세싱의 퍼블릭 프리뷰 버전을 19일 공개했다. 아틀라스 스트림 프로세싱은 높은 도큐먼트 모델 유연성 및 사용 편의성을 제공하고 쿼리 API를 지원하는 몽고DB 아틀라스의 장점을 스트림 처리에 접목한 솔루션이다. 아틀라스 스트림 프로세싱은 빠르게 변화하는 이벤트 데이터의 스트림을 집계 및 보강하고, 전송 중이거나 유휴 상태의 데이터 작업 방식을 통합해 개발자 경험을 개선한다. 몽고DB는 개발자가 아틀라스 데이터베이스에서 변경 스트림을 통해 데이터를 지속적으로 처리할 뿐만 아니라 컨플루언트 클라우드, 아마존 MSK, 애저 이벤트 허브, 레드판다 등 파트너 서비스에서 호스팅되는 카프카 데이터를 처리하는 데 아틀라스 스트림 프로세싱을 지원한다. 몽고DB는 몽고DB VS 코드 플러그인에 스트림 프로세싱 인스턴스에 대한 연결을 지원해 VS 코드를 통합했다. 플러그인을 활용하는 개발자는 익숙한 개발 환경에서 프로세서를 생성하고 관리해 도구 간 전환 시간을 줄이고 애플리케이션 구축에 집중할 수 있다. DLQ 기능은 강력한 스트림 처리를 위한 핵심 요소다. 아틀라스 스트림 프로세싱은 DLQ 기능을 확장해 'sp.process()'로 파이프라인을 실행하거나 구동 중인 프로세서에서 '.sample()'을 실행할 때 DLQ 메시지를 표시한다. 이를 통해 DLQ를 위한 타깃 컬렉션을 별도 설정할 필요 없이 더욱 간소화된 개발 환경을 구축할 수 있다. '$lookup'을 지원해 원격 아틀라스 클러스터 데이터로 스트림 프로세서에서 처리 중인 문서를 보강해 문서와 타깃 컬렉션의 필드에 대한 조인을 수행할 수 있다. 변경 스트림 '$source' 역시 개선해 사전 및 사후 이미지도 지원한다. 개발자는 문서 내에서 필드 간 델타 값을 계산하는 일반적인 사례 뿐만 아니라 삭제된 문서의 전체 내용에도 액세스할 수 있다. 병합 및 내보내기 단계에서는 동적 표현식을 사용한 조건부 라우팅을 구현해 처리 중인 문서의 필드 값을 사용하고 특정 메시지를 다른 아틀라스 컬렉션 또는 카프카 토픽으로 전송할 수 있다. 유휴 스트림 타임 아웃 기능 역시 제공되어 인바운드 데이터 부족으로 인해 상위 워터마크 없이 진행되는 스트림이 일정 시간 후 윈도우 결과를 내보낸 후 닫히도록 구성할 수 있다. 지속적으로 프로세스를 실행하는 스트림 프로세스에서 문제나 장애가 발생할 경우 지능적인 복구 매커니즘이 필요하다. 아틀라스 스트림 프로세싱은 데이터 처리 중 상태 저장을 위한 체크포인트를 지원해 데이터 수집 및 처리가 중단된 지점부터 스트림 프로세서를 쉽게 재가동할 수 있도록 지원한다. 테라폼에서 연결 및 스트림 처리 인스턴스(SPI)를 생성하고 인프라를 코드로 작성해 반복적으로 배포할 수 있다. 스트림 처리 작업에 필요한 만큼 일부 사용자에게만 사용자 권한을 부여할 수 있다. 아틀라스 스트림 프로세싱의 인증 기능을 통해 SPI 내 인증 시도 및 작업을 감사하고, 보안 관련 이벤트에 대한 인사이트를 얻을 수 있다. 카프카 소비자 그룹을 지원해 오프셋 추적을 위해 카프카 소비자 그룹을 사용하고 사용자가 스트림에서 프로세서의 위치 변경 및 지연 모니터링을 쉽게 수행할 수 있도록 돕는다. 신재성 몽고DB코리아 지사장은 “아틀라스 스트림 프로세싱을 통해 개발자 환경을 한 단계 발전시킬 수 있게 됐다”며 “몽고DB는 개발자들에게 현대화된 환경을 제공하기 위해 다양한 노력을 이어가고 있다. 개발자의 의견을 지속적으로 수렴해 주요 기술 전반에서 지속적으로 더 나은 경험을 제공할 계획”이라고 밝혔다.