Offcanvas

개발자 / 빅 데이터

몽고DB 4.4 베타버전 공개··· 쿼리 및 샤딩 개선

2020.06.10 Serdar Yegulalp  |  InfoWorld
인기 있는 NoSQL 데이터베이스의 최신 퍼블릭 베타버전이 공개됐다. 이번 베타버전에는 새로운 클러스터링, 읽기 최적화, 데이터 밸런싱 기능 등이 제공된다. 
 
ⓒGetty Images

문서지향 NoSQL 데이터베이스 기업 몽고DB가 9일(현지 시각) 몽고DB 4.4의 퍼블릭 베타버전을 공개한다고 발표했다. 이번 업데이트는 데이터베이스 규모에 맞게 안정적으로 작업할 수 있는 새로운 기능과 개선사항들을 지원한다. 

몽고DB는 샤딩으로 스케일아웃을 하거나 또는 여러 노드에 걸쳐 데이터를 분산시키는 메커니즘을 오랫동안 사용해왔다. 문서는 샤드 키를 통해 특정 샤드 또는 노드와 연결된다. 이렇게 할당된 이후에는 모든 문서가 지정된 샤드에 저장되며, 문서의 사드 키를 변경할 수 없었다. 따라서 몽고DB 데이터베이스 내 콘텐츠가 많아지면서 샤드를 리밸런싱하기 어렵다는 문제점이 대두됐다. 

이러한 문제점을 해결하고자 몽고DB 4.4에서는 ‘리파인어블 샤드 키(refinable shard keys)’를 지원한다. 문서의 샤드 키를 변경해 문서를 다른 샤드로 재배치할 수 있는 기능이다. 리파인어블 샤드 키를 사용하면 요구사항이 변경될 때 지정된 샤드에 속한 문서를 함께 가져올 수 있다. 문서를 동적으로 혹은 프로그래밍적으로 리밸런싱하여 다양해지는 액세스 패턴에 더 잘 맞출 수 있다. 

기본적으로 쿼리를 의미하는 몽고DB의 '집계(Aggregations)'는 이번 업데이트로 몇 가지 새로운 기능을 제공한다. 이를테면 통합(Unions) 기능을 통해 몽고DB 컬렉션 내 서로 다른 데이터 집합에서 데이터를 쿼리로 집계할 수 있다. 데이터를 별도의 ETL(추출, 변환, 로드) 단계로 처리할 필요가 없어진다. 즉 완전한 결과 집합을 얻고자 해당 단계를 여러 번 왕복하지 않고도 서버에 통합돼 클라이언트에 반환될 수 있다. 

또한 이제 $function aggregator와 같은 사용자 정의 표현식을 사용해 더 복잡한 집계를 서버 측에서 실행할 수 있으며, 데이터를 프로세싱에 더 가깝게 둘 수 있다. 이는 근본적으로 '저장 프로시저(stored procedures)' 버전이다. 전통적인 관계형 데이터베이스에서는 오랫동안 제공돼왔지만 몽고DB에서는 처음으로 지원된다. 단, $function 사용과 관련돼 성능에 영향을 미치는 부분이 있으므로 다른 기본 어그리게이션 표현식이 충분하지 않은 경우에만 권장된다. 

이 밖에 노드 읽기 및 요청 처리 방법을 개선하는 기능도 제공된다. ‘헤지드 읽기(hedged reads)’ 기능은 읽기 요청을 가져와서 요청을 충족할 수 있는 모든 노드로 라우팅하고 가장 빠른 응답으로 요청을 처리한다. 서버가 재시작될 때마다 보조 복제본에 대한 캐시를 미리 로드해 대기 시간을 줄이는 ‘미러링 읽기(mirrored reads)’도 같은 맥락이다. ciokr@idg.co.kr
추천 테크라이브러리

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.