대체적으로, 그리고 이 페이지의 나머지 부분에서 대부분 "클라우드 데이터베이스"란 용어는 클라우드 기반의 DBaaS(서비스형 데이터베이스)를 뜻합니다.
클라우드 데이터베이스의 주요 이점은 어디서든 액세스가 가능하고, 1일차부터 확장이 가능하며, 신뢰성과 성능을 고려하여 설계되었다는 것입니다.
여러분의 팀이 클라우드 인프라에서 이미 소프트웨어를 개발 중이든, 레거시 애플리케이션을 클라우드로 마이그레이션하는 과정이든 분명한 것은 클라우드-네이티브 데이터베이스 제품군의 인기가 높아지고 있다는 사실입니다.
최신 DBaaS(Database-as-a-Service) 플랫폼 덕분에 일관된 API와 드라이버를 통해 클라우드 및 non-cloud 시스템에서의 액세스를 손쉽게(그러나 통제된 방식으로) 수행함으로써 핵심 리소스에 대한 액세스를 간소화할 수 있습니다. 데이터 액세스와 공유를 필요로 하는 애플리케이션이 많다는 점에서 마이크로서비스 아키텍처는 중앙 집중화 되어 있고 쉽게 액세스할 수 있는 데이터베이스 리소스로부터 특히 이점을 얻을 수 있습니다.
클라우드 SQL 데이터베이스는 다양한 사용 사례를 지원하지만, 유연성이 뛰어난 오늘날의 클라우드 NoSQL 데이터베이스는 데이터 관리 및 소프트웨어 개발 모두에서 민첩성을 획기적으로 개선합니다. 시스템 업그레이드, 클러스터 리밸런싱이나 보다 빠른 하드웨어 프로비저닝, 더 나아가 스미카 및 구조 변경을 수행하기 위해 시스템을 중단할 필요가 없습니다.
NoSQL에서는 데이터 품질에 대한 제어가 이루어지지 않는다고 생각하는 분들이라면 MongoDB가 어떻게 궁극적으로 문서 모델의 유연성을 해치지 않으면서 구조를 보증하는지 확인하고 싶을겁니다.
데이터 관리 시스템에서는 부하가 높은 상태에서 어떻게 적응하고 작업을 수행하느냐가 실질적인 시험대입니다.
클라우드 데이터베이스 서비스는 사용자에게 가장 적합한 데이터베이스 기술이 무엇이든 관계없이 일관된 성능 특성을 유지하면서데이터 증가를 수용하고 부하를 처리할 수 있도록 자동 스케일업*이 가능하게 설계되었습니다. 좋은 DBaaS라면 자동 조정이 불가능한 것을 사용자에게 자동으로 알려서 사용자가 인덱스 및 액세스 패턴을 최적화하여 성능 목표에 도달할 수 있게 지원해야 합니다.
보통은 자체 시스템을 유지하는 것보다 완전 관리형 클라우드 데이터베이스를 사용하는 것이 비용도 저렴하고 수동 작업도 줄일 수 있으며, 여러분과 여러분의 팀이 가치 창출에 주력할 수 있는 방법입니다.
내부의 모든 데이터를 잃는 것을 제외한다면 미션 크리티컬 데이터베이스가 오프라인 상태가 되는 것보다 더 최악의 상황은 없습니다.
클라우드 데이터베이스는 보통 기본적으로 복제 및 백업이 되기 때문에 단일 장애점(SPOF)으로 애플리케이션이 오프라인 상태가 되지는 않으며, 정기적인 자동 백업 및 재난 복구를 통해 재앙적 사고를 줄일 수 있습니다.
MongoDB 클라우드 데이터베이스인 MongoDB Atlas는 실시간으로 자동 복제 및 백업되므로 특정 시점으로의 복구가 가능하고, 이에따라 고객의 신뢰도를 높일 수 있습니다.
기존 데이터베이스를 사용하는 경우 대부분 클라우드 데이터베이스도 사용할 수 있습니다. 특히 소프트웨어 제품을 구축할 때 다음과 같은 이점이 있습니다.
레거시 현대화나 분석과 같은 중앙 집중화를 활용하는 데이터 애플리케이션 역시 클라우드 데이터베이스를 사용하기에 적합한 후보입니다.
클라우드 데이터베이스를 사용하기에 더 적합해 보이는 특정한 사용 사례들이 있지만, 실시간 온라인 트랜잭션 처리, 캐싱 또는 데이터 웨어하우징 같은 기존의 사용 사례들 역시 완전 관리형 패러다임에 적합합니다.
클라우드 데이터베이스가 자신에게 적합한지 여전히 고민 중이거나 요구사항에 가장 적합한 DBaaS를 선택하는 과정에 있는 분들이라면 고려해야 할 몇 가지 핵심 요소가 있습니다.
모든 클라우드 제공업체에서 사용할 수 있는 클라우드 데이터베이스도 있지만(MongoDB Atlas는 어떤 주요 퍼블릭 클라우드 제공업체 제품에서든 실행), 한 제공업체에 지정된 클라우드 데이터베이스도 있습니다 (예: Cloud Bigtable은 Google에, RDS에는 Amazon Web Services에서 실행).
클라우드 제공업체에게 선택권이 있는 기존의 풋프린트, 호환성 요구사항 또는 관계를 가지고 있는 경우에는 클라우드 VM 기반의 자체 관리형 데이터베이스나 해당 클라우드 제공업체가 제공하는 DBaaS(Database-as-a-Service) 제품을 선택할 수 있습니다.
멀티클라우드 또는 하이브리드 클라우드 와 같은 서로 다른 전략들에서는 여러 퍼블릭 및 프라이빗 클라우드를 활용하도록 지시하고 있기 때문에 제공업체 또는 온프레미스에서 작동할 수 있는 제품에 대한 선택의 폭이 좁습니다.
플랫폼 종속성
기술 요구사항
클라우드 제공업체 전략
여러분은 아마도 기존 시스템, 프로세스 또는 스킬 세트를 활용하기 위해 SQL 호환 제품군을 찾고 있거나, 시스템 요구에 따라 맞춤화된 NoSQL 제품군에 관심이 있을 것입니다. 때로 팀의 기술 스택에 있는 다른 옵션들(예: 프로그래밍 언어)에 따라 더 적합한 데이터베이스 기술이 결정되므로 해당 제공업체나 플랫폼이 자신의 개발 프로세스에 적합한지 면밀히 살펴봐야 합니다.
호환이 가능한가?
이식이 가능한가?
사용 사례에 적합한가?
올바른 데이터베이스 기술을 스스로 관리할 수 있을 정도의 인력과 스킬셋을 보유하고 계십니까? 그렇다면 클라우드 VM을 기반으로 하는 자체 관리형 데이터베이스가 적합할 수 있습니다. 그렇더라도 완전 관리형 DBaaS 플랫폼을 채택하여 관리 부담을 상당 부분 덜고 팀원들을 보다 생산적인 프로젝트에 투입해야 합니다.
VM과 DBaaS 비교
성능/SLA
확장성/성장 오버헤드
모니터링
클라우드 데이터베이스의 또 다른 장점은 사용량 기반 또는 소비량 기반의 가격 정책으로 전환할 수 있다는 것입니다. 즉, 궁극적으로 필요한 리소스가 무엇인지 알기도 전에 선행 투자를 하기 보다는 작게 시작해서 필요에 따라 확장할 수 있습니다.
VM 기반, 라이선스 기반 또는 사용량 기반
비즈니스 모델에 맞게 가격 모델 결정
데이터 유출에 따른 비용 지출이 계속 증가하고 있으며, 규제 조사도 사상 최고치를 기록하고 있습니다. 관리형 클라우드 데이터베이스는 계층화된 보안 모범 사례를 따르며, 시스템을 자동으로 업데이트하고 광범위한 전문 지식을 활용해 가장 안전한 구성을 실행합니다. 왜 이 모든 부담을 혼자 떠안으려고 하십니까?
액세스 제어 및 감사
계층화된 관리형 보안 모범 사례
오늘날의 클라우드 DBaaS(Database-as-a-Service) 제품군은 데이터베이스 자체를 넘어 그 이상의 이점을 제공할 수 있습니다. 예를 들어 MongoDB Atlas에는 SQL 호환 커넥터와 통합 차트 및 그래프, 그리고 트리거와 서버리스 컴퓨팅을 통해 데이터 기반 워크플로를 구축하는 도구가 포함되어 있습니다.
분석
커넥터
리포팅
감사
트리거 및 처리
MongoDB는 자체 관리형 데이터베이스 클러스터나 VM 형태로 클라우드 제공업체 또는 온프레미스 네트워크에서 설치 및 실행되며, 클라우드 DBaaS 서비스인 MongoDB Atlas를 사용하여 AWS, GCP 또는 Azure에서 설치 및 실행 할 수 있습니다. DBaaS 옵션의 주요 이점은 다음과 같습니다.
MongoDB의 광범위한 DaaS(Data-as-a-Service) 개발 플랫폼에 포함되어 있는 MongoDB Atlas는 자체 NoSQL이나 기존 데이터베이스의 관리 또는 클라우드 제공업체별 관리형 제품군의 사용을 대체할 수 있는 강력한 솔루션입니다.
클라우드 데이터베이스는 데이터베이스 인스턴스(들)를 설치, 구성 및 유지 관리하기 보다는 자동화된 시스템을 통해 기반 데이터베이스 클러스터를 프로비저닝하고 관리 및 확장하는 방식으로 작동합니다.
완전 관리형 데이터베이스 서비스는 개발자가 전 세계에 제공되는 간단한 리소스로서 클러스터에 액세스하도록 허용함으로써 클러스터의 일관된 가용성과 높은 성능을 유지해야 하는 복잡성을 해결합니다.
투명하게 운영되는 사용량 기반 가격 모델에 따라 단일 데이터베이스 인스턴스로서 클러스터를 처리할 수 있기 때문에 과잉 또는 과소 프로비저닝에 대해 걱정할 필요가 없습니다.