본문으로 이동

클라우드 데이터베이스

한울위키, 우리 모두의 백과사전.

클라우드 데이터베이스(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]

데이터 모델

일반적인 시스템의 설계 및 개발은 데이터 관리 및 관계형 데이터베이스를 핵심 구성 요소로 활용한다. 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 데이터 모델을 기반으로 구축된 현대 애플리케이션에 이러한 데이터베이스를 활용하는 것을 용이하게 한다. 네이티브 멀티모델 데이터베이스는 단일 코어와 모든 데이터 모델에 액세스하는 통합 쿼리 언어를 통해 여러 데이터 모델을 지원한다.

공급업체

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

배포 및 데이터 모델별 클라우드 데이터베이스 공급업체
가상 머신 배포 서비스형 데이터베이스
SQL 데이터 모델
NoSQL 데이터 모델

같이 보기

각주

  1. Hwang, G.; Fu, S. (May 2016). 〈Proof of Violation for Trust and Accountability of Cloud Database Systems〉. 《2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid)》. 425–433쪽. doi:10.1109/CCGrid.2016.27. ISBN 978-1-5090-2453-7. S2CID 18373753. 
  2. Chao, Lee (2014). 《Cloud database development and management》. Boca Raton: Taylor & Francis. ISBN 978-1-4665-6506-7. OCLC 857081580. 
  3. McHaney, Roger (2021). 《Cloud technologies: an overview of cloud computing technologies for managers》. Hoboken, NJ. ISBN 978-1-119-76951-4. OCLC 1196822611. 
  4. Sakr, Sherif (June 2014). 《Cloud-hosted databases: technologies, challenges and opportunities》 (영어). 《Cluster Computing》 17. 487–502쪽. doi:10.1007/s10586-013-0290-7. ISSN 1386-7857. S2CID 254370104. 
  5. 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.
  6. 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.
  7. "NoSQL", Wikipedia, 2016. Retrieved 2016-10-04.
  8. Modi, A (2017). 《Live migration of virtual machines with their local persistent storage in a data intensive cloud》. 《International Journal of High Performance Computing and Networking》 10. 134쪽. doi:10.1504/IJHPCN.2017.083213. 
  9. https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data Article in 'Microsoft Azure'
  10. Dave Rosenberg, Are databases in the cloud really all that different?, CNET, Retrieved 2011-11-6
  11. Agrawal, Rakesh 외 (2008). 《The Claremont report on database research》 (PDF). 《SIGMOD Record》 37. 9–19쪽. CiteSeerX 10.1.1.211.5963. doi:10.1145/1462571.1462573. ISSN 0163-5808. S2CID 666280. 
  12. Ken North, "SQL, NoSQL or SomeSQL?", Dr. Dobb's, Retrieved 2011-11-9.
  13. Deploy your database applications and projects on the cloud, IBM.com, Retrieved 2011-9-1
  14. Chris Kanaracus, "Ingres rolls out cloud database offerings", 인포월드, Retrieved 2011-8-28.
  15. "Amazon Web Services Announces Two New Database Services – AWS Database Migration Service and Amazon RDS for MariaDB 보관됨 2017-06-01 - 웨이백 머신, Amazon Press Releases, retrieved 2015-11-17
  16. "MariaDB Enterprise Cluster + MariaDB MaxScale 보관됨 2016-12-04 - 웨이백 머신, Microsoft Azure, retrieved 2015-11-17
  17. "Running MySQL on Amazon EC2 with EBS (Elastic Block Store), Amazon Web Services, retrieved 2011-11-20
  18. Swoyer, Stephen. "NuoDB: A Database for the Cloud." TDWI. Nov. 13, 2012. Retrieved Nov. 26, 2012
  19. Amazon Machine Images - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 Bit 보관됨 2011-10-16 - 웨이백 머신, Amazon Web Services, Retrieved 2011-11-9.
  20. "Oracle Database in the Cloud", Oracle.com, Retrieved 2011-11-9.
  21. Chris Kanaracus, "EnterpriseDB Adding New Cloud Option for PostgreSQL Database", PCWorld, retrieved 2011-8-28
  22. “AWS | SAP HANA”. 《Amazon Web Services, Inc.》. 2016년 7월 7일에 확인함. 
  23. “SAP Solutions”. 《마이크로소프트 애저. 2016년 7월 7일에 확인함. 
  24. “SAP HANA Enterprise Cloud”. 《hana.sap.com》. 2016년 8월 15일에 원본 문서에서 보존된 문서. 
  25. “Clustrix Enters the Rackspace Partner Program”. 《Yahoo! Finance》. 2016년 4월 14일에 원본 문서에서 보존된 문서. 
  26. Tony Baer, "Cockroach DB introduces a serverless tier", ZDNet.com, Retrieved 2021-12-13.
  27. EnterpriseDB#cite note-10
  28. “Cloud SQL - MySQL Relational Database Service”. 2016년 11월 28일에 확인함. 
  29. "Announcing Heroku PostgreSQL Database Add-on", Heroku Blog, Retrieved 2011-11-9.
  30. Noel Yuhanna, SQL Azure Raises The Bar On Cloud Databases, Forrester, Retrieved 2011-11-9.
  31. Pethuru, Raj (2014년 3월 31일). 《Handbook of Research on Cloud Infrastructures for Big Data Analytics》 (영어). IGI Global. ISBN 9781466658653. 
  32. Klint Finley, "7 Cloud-Based Database Services" 보관됨 2011-11-09 - 웨이백 머신, ReadWriteWeb, Retrieved 2011-11-9.
  33. "Setting up Cassandra in the Cloud 보관됨 2015-11-13 - 웨이백 머신", Cassandra Wiki, Retrieved 2011-11-10.
  34. “Google Cloud Platform Blog: Click to Deploy Apache Cassandra on Google Compute Engine”. 2016년 11월 28일에 확인함. 
  35. "[1] 보관됨 2019-04-11 - 웨이백 머신
  36. "Clusterpoint Database Virtual Box VM Installation Guide 보관됨 2015-03-10 - archive.today", Clusterpoint, Retrieved 2015-03-08.
  37. "Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu", Amazon Web Services, Retrieved 2011-11-10.
  38. “CouchDB Cloud Hosting on Google Cloud Platform”. 2016년 11월 28일에 확인함. 
  39. "Amazon Machine Image, Hadoop AMI", Amazon Web Services, Retrieved 2011-11-10.
  40. “Cloud Dataproc: Managed Spark & Managed Hadoop Service”. 2016년 11월 28일에 확인함. 
  41. ["http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ Hadoop at Rackspace] 보관됨 2014-03-02 - 웨이백 머신", Rackspace Big Data Platforms, Retrieved 2014-02-24.
  42. “MarkLogic Developer 8 (HVM) on AWS Marketplace”. 《aws.amazon.com》. 2016년 3월 31일에 확인함. 
  43. marklogic.com. “Flexible Deployment” (PDF). 2016년 11월 28일에 확인함. 
  44. "MongoDB on Amazon EC2, MongoDB.org, Retrieved 2011-11-10.
  45. “Deploying MongoDB on Google Compute Engine”. 2016년 11월 28일에 확인함. 
  46. "MongoDB on Azure 보관됨 2012-10-31 - 웨이백 머신, MongoDB.org, Retrieved 2011-11-10.
  47. "Easily Scale MongoDB at Rackspace 보관됨 2014-03-02 - 웨이백 머신", Managed MongoDB ObjectRocket by Rackspace, Retrieved 2014-02-24.
  48. "Neo4J in the Cloud 보관됨 2011-09-25 - 웨이백 머신", Neo4J Wiki, Retrieved 2011-11-10.
  49. "Announcing Neo4J on Windows Azure", Neo4J Blog, Retrieved 2011-11-10.
  50. Adrian Bridgwater, "ScyllaDB's real-time NoSQL database tapped by 'super app'", 컴퓨터월드, Retrieved 2012-12-27.
  51. Andrew Brust, "Cloudant Makes NoSQL as a Service Bigger", ZDNet, Retrieved 2012-5-22.
  52. “DataStax Astra DB: DataStax managed services powered by Apache Cassandra”. 《DataStax》. 2022년 3월 7일에 확인함. 
  53. “Bigtable: Scalable NoSQL Database Service”. 2016년 11월 28일에 확인함. 
  54. “Datastore: NoSQL Schemaless Database”. 2016년 11월 28일에 확인함. 
  55. “MongoDB Atlas: Hosted MongoDB as a Service”. 2016년 8월 30일에 확인함. 
  56. “NoSQL Database Cloud Service” (영어). 《Oracle Cloud》. 2017년 11월 29일에 확인함.