상위 질문
타임라인
채팅
관점

클라우드 데이터베이스

위키백과, 무료 백과사전

Remove ads

클라우드 데이터베이스(cloud database)는 일반적으로 클라우드 컴퓨팅 플랫폼에서 실행되는 데이터베이스이다. 데이터베이스에 대한 액세스는 서비스로 제공된다. 두 가지 일반적인 배포 모델이 있다. 사용자는 가상 머신 이미지를 사용하여 클라우드에서 독립적으로 데이터베이스를 실행하거나 클라우드 데이터베이스 공급자가 유지 관리하는 데이터베이스 서비스에 대한 액세스 권한을 구매할 수 있다. 클라우드에서 사용할 수 있는 데이터베이스 중 일부는 SQL 기반이고 일부는 NoSQL 데이터 모델을 사용한다.

데이터베이스 서비스는 데이터베이스의 확장성과 고가용성을 관리한다. 데이터베이스 서비스는 기본 소프트웨어 스택을 사용자에게 투명하게 만든다.[1]

배포 모델

클라우드 플랫폼에서 데이터베이스를 구동하기 위한 주된 방식은 두 가지가 있다:

가상 머신 이미지
클라우드 플랫폼을 통해 사용자는 제한된 시간 동안 가상 머신 인스턴스를 구매할 수 있으며, 이러한 가상 머신에서 데이터베이스를 실행할 수 있다. 사용자는 데이터베이스가 설치된 자신의 머신 이미지를 업로드하거나 최적화된 데이터베이스 설치가 이미 포함된 기성 머신 이미지를 사용할 수 있다.[2]
서비스형 데이터(Database-as-a-service, DBaaS)
서비스 모델로서의 데이터베이스를 사용하면 사용자는 서비스 및 컴퓨팅 리소스에 대해 클라우드 공급자에게 요금을 지불하므로 데이터베이스를 개발하고 관리하는 데 필요한 비용과 노력이 줄어든다.[2] 사용자에게는 데이터베이스 인스턴스를 생성 및 관리하고 사용자를 제어할 수 있는 도구가 제공된다. 일부 클라우드 제공업체는 데이터베이스 구조와 데이터를 관리하는 도구도 제공한다.[3] 많은 클라우드 공급자는 관계형(Amazon RDS, SQL Server) 및 NoSQL(MongoDB, Amazon DynamoDB) 데이터베이스를 모두 제공한다.[3] 이는 일종의 서비스형 소프트웨어(SaaS)이다.

아키텍처 및 공통 특성

  • 대부분의 데이터베이스 서비스는 최종 사용자가 데이터베이스 인스턴스를 프로비저닝하고 구성하는 데 사용할 수 있는 웹 기반 콘솔을 제공한다.
  • 데이터베이스 서비스는 서비스 API를 사용하여 기본 데이터베이스 인스턴스를 제어하는 ​​데이터베이스 관리자 구성 요소로 구성된다. 서비스 API는 최종 사용자에게 공개되며 사용자가 데이터베이스 인스턴스에 대한 유지 관리 및 스케일링 작업을 수행할 수 있도록 한다.
  • 기본 소프트웨어 스택에는 일반적으로 운영 체제, 데이터베이스 및 데이터베이스 관리에 사용되는 타사 소프트웨어가 포함된다. 서비스 제공업체는 기본 소프트웨어 스택을 설치, 패치 및 업데이트하고 데이터베이스의 전반적인 상태와 성능을 보장할 책임이 있다.
  • 확장성 기능은 공급업체마다 다르다.  일부는 자동 스케일링을 제공하고, 다른 일부는 사용자가 API를 사용하여 스케일업할 수 있도록 하지만 자동으로 스케일링하지는 않는다.[2]
  • 일반적으로 특정 수준의 고가용성(예: 99.9% 또는 99.99%)에 대한 약속이 있다. 이는 데이터를 복제하고 인스턴스를 다른 데이터베이스 인스턴스로 페일오버하여 달성된다.[4]
Remove ads

데이터 모델

요약
관점

일반적인 시스템의 설계 및 개발은 데이터 관리 및 관계형 데이터베이스를 핵심 구성 요소로 활용한다. SQL로 표현되는 고급 쿼리는 관계형 데이터베이스에 의해 정보에 부과되는 엄격한 관계에서 잘 작동한다. 그러나 관계형 데이터베이스 기술은 분산 시스템에서 사용하도록 처음 설계되거나 개발되지 않았다. 이 문제는 관계형 데이터베이스에 클러스터링 향상 기능을 추가하여 해결되었지만 일부 기본 작업에는 데이터 동기화와 같이 복잡하고 비용이 많이 드는 프로토콜이 필요하다.[5]

현대 관계형 데이터베이스는 데이터 집약적인 시스템에서 성능이 좋지 않은 것으로 나타났으므로 클라우드 기반 시스템의 데이터베이스 관리 시스템 내에서 NoSQL 개념이 활용되었다.[6] NoSQL이 구현된 저장소 내에는 고정된 테이블 스키마에 대한 요구 사항이 없으며 조인 작업 사용이 회피된다. "NoSQL 데이터베이스는 효율적인 수평 확장성, 우수한 성능, 그리고 클라우드 애플리케이션에 쉽게 통합될 수 있음을 입증했다."[7] 단순화된 릴레이 알고리즘에 의존하는 데이터 모델 또한 가상 프레임워크에 고유한 데이터 집약적인 클라우드 매핑 애플리케이션에 사용되었다.[8]

관계형 데이터베이스와 비관계형 또는 NoSQL 클라우드 데이터베이스를 구별하는 것도 중요하다.[9]

SQL 데이터베이스
SQL 데이터베이스는 공급업체에 따라 가상 머신 또는 서비스로 클라우드에서 실행될 수 있는 한 가지 유형의 데이터베이스이다. SQL 데이터베이스는 수직 확장이 쉽지만, 수평 확장은 클라우드 데이터베이스 서비스에 도전 과제를 제기해 왔으며, SQL 기반 클라우드 데이터베이스 서비스가 이를 해결하기 시작했다.[10]틀:Qn
NoSQL 데이터베이스
NoSQL 데이터베이스는 클라우드에서 실행될 수 있는 또 다른 유형의 데이터베이스이다. NoSQL 데이터베이스는 대규모 읽기/쓰기 로드를 처리하도록 구축되었으며 쉽게 확장 및 축소할 수 있으므로[11] 클라우드에서 실행하는 데 더 적합하다. 그러나 대부분의 현대 애플리케이션은 SQL 데이터 모델을 기반으로 구축되었으므로 NoSQL 데이터베이스를 사용하려면 종종 애플리케이션 코드를 완전히 다시 작성해야 한다.[12]
일부 SQL 데이터베이스는 JSON, 이진 JSON (예: BSON 또는 유사 변형), 키-값 저장소 데이터 유형을 포함한 NoSQL 기능을 개발했다.
관계형 데이터베이스 및 비관계형 기능을 가진 멀티모델 데이터베이스는 사용자 및 애플리케이션에 표준 SQL 인터페이스를 제공하여 SQL 데이터 모델을 기반으로 구축된 현대 애플리케이션에 이러한 데이터베이스를 활용하는 것을 용이하게 한다. 네이티브 멀티모델 데이터베이스는 단일 코어와 모든 데이터 모델에 액세스하는 통합 쿼리 언어를 통해 여러 데이터 모델을 지원한다.
Remove ads

공급업체

요약
관점

다음 표는 클라우드 데이터베이스 제품을 제공하는 주요 데이터베이스 공급업체를 배포 모델(머신 이미지 대 서비스형 데이터베이스) 및 데이터 모델(SQLNoSQL)별로 분류하여 나열한다.

자세한 정보 가상 머신 배포, 서비스형 데이터베이스 ...

같이 보기

각주

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads