BLOG

최적의 문서 DB 서비스를 찾고 있다면? Amazon DocumentDB의 12가지 특장점
작성일: 2020-06-15

 Amazon DocumentDB (MongoDB호환)는 MongoDB 워크로드를 지원하는 빠르고, 확장 가능하며, 가용성이 높은 완전관리형 문서 데이터베이스 서비스입니다. 이를 통해 사용자는 기본 인프라 관리에 대한 걱정 없이 동일한 MongoDB 3.6 애플리케이션 코드, 드라이버 및 도구를 사용하여 Amazon DocumentDB에서 워크로드를 실행, 관리 및 확장할 수 있습니다. 또한 JSON 데이터를 쉽게 저장, 쿼리 및 색인화 할 수 있습니다.

 

AWS는 가용성, 안정성, 내구성, 확장성, 백업 등의 문제를 훌륭히 해결할 수 있는 Amazon DocumentDB를 구축했습니다. 이를 통해 반복적이며 힘든 업무를 줄이고, 비용을 절감할 수 있는 몇 가지 새롭고 고유한 기능을 구축했습니다. 오늘 블로그 포스팅으로는 Amazon DocumentDB에서 MongoDB 워크로드를 구축하고 확장하는 데 도움이 되는 12가지 Amazon DocumentDB 기능을 소개해 드리도록 하겠습니다.

 

 

1. 현대 클라우드 네이티브 아키텍처

Amazon DocumentDB는 클라우드 네이티브 데이터베이스 아키텍처로 구축되었습니다. 이 고유한 아키텍처는 스토리지와 컴퓨팅을 분리하여 각 계층을 독립적으로 확장할 수 있습니다. Amazon DocumentDB는 3개의 AWS 가용 영역 (AZ)에 6가지 방식으로 데이터를 복제하여 가용성이 높고 내구성이 뛰어난 특수 목적으로 구축되고 분산된 내결함성자가 자가 복구 시스템을 사용합니다. 더욱 자세히 알고싶으시다면 YouTube에서 AWS re:Invent 2019 컨퍼런스에서 발표된 ‘Amazon DocumentDB 심층 연구’ 영상을 시청해 주시기 바랍니다. 다음의 다이어그램은 Amazon DocumentDB 아키텍처에서 컴퓨팅과 스토리지를 분리와 3개의 AZ에서 6가지 방법으로 데이터를 복제하는 방법을 보여줍니다.

 

 

 

2. 데이터 크기에 관계없이 분 단위로 컴퓨팅 확장

스토리지 볼륨이 컴퓨팅 인스턴스와 분리되어 있기 때문에 컴퓨팅 인스턴스는 고유한 인스턴스에 연결된 스토리지에 종속되지 않습니다. 클러스터의 각 인스턴스는 분산 스토리지 볼륨을 마운트합니다. 따라서 새 인스턴스를 추가할 때는 데이터를 복사할 필요가 없습니다. 데이터 크기에 관계없이 클러스터에 추가 복제본 인스턴스를 추가하거나 몇 분 안에 인스턴스를 확장하여 초당 최대 수백만 읽기 처리량을 증가시킬 수 있기 때문에 이점이 있습니다. 마찬가지로, 다른 인스턴스의 성능에 영향을 주지 않으면서 쉽게 축소 및 확장할 수 있습니다.

 

 

3. 성능에 영향을 주지 않는 자동화된 저렴한 백업

기존 데이터베이스 아키텍처와 달리 백업은 컴퓨팅 계층에 있지 않으므로 데이터베이스 성능에 영향을 미치지 않습니다. 대신 Amazon DocumentDB 백업은 스토리지 계층에 의해 처리되며 지속적으로 Amazon S3로 스트리밍 됩니다. Amazon DocumentDB를 사용하면 스냅 샷을 생성해도 데이터베이스 성능에 영향을 미치지 않으므로 프로덕션 데이터베이스의 성능에 영향을 미치지 않고 필요할 때 스냅 샷을 찍을 수 있습니다.

 

Amazon DocumentDB에서는 기본적으로 연속 백업이 활성화되어 1일 시점 복구(PITR)가 가능합니다. 백업을 비활성화 할 수 없으며 PITR의 백업 보존 기간을 35일로 늘릴 수 있습니다. 또한 장기 보관을 위해 언제든지 수동 스냅 샷을 만들 수 있습니다. 기본적으로 1 일 백업을 활성화하는 비용을 상쇄시키기 위해 Amazon DocumentDB는 리전에 대한 전체 클러스터 스토리지의 최대 100 %까지는 백업 스토리지 비용이 청구되지 않습니다. 추가 백업 비용은 GB 당 월 $ 0.02입니다. 또한 백업은 컴퓨팅 계층이 아닌 스토리지 계층에서 발생하므로 백업은 컴퓨팅 리소스를 사용하거나 I / O 비용이 발생하지 않습니다.

 

 

4. 자동 확장 스토리지 및 I / O

Amazon DocumentDB 클러스터를 프로비저닝 할 때 클러스터에 필요한 스토리지 또는 I/O의 양을 지정할 필요가 없습니다. Amazon DocumentDB는 클러스터 당 10GB에서 최대 64TB의 데이터를 10GB 단위로 자동 확장하는 고유한 스토리지 시스템을 사용합니다. 스토리지 및 I/O를 자동 확장하면 용량 계획 또는 프로비저닝 프로비저닝 스토리지 인프라에 대해 걱정할 필요가 없으므로 시간과 비용을 절약할 수 있습니다.

 

 

5. 복제본에서 스케일링 읽기

Amazon DocumentDB에서 스토리지 계층은 데이터 복제 및 내구성을 처리합니다. 기존 데이터베이스 아키텍처와 달리 Amazon DocumentDB의 복제본 인스턴스는 데이터를 포함하지 않으며 내구성을 위한 쿼럼을 위해 복제 프로토콜에 개입하지 않습니다. 결과적으로, 복제 인스턴스에서 읽기를 확장하여 비용을 지불하는 컴퓨팅 리소스에서 더 많은 성능을 얻고 고 가용성을 달성할 수 있습니다. 자세한 내용은 ,Amazon DocumentDB에 Replica Set로 연결하기’ 설명서 글을 참고해 주시기 바랍니다.

 

 

6. 암시적 거래

Amazon DocumentDB에서 모든 CRUD구문(findAndModify, update, insert, delete)도 여러 문서를 수정하는 작업에 대한 원자성과 일관성을 보장합니다. 이 동작은 단일 문서를 수정하는 명령에 대해서만 원자성을 보장을 제공하는 MongoDB 3.6과 다릅니다. 다음 코드는 원자성과 일관성을 모두 만족시키는 여러 문서를 수정하는 Amazon DocumentDB의 예제 작업을 보여줍니다.

db.miles.update(   {“credit_card”: {$eq: true}},   {$mul: { “flight_miles.$[]”: NumberInt(2) }},   { multi: true }) db.miles.updateMany({“credit_card”: {$eq: true}}, {$mul: { “flight_miles.$[]”: NumberInt(2) }}) db.runCommand({   update: “miles”,   updates: [              {q: {“credit_card”: {$eq: true}}, u: {$mul: { “flight_miles.$[]”: NumberInt(2) }}, multi: true}   ]}) db.products.deleteMany( { “cost” : { $gt : 30.00 } } ); db.runCommand(   {      delete: “products”,      deletes: [ {q: { “cost” : { $gt : 30.00 } }, limit: 0 } ]   }

)  

 

 

7. Amazon DocumentDB마이그레이션을 위한 무료 DMS

AWS Database Migration Service (DMS)를 사용하면 데이터베이스를 Amazon DocumentD로 빠르고 안전하게 마이그레이션할 수 있습니다. AWS DMS를 무료로 (6 개월간) 사용하여 다운 타임없이 온 프레미스 또는 EC2 MongoDB 데이터베이스를 Amazon DocumentDB로 쉽게 마이그레이션할 수 있습니다. 자세한 내용은’ AWS Database Migration Service : 무료 DMS’에 대한 설명글을 참고해 주시기 바랍니다. 마이그레이션에 대한 상세 내용이 궁금하신 경우 사용 설명서에 기재된 ’Amazon DocumentDB로 마이그레이션 하기’ 항목을 확인해 주시기 바랍니다.

 

 

8. 개발 및 테스트를 위한 내구성이 뛰어난 단일 인스턴스 클러스터

Amazon DocumentDB는 기본적으로 내구성이 뛰어납니다. 스토리지는 내구성을 처리하고 클러스터에 있는 인스턴스 수와는 관련 없으므로 여전히 내구성이 높은 단일 인스턴스 클러스터를 만들 수 있습니다. 단일 인스턴스 클러스터는 개발 및 테스트 작업의 비용을 절약하는 데 유용합니다. 비용 절감에 대한 정보는 비용 최적화를 참고하세요.

 

 

9. 광범위한 규정 준수 인증 및 보안 제어

Amazon DocumentDB는 수많은 보안 제어 기능을 제공합니다. 먼저 Amazon DocumentDB는 RBAC (역할 기반 액세스 제어) 를 지원하므로 사용자를 생성하고 기본 제공 역할을 연결하여 사용자가 수행할 수 있는 작업을 제한할 수 있습니다. Amazon DocumentDB는 VPC 전용 서비스입니다. Amazon VPC를 사용하면 정의한 자체 가상 네트워크에서 Amazon DocumentDB 클러스터와 같은 AWS 리소스를 시작할 수 있는 논리적으로 격리된 AWS 클라우드 섹션을 프로비저닝할 수 있습니다. Amazon DocumentDB를 사용하면 AWS KMS를 통해 생성하고 제어하는 ​​키를 사용하여 데이터베이스를 암호화 할 수 있습니다. Amazon DocumentDB 암호화로 실행되는 클러스터에서 동일한 스토리지의 자동화된 백업, 스냅 샷 및 복제본과 마찬가지로 기본 스토리지에 저장된 데이터는 암호화됩니다. 기본적으로 클라이언트와 Amazon DocumentDB 간의 연결은 전송 중에 TLS로 암호화됩니다.

 

Amazon DocumentDB는 최고의 보안 표준을 준수하며 AWS 보안을 쉽게 확인하고 자체 규제 및 규정 준수 의무를 충족할 수 있도록 합니다. Amazon DocumentDB는 PCI DSS , ISO 9001 , 27001 , 27017 및 27018 , SOC 1, 2 및 3 , HIPRUST (Health Information Trust Alliance) CSF (Common Security Framework) 인증 뿐만 아니라 HIPAA 인증을 준수하는 것으로 평가됩니다 . AWS 규정 준수 보고서는 AWS Artifact 에서 다운로드할 수 있습니다.

 

 

10. Amazon DocumentDB 클러스터 시작 및 중지

Amazon DocumentDB를 사용하면 클러스터를 중지하고 시작하여 비용을 절감할 수 있습니다. 따라서 클러스터를 항상 실행할 필요가 없는 개발 및 테스트 목적으로 클러스터를 쉽고 경제적으로 사용할 수 있습니다. 클러스터를 중지하면 계산 및 비용이 0이 됩니다. 자세한 내용은 사용 설명서의 ‘Amazon DocumentDB 클러스터 중지 및 시작’ 단원을 참고해 주십시오.

 

 

11. 슬로우 쿼리 프로파일링

Amazon DocumentDB의 프로파일러를 사용하여 클러스터에서 수행된 쿼리의 실행 시간과 세부 정보를 Amazon CloudWatch Logs에 기록할 수 있습니다. 프로파일러는 클러스터에서 가장 느린 작업을 모니터링하여 개별 쿼리 성능과 전반적인 클러스터 성능을 향상시키는 데 유용합니다. 자세한 내용은 Amazon DocumentDB 작업 프로파일링을 참고해 주십시오.

 

 

12. 초당 가격

Amazon DocumentDB 인스턴스는 1초 단위로 청구됩니다. 온 디맨드 요금과 사전 약정이 필요하지 않은 Amazon DocumentDB의 초당 청구는 추가 세분성을 제공하므로 사용하는 용량에 대해서만 비용을 지불합니다. 자세한 내용은 Amazon DocumentDB (MongoDB 호환) 요금 페이지를 참고해 주시기 바랍니다.

 

 

글을 마치며

AWS는 완전 관리형 데이터베이스 서비스로서 가용성, 안정성, 내구성, 확장성, 백업 등의 문제를 해결하기 위해 Amazon DocumentDB를 구축했습니다. 본 게시물에서는 Amazon DocumentDB에서 MongoDB 워크로드를 구축하고 확장하는 데 도움이 되는 12 가지 Amazon DocumentDB 기능을 소개해 드렸습니다.

 

Amazon DocumentDB를 시작하시기 원하신다면 AWS의 블로그에 게제된 ‘Getting Started with Amazon DocumentDB (with MongoDB compatibility); Part 2 – using AWS Cloud9’  글을 참고해 주시기 바랍니다. 더불어 Amazon DocumentDB 마이그레이션에 대해 더욱 자세히 알기 원하시면 마이그레이션 안내서와 실시간 마이그레이션 데모를 살펴봐 주십시오.

 

 

원문URL :   https://aws.amazon.com/ko/blogs/database/12-things-you-should-know-about-amazon-documentdb-with-mongodb-compatibility/

** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.