분산 NoSQL 데이터베이스 이해

적용 대상: NoSQL MongoDB Cassandra Gremlin 테이블

Azure Cosmos DB는 NoSQL 및 모든 규모의 관계형 데이터베이스를 위한 전역적으로 분산된 데이터베이스 플랫폼입니다. 이 문서에서는 Azure Cosmos DB의 다양한 NoSQL API 옵션 컨텍스트에서 분산 NoSQL 데이터베이스를 살펴봅니다.

Azure의 다른 데이터 스토리지 옵션에 대한 자세한 내용은 Azure 아키텍처 센터에서 올바른 데이터 저장소 선택을 참조하세요.

챌린지

관계형 데이터베이스 시스템을 유지 관리할 때의 과제 중 하나는 많은 데이터베이스 엔진이 엄격한 ACID 의미 체계를 적용하기 위해 잠금 및 래치를 적용한다는 것입니다. 이 방법은 데이터베이스에 액세스하는 방법에 관계없이 높은 데이터 상태 일관성이 필요한 시나리오에서 유용합니다. 이 방법은 높은 일관성을 보장하지만 동시성, 대기 시간, 가용성과 관련하여 많은 상충 관계가 발생합니다. 이 제한 사항은 기본적으로 아키텍처 제한이며 트랜잭션 워크로드가 높은 모든 팀이 여러 데이터베이스 또는 데이터베이스 노드에서 데이터를 수동으로 배포하거나 분할하는 등의 해결 방법을 찾아야 합니다. 이러한 해결 방법은 시간이 오래 걸리고 구현하기 어려울 수 있습니다.

NoSQL 데이터베이스

NoSQL 데이터베이스는 일관성을 조정하여 동시성, 대기 시간, 가용성에 대한 상충 관계를 최소화함으로써 수평적 스케일링을 간소화하도록 설계된 데이터베이스를 말합니다. NoSQL 데이터베이스는 구성 가능한 수준의 일관성을 제공하므로 데이터가 여러 노드에서 확장되고 애플리케이션의 요구 사항에 더 잘 매핑되는 속도 또는 가용성을 제공할 수 있습니다.

분산 데이터베이스

분산 데이터베이스는 여러 인스턴스 또는 위치에 걸쳐 확장되는 데이터베이스를 말합니다. 많은 NoSQL 데이터베이스가 스케일링을 위해 설계되지만 모든 데이터베이스가 분산 데이터베이스인 것은 아닙니다. 더욱이 많은 NoSQL 데이터베이스에서 로컬 중복을 위해 중복 노드에 배포하거나 지리적 중복을 위해 전역적으로 배포하기 위해서는 시간과 노력이 필요합니다. 전역적으로 분산된 데이터베이스에 대한 계획, 구현, 네트워킹 요구 사항은 복잡할 수 있습니다.

Azure Cosmos DB

NoSQL 데이터베이스이기도 한 분산 데이터베이스 덕분에 높은 트랜잭션 워크로드를 갑자기 빌드하고 관리하기가 쉬워졌습니다. Azure Cosmos DB는 NoSQL 및 관계형 변형 모두에서 분산 데이터 API를 제공하는 데이터베이스 플랫폼입니다. 특히 많은 NoSQL API는 실제 애플리케이션 요구 사항을 충족하는 일관성 또는 가용성 수준을 미세 조정할 수 있는 다양한 일관성 옵션을 제공합니다. 속도와 가용성을 절충하면서 높은 일관성을 제공하도록 데이터베이스를 구성할 수 있습니다. 마찬가지로 데이터베이스는 복제된 데이터의 일관성과 대기 시간을 예측 가능하게 절충함으로써 최상의 성능을 제공하도록 구성할 수 있습니다. Azure Cosmos DB는 로컬 인스턴스 또는 전역으로 데이터를 자동으로 그리고 동적으로 분산합니다. Azure Cosmos DB는 ACID 보장을 제공하고 처리량을 스케일링하여 애플리케이션의 요구 사항에 매핑할 수도 있습니다.

다음 단계

Azure Cosmos DB를 시작하시겠어요?