매일 업데이트
2022-10-23 13:31 7 min

AWS DocumentDB 소개 안내서

아마존 DocumentDB 소개: MongoDB 호환 데이터베이스

MongoDB를 대규모로 운영하는 데 어려움을 겪는 고객이 늘어남에 따라, 아마존은 이를 해결하기 위해 DocumentDB라는 새로운 솔루션을 개발했습니다.

DocumentDB의 자동 데이터 확장 기능을 통해 10GB에서 64TB까지 원활하게 확장할 수 있습니다. 이러한 놀라운 확장성이 어떻게 가능한지 자세히 알아보겠습니다.

DocumentDB란 무엇인가?

AWS DocumentDB는 MongoDB 버전 3.6을 기반으로 확장된 서비스입니다. 아마존은 대량의 데이터와 중요한 업무를 처리하기 위한 최적의 솔루션이 필요했습니다. DocumentDB는 MongoDB의 소스 코드를 사용하지 않는 아마존의 독자적인 구현체입니다.

DocumentDB는 MongoDB와 유사하게 문서 저장소 엔진입니다. AWS DocumentDB는 NoSQL 데이터베이스로 분류되며, 일반적으로 JSON 형식을 사용하여 데이터를 저장합니다. 즉, JSON 형식의 데이터 구조를 효과적으로 인덱싱합니다. 아마존 DocumentDB는 AWS 환경에서 MongoDB를 대체할 수 있지만, 근본적으로 다른 독자적인 기술입니다.

DocumentDB에 대해 더 자세히 알아보기 전에, 먼저 NoSQL 데이터베이스의 중요성과 현재 NoSQL이 왜 주목받는지 이해하는 것이 중요합니다.

NoSQL 데이터베이스란?

NoSQL 데이터베이스는 기존의 관계형 데이터베이스와 달리 서로 관련된 테이블이 없습니다. (이름에서 알 수 있듯이 "SQL이 아닌" 데이터베이스입니다.) 주로 문서 및 그래프 형태의 데이터가 사용되며, 대규모 데이터와 사용자 로드를 효율적으로 처리할 수 있습니다.

개발자들이 NoSQL 데이터베이스를 사용하는 주된 이유는 스토리지 효율성이 아닌 성능 향상 때문입니다. NoSQL 데이터는 반정형 또는 다형성을 가지며, 비정형 데이터도 쉽게 저장할 수 있다는 장점이 있습니다.

NoSQL 데이터베이스는 관계형 데이터베이스보다 일관성이 높을 뿐만 아니라, 확장성이 뛰어나고 필요한 리소스도 적습니다. SQL 데이터베이스와 달리, NoSQL 데이터베이스는 수평적으로 확장 가능하며, 스키마리스(schemaless) 구조를 통해 다양한 형태의 데이터 항목을 유연하게 관리할 수 있습니다.

점점 더 많은 개발자들이 퍼블릭 클라우드 환경에서 프로그램과 데이터를 호스팅하기 시작하면서, 데이터를 효율적으로 저장하는 것보다 확장하는 것이 주요 요구 사항이 되었습니다. MongoDB는 이러한 요구에 부응하는 솔루션입니다.

금융, 의료 분야 등 다양한 산업 분야에서 NoSQL 데이터베이스가 활발히 사용되고 있습니다. 예를 들어 스마트 쓰레기통과 같은 IoT 장치에서 생성되는 데이터도 효율적으로 저장할 수 있습니다.

DocumentDB 개발 배경

아마존은 많은 사용자들이 MongoDB를 대규모로 운영하는 데 어려움을 겪고 있다는 점에 주목하여 DocumentDB를 개발하게 되었습니다. 아마존은 기존의 MongoDB Atlas를 포함한 여러 솔루션들이 사용자들의 요구를 충족시키지 못한다고 판단하여 자체 솔루션을 고안했습니다.

DocumentDB를 사용하면 데이터베이스를 10GB에서 64TB까지 자동으로 확장할 수 있어 사용자의 수고를 덜 수 있습니다. DocumentDB 이전에는 이러한 대용량 데이터를 관리하는 것이 매우 복잡했습니다.

아마존의 솔루션은 내결함성 기능도 내장하고 있습니다. 데이터는 10GB 단위로 나누어 여러 디스크에 분산 저장됩니다. 각 10GB 청크는 백업을 위해 3개의 가용 영역에 6번 복제됩니다.

최대 2개의 데이터 복제본이 손실되어도 쓰기 가용성에 영향을 주지 않으며, 3개의 데이터 복제본이 손실되어도 읽기 가용성에는 문제가 없습니다. 또한, 자가 복구 기능을 갖춰 데이터 블록과 디스크에 오류가 발생하면 자동으로 수정합니다.

아마존이 서비스를 직접 호스팅하므로, 보안 및 규정 준수 측면에서도 높은 수준의 서비스를 제공합니다. PCI DSS 및 ISO 9001을 비롯한 여러 표준을 준수하며, SOC 1, SOC 2, SOC 3 및 HIPAA도 만족합니다.

DocumentDB의 주요 장점

#1. MongoDB 호환성

Amazon DocumentDB는 MongoDB 3.6 및 4.0 드라이버와 호환됩니다. 기존에 MongoDB를 사용하던 고객들은 Amazon DocumentDB에서도 동일한 애플리케이션, 드라이버 및 도구를 사용할 수 있습니다.

Amazon DocumentDB는 Apache 2.0 오픈 소스 MongoDB 3.6 및 4.0 API를 사용하여 MongoDB 서버를 에뮬레이션합니다. 이를 통해 중요한 MongoDB 애플리케이션에 필요한 성능, 확장성 및 가용성을 확보할 수 있습니다.

#2. 상세 모니터링

Amazon DocumentDB는 클라우드 데이터베이스 서버에 대한 자세한 분석을 Amazon CloudWatch를 통해 제공합니다. AWS Management 콘솔을 사용하여 클러스터의 성능을 CPU 및 메모리 사용량, 쿼리 처리량, MongoDB 작업 수 및 활성 연결 수와 같은 다양한 지표를 통해 모니터링할 수 있습니다.

#3. 낮은 지연 시간

Amazon DocumentDB는 JSON 문서, 다양한 데이터 유형 및 빠른 인덱싱을 지원합니다. 인메모리 아키텍처를 통해 대용량 문서에 대한 쿼리를 신속하게 처리할 수 있습니다.

#4. 강력한 접근 제어

Amazon DocumentDB는 역할 기반 접근 제어(RBAC) 기능을 내장하여 사용자별로 수행할 수 있는 작업을 제한할 수 있습니다. RBAC를 사용하면 최소 권한 원칙을 효과적으로 구현할 수 있습니다.

AWS Identity and Access Management(IAM)를 통해 클러스터, 인스턴스, 스냅샷 및 파라미터 그룹을 포함한 Amazon DocumentDB 리소스에 대한 IAM 사용자 및 그룹의 접근 권한을 관리할 수 있습니다. 또한, Amazon DocumentDB 리소스에 태그를 지정하고 IAM 사용자 및 그룹을 규제할 수 있습니다.

#5. 데이터 암호화

AWS Key Management Service(KMS)를 사용하여 Amazon DocumentDB 데이터베이스를 암호화할 수 있습니다. 저장 중인 데이터뿐만 아니라, 자동화된 백업, 스냅샷 및 복제본도 모두 암호화됩니다. 클라이언트와 Amazon DocumentDB 간의 연결은 TLS를 사용하여 자동으로 암호화됩니다.

#6. 규정 준수 인증

Amazon DocumentDB는 최고의 보안 표준을 준수하여 자체 규정 및 준수 요구 사항을 충족할 수 있도록 설계되었습니다. PCI DSS, ISO 9001, 27001, 27017 및 27018 표준, SOC 1, 2, 3 표준 및 HIPAA 규정을 준수합니다.

#7. 높은 가용성을 갖춘 글로벌 클러스터

Amazon DocumentDB 글로벌 클러스터는 글로벌 읽기 및 재해 복구를 지원합니다. 최대 5개의 AWS 리전에 데이터를 복제하여 성능 저하를 최소화하면서 데이터를 안정적으로 보호할 수 있습니다.

#8. 복제본을 활용한 다중 AZ 배포

Amazon DocumentDB는 3개의 가용 영역에 최대 15개의 복제본을 생성하여, 인스턴스에 장애가 발생하면 자동으로 다른 인스턴스로 전환합니다. 오류가 발생하면 Amazon DocumentDB가 자동으로 새로운 인스턴스를 생성합니다.

#9. 내결함성 및 자가 복구 스토리지

스토리지 볼륨은 3개의 가용 영역에 6번 복제됩니다. Amazon DocumentDB는 최대 2개의 복제본 데이터 손실을 관리할 수 있는 내결함성 스토리지를 제공하여 쓰기 가용성에 영향을 주지 않습니다. 또한, 스토리지 자체적으로 오류를 감지하고 수정하는 자가 복구 기능을 갖추고 있습니다.

AWS DocumentDB 자주 묻는 질문

AWS DocumentDB는 MongoDB와 동일한가요?

Amazon DocumentDB(MongoDB 호환)는 빠르고 확장성이 뛰어나며, 완전 관리형 문서 데이터베이스 서비스입니다. MongoDB 워크로드와 호환되도록 설계되었습니다.

JSON 형식의 데이터를 Amazon DocumentDB에 문서 데이터베이스로 저장할 수 있으며, 저장, 검색 및 인덱싱을 용이하게 처리할 수 있습니다.

AWS Database Migration Service(DMS)를 사용하면 온프레미스 또는 Amazon Elastic Cloud(EC2) MongoDB 비관계형 데이터베이스를 AWS로 다운타임 없이 빠르고 쉽게 이동할 수 있습니다. 6개월 동안 무료로 서비스를 이용할 수 있습니다.

Amazon DocumentDB는 어떻게 작동하나요?

Amazon DocumentDB는 Apache 2.0 오픈 소스 MongoDB 3.6 및 4.0 API를 사용하여 문서 데이터베이스와 상호 작용합니다. 따라서 기존 MongoDB 드라이버, 애플리케이션 및 도구를 거의 변경 없이 Amazon DDocumentDB와 함께 사용할 수 있습니다.

Amazon DocumentDB는 어떻게 확장되나요?

Amazon DocumentDB는 10GB에서 64TB까지 10GB 단위로 확장할 수 있는 웹 규모 데이터베이스입니다. 클러스터에 복제본 인스턴스를 추가(최대 15개)하여 Amazon DocumentDB의 스토리지 및 컴퓨팅 용량을 수직 및 수평으로 확장할 수 있습니다. 이를 통해 읽기 처리량도 향상시킬 수 있습니다.

설계 측면에서 Amazon DocumentDB의 주요 특징은 무엇인가요?

클라우드 우선 아키텍처를 사용하여 Amazon DocumentDB를 처음부터 설계했습니다. 이는 JSON 워크로드의 확장이 용이하다는 것을 의미합니다.

DocumentDB 설계의 핵심은 스토리지와 처리를 분리하여 각각 독립적으로 확장할 수 있도록 하는 것입니다. DocumentDB는 분산형, 내결함성, 자가 복구 기능이 있는 스토리지 시스템을 제공합니다. 각 데이터베이스 클러스터는 분할 없이 최대 64TB의 데이터를 저장할 수 있습니다.

결론

DocumentDB는 아마존에서 제공하는 유일한 관리형 MongoDB 호환 서비스입니다. 아마존은 DocumentDB가 현재 시판되는 MongoDB 솔루션에 비해 두 배의 처리량을 제공한다고 강조합니다. 대안으로는 EC2/EBS 환경에서 직접 데이터베이스를 관리하는 방법이 있지만, 복잡성이 높습니다.

높은 성능과 안정성이 필요하다면 DocumentDB를 선택하거나 기존 MongoDB를 유지하는 것도 좋은 선택입니다. 모든 인프라를 AWS에 통합하고 싶다면 DocumentDB가 매력적인 선택지가 될 수 있습니다.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.