클라우드 데이터베이스

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

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

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

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

 데이터 모델 
일반적인 시스템의 설계 및 개발은 데이터 관리 및 관계형 데이터베이스를 핵심 구성 요소로 활용한다. SQL로 표현되는 고급 쿼리는 관계형 데이터베이스에 의해 정보에 부과되는 엄격한 관계에서 잘 작동한다. 그러나 관계형 데이터베이스 기술은 분산 시스템에서 사용하도록 처음 설계되거나 개발되지 않았다. 이 문제는 관계형 데이터베이스에 클러스터링 향상 기능을 추가하여 해결되었지만 일부 기본 작업에는 데이터 동기화와 같이 복잡하고 비용이 많이 드는 프로토콜이 필요하다.A. Anjomshoaa and A. Tjoa, "How the cloud computing paradigm could shape the future of enterprise information processing", Proceedings of the 13th International Conference on Information Integration and Web-based Applications and Services - iiWAS'11, pp. 7-10, 2011.

현대 관계형 데이터베이스는 데이터 집약적인 시스템에서 성능이 좋지 않은 것으로 나타났으므로 클라우드 기반 시스템의 데이터베이스 관리 시스템 내에서 NoSQL 개념이 활용되었다.S. Cass, "Designing for the Cloud", MIT Technology Review, 2009. [Online]. Available: https://www.technologyreview.com/s/414090/designing-for-the-cloud/. Retrieved 2016-10-04. NoSQL이 구현된 저장소 내에는 고정된 테이블 스키마에 대한 요구 사항이 없으며 조인 작업 사용이 회피된다. "NoSQL 데이터베이스는 효율적인 수평 확장성, 우수한 성능, 그리고 클라우드 애플리케이션에 쉽게 통합될 수 있음을 입증했다.""NoSQL", Wikipedia, 2016. Retrieved 2016-10-04. 단순화된 릴레이 알고리즘에 의존하는 데이터 모델 또한 가상 프레임워크에 고유한 데이터 집약적인 클라우드 매핑 애플리케이션에 사용되었다.

관계형 데이터베이스와 비관계형 또는 NoSQL 클라우드 데이터베이스를 구별하는 것도 중요하다.https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data Article in 'Microsoft Azure'
 SQL 데이터베이스 SQL 데이터베이스는 공급업체에 따라 가상 머신 또는 서비스로 클라우드에서 실행될 수 있는 한 가지 유형의 데이터베이스이다. SQL 데이터베이스는 수직 확장이 쉽지만, 수평 확장은 클라우드 데이터베이스 서비스에 도전 과제를 제기해 왔으며, SQL 기반 클라우드 데이터베이스 서비스가 이를 해결하기 시작했다.Dave Rosenberg, Are databases in the cloud really all that different?, CNET, Retrieved 2011-11-6
 NoSQL 데이터베이스 NoSQL 데이터베이스는 클라우드에서 실행될 수 있는 또 다른 유형의 데이터베이스이다. NoSQL 데이터베이스는 대규모 읽기/쓰기 로드를 처리하도록 구축되었으며 쉽게 확장 및 축소할 수 있으므로 클라우드에서 실행하는 데 더 적합하다. 그러나 대부분의 현대 애플리케이션은 SQL 데이터 모델을 기반으로 구축되었으므로 NoSQL 데이터베이스를 사용하려면 종종 애플리케이션 코드를 완전히 다시 작성해야 한다.Ken North, "SQL, NoSQL or SomeSQL?", Dr. Dobb's, Retrieved 2011-11-9.
 일부 SQL 데이터베이스는 JSON, 이진 JSON (예: BSON 또는 유사 변형), 키-값 저장소 데이터 유형을 포함한 NoSQL 기능을 개발했다.
 관계형 데이터베이스 및 비관계형 기능을 가진 멀티모델 데이터베이스는 사용자 및 애플리케이션에 표준 SQL 인터페이스를 제공하여 SQL 데이터 모델을 기반으로 구축된 현대 애플리케이션에 이러한 데이터베이스를 활용하는 것을 용이하게 한다. 네이티브 멀티모델 데이터베이스는 단일 코어와 모든 데이터 모델에 액세스하는 통합 쿼리 언어를 통해 여러 데이터 모델을 지원한다.

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

+ 배포 및 데이터 모델별 클라우드 데이터베이스 공급업체 가상 머신 배포 서비스형 데이터베이스 SQL 데이터 모델 EDB Postgres Advanced Server
 IBM Db2Deploy your database applications and projects on the cloud, IBM.com, Retrieved 2011-9-1
 인그레스 (데이터베이스)Chris Kanaracus, "Ingres rolls out cloud database offerings", 인포월드, Retrieved 2011-8-28.
 MariaDB"Amazon Web Services Announces Two New Database Services – AWS Database Migration Service and Amazon RDS for MariaDB , Amazon Press Releases, retrieved 2015-11-17"MariaDB Enterprise Cluster + MariaDB MaxScale , Microsoft Azure, retrieved 2015-11-17
 MySQL"Running MySQL on Amazon EC2 with EBS (Elastic Block Store), Amazon Web Services, retrieved 2011-11-20
 NuoDBSwoyer, Stephen. "NuoDB: A Database for the Cloud." TDWI. Nov. 13, 2012. Retrieved Nov. 26, 2012
 오라클 데이터베이스Amazon Machine Images - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 Bit , Amazon Web Services, Retrieved 2011-11-9."Oracle Database in the Cloud", Oracle.com, Retrieved 2011-11-9.
 PostgreSQLChris Kanaracus, "EnterpriseDB Adding New Cloud Option for PostgreSQL Database", PCWorld, retrieved 2011-8-28
 SAP HANA
 YugabyteDB
 TiDB 아마존 오로라, MySQL 기반 서비스
 아마존 관계형 데이터베이스 서비스
 Clustrix 서비스형 데이터베이스
 CockroachDB-as-a-ServiceTony Baer, "Cockroach DB introduces a serverless tier", ZDNet.com, Retrieved 2021-12-13.
 EnterpriseDB Postgres Plus Cloud DatabaseEnterpriseDB#cite note-10
 구글 클라우드 SQL
 Heroku PostgreSQL as a Service (공유 및 전용 데이터베이스 옵션)"Announcing Heroku PostgreSQL Database Add-on", Heroku Blog, Retrieved 2011-11-9.
 마이크로소프트 애저 SQL 데이터베이스 (MS SQL)Noel Yuhanna, SQL Azure Raises The Bar On Cloud Databases, Forrester, Retrieved 2011-11-9.
 오라클 데이터베이스 클라우드 서비스
 SkySQL MariaDB
 스노우플레이크 클라우드 데이터 웨어하우스
 Xeround 클라우드 데이터베이스*MySQL 프런트엔드 (*서비스 더 이상 사용 불가)Klint Finley, "7 Cloud-Based Database Services" , ReadWriteWeb, Retrieved 2011-11-9.
 YugabyteDB
 TiDB NoSQL 데이터 모델 아파치 카산드라 on Amazon EC2"Setting up Cassandra in the Cloud ", Cassandra Wiki, Retrieved 2011-11-10. or Google Compute Engine
 ArangoDB on Amazon EC2, Google Compute or 마이크로소프트 애저" 
 클러스터포인트 데이터베이스 가상 박스 VM"Clusterpoint Database Virtual Box VM Installation Guide ", Clusterpoint, Retrieved 2015-03-08.
 CouchDB on Amazon EC2"Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu", Amazon Web Services, Retrieved 2011-11-10. or 구글 클라우드 플랫폼
 EDB Postgres Advanced Server
 하둡 on Amazon EC2,"Amazon Machine Image, Hadoop AMI", Amazon Web Services, Retrieved 2011-11-10. 구글 클라우드 플랫폼, or 랙스페이스 테크놀로지["http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ Hadoop at Rackspace] ", Rackspace Big Data Platforms, Retrieved 2014-02-24.
 MarkLogic on Amazon EC2 or 구글 클라우드 플랫폼
 MongoDB on Amazon EC2,"MongoDB on Amazon EC2, MongoDB.org, Retrieved 2011-11-10. Google Compute Engine, 마이크로소프트 애저,"MongoDB on Azure , MongoDB.org, Retrieved 2011-11-10. or 랙스페이스 테크놀로지"Easily Scale MongoDB at Rackspace ", Managed MongoDB ObjectRocket by Rackspace, Retrieved 2014-02-24.
 Neo4J on Amazon EC2"Neo4J in the Cloud ", Neo4J Wiki, Retrieved 2011-11-10. or 마이크로소프트 애저"Announcing Neo4J on Windows Azure", Neo4J Blog, Retrieved 2011-11-10.
 ScyllaDB on Amazon EC2 or 구글 클라우드 플랫폼Adrian Bridgwater, "ScyllaDB's real-time NoSQL database tapped by 'super app'", 컴퓨터월드, Retrieved 2012-12-27.
 YugabyteDB 아마존 다이나모DB
 아마존 심플DB
 Azure Cosmos DB
 카우치베이스 카펠라 서비스형 데이터베이스
 클라우던트 데이터 레이어Andrew Brust, "Cloudant Makes NoSQL as a Service Bigger", ZDNet, Retrieved 2012-5-22. (CouchDB)
 DataStax Astra DB powered by 아파치 카산드라
 EnterpriseDB Postgres Plus Cloud Database
 구글 클라우드 빅테이블
 Google Cloud Datastore
 MongoDB 서비스형 데이터베이스 (여러 옵션)
 오라클 NoSQL 데이터베이스 클라우드 서비스
 스킬라DB 클라우드
 Amazon DocumentDB
 YugabyteDB

 같이 보기 
 클라우드 컴퓨팅
 클라우드 스토리지
 관계형 데이터베이스

 각주 

분류:클라우드 컴퓨팅
분류:데이터베이스 유형
분류:클라우드 데이터베이스
분류:서비스형