클라우드 데이터베이스 지식 학습 - 개요

1. 클라우드 컴퓨팅은 클라우드 데이터베이스 부상의 기반이다

        클라우드 컴퓨팅은 분산 컴퓨팅, 병렬 컴퓨팅, 유틸리티 컴퓨팅, 네트워크 스토리지, 가상화 및 로드 밸런싱과 같은 컴퓨터 및 네트워크 기술의 개발 및 통합의 산물입니다. 클라우드 컴퓨팅은 동적으로 업그레이드하고 가상화할 수 있는 일련의 리소스로 구성되어 있으며, 사용자는 클라우드 컴퓨팅 기술을 마스터할 필요 없이 네트워크를 통해 이러한 리소스에 액세스할 수 있습니다.

        클라우드 컴퓨팅에는 크게 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)의 세 가지 유형이 있습니다. SaaS를 예로 들면, 사용자가 소프트웨어를 사용하는 방식이 크게 바뀌었고 사용자는 더 이상 로컬 컴퓨터에 설치하기 위해 소프트웨어를 구입할 필요가 없으며 네트워크를 통해 다양한 소프트웨어를 사용할 수 있습니다. SaaS 공급업체는 자체 서버에 애플리케이션 소프트웨어를 균일하게 배포하며 사용자는 온라인에서 주문형으로 구매, 사용 및 결제할 수 있습니다. 1999년에 설립된 Salesforce는 SaaS 공급업체의 선구자로서 SaaS 클라우드 서비스를 제공하며 "최종 소프트웨어"라는 슬로건을 내세웠습니다. 회사에 힘입어 다른 SaaS 공급업체는 비가 내린 후 버섯처럼 생겨났습니다.

        전통적인 소프트웨어 사용과 비교하여 클라우드 컴퓨팅은 표 6-1에서 볼 수 있듯이 분명한 이점을 가지고 있습니다.

2. 클라우드 데이터베이스의 개념

        클라우드 데이터베이스는 클라우드 컴퓨팅 환경에 배포되고 가상화된 데이터베이스입니다. 클라우드 데이터베이스는 클라우드 컴퓨팅을 배경으로 개발된 인프라 공유 방식으로, 데이터베이스의 저장 용량을 대폭 향상시키고, 인력, 하드웨어, 소프트웨어 구성의 중복을 없애고, 소프트웨어와 하드웨어 업그레이드를 용이하게 한다. 많은 백엔드 기능을 동시에 구현하고 가상화하는 것이 더 쉽습니다. 클라우드 데이터베이스는 높은 확장성, 고가용성, 멀티 테넌시(Multi-tenancy), 효과적인 리소스 분산 지원 등의 특징을 가지고 있습니다.

        클라우드 데이터베이스에서는 데이터베이스의 모든 기능이 클라우드에서 제공되며, 클라이언트는 그림 6-1과 같이 네트워크를 통해 원격으로 클라우드 데이터베이스에서 제공하는 서비스를 이용할 수 있다. 클라이언트는 클라우드 데이터베이스의 기본 세부 사항을 알 필요가 없습니다. 모든 기본 하드웨어가 가상화되어 클라이언트에게 투명합니다. 단일 서버에서 실행되는 데이터베이스를 사용하는 것과 같습니다. 동시에 매우 편리하고 쉽습니다. 이론적으로 거의 무제한의 저장 및 처리 능력을 얻을 수 있습니다.

        데이터베이스가 애플리케이션 인프라(즉, 미들웨어)에 속하므로 클라우드 데이터베이스도 PaaS에 포함된다고 생각하는 사람도 있고, 데이터베이스 자체도 일종의 애플리케이션 소프트웨어이므로 클라우드 데이터베이스가 PaaS에 속한다고 생각하는 사람도 있다는 점을 지적해야 한다. SaaS에 포함됩니다. 이 문제와 관련하여 이 기사에서는 클라우드 데이터베이스를 SaaS로 분류하지만 클라우드 데이터베이스를 PaaS로 분류해야 하는지 SaaS로 분류해야 하는지가 가장 중요하지 않다고 생각합니다. 실제로 클라우드 컴퓨팅 IaaS, PaaS, SaaS의 세 가지 수준 사이의 경계가 명확하지 않은 경우가 있습니다. 클라우드 데이터베이스의 가장 중요한 측면은 사용자가 네트워크를 서비스로 통해 클라우드 데이터베이스 기능을 얻을 수 있다는 것입니다.

3. 클라우드 데이터베이스의 특징

3.1.동적으로 확장 가능

        이론적으로 클라우드 데이터베이스는 무제한의 확장성을 가지며 계속 증가하는 데이터 스토리지 요구 사항을 충족할 수 있습니다. 클라우드 데이터베이스는 변화하는 조건에도 불구하고 뛰어난 복원력을 발휘할 수 있습니다. 예를 들어, 상품 소매업을 영위하는 전자상거래 회사의 경우 상품 수요에 계절적 또는 급격한 변화가 있을 수 있으며, 애니모토와 같은 온라인 커뮤니티 사이트의 경우 기하급수적인 사용자 성장 단계를 경험할 수 있습니다. 증가된 수요를 처리하기 위한 추가 데이터베이스 스토리지 리소스는 단 몇 분 밖에 걸리지 않습니다. 수요가 통과되면 이러한 리소스를 즉시 해제할 수 있습니다.

3.2.고가용성

        단일 실패 지점이 없습니다. 한 노드에 장애가 발생하면 나머지 노드가 미해결 트랜잭션을 대신하게 됩니다. 게다가 클라우드 데이터베이스에서는 데이터가 일반적으로 중복되어 지리적으로 분산되어 저장됩니다. Google, Amazon, IBM과 같은 대규모 클라우드 컴퓨팅 제공업체는 전 세계에 분산된 데이터 센터를 보유하고 있으며 서로 다른 지리적 간격에 걸쳐 데이터를 복제하여 높은 수준의 내결함성을 제공할 수 있습니다. 예를 들어 Amazon SimpleDB는 여러 지역에 데이터를 복제하므로 한 지역에서 클라우드 시설에 장애가 발생하더라도 데이터를 계속 사용할 수 있습니다.

3.3.사용 비용 절감

        일반적으로 멀티 테넌시(Multi-tenancy) 형태로 여러 사용자에게 동시에 서비스를 제공하는데, 이러한 형태의 공유 리소스는 사용자의 비용을 절감할 수 있으며 사용자는 "종량제(pay-as-you-go)" 방식을 채택하여 클라우드 컴퓨팅 환경을 사용합니다. .다양한 소프트웨어, 하드웨어 자원은 불필요한 자원낭비를 일으키지 않습니다. 또한 클라우드 데이터베이스의 기본 스토리지는 일반적으로 저렴한 상용 서버를 다수 사용하므로 사용자 비용도 크게 절감됩니다. Tencent Cloud Database에서 발표한 공식 정보에 따르면 유사한 데이터베이스 성능을 달성할 때 자체 MySQL에 투자하고 구축하는 경우 단가는 단위당 하루 50.6위안이며 이중 시스템 재해 복구를 달성하려면 2개의 단위가 필요합니다. 는 101.2위안/일입니다. 평균 저장 비용은 하루 GB당 0.25위안이고, 1위안으로 얻을 수 있는 평균 QPS(Query Per Second)는 24회/초이며, Tencent Cloud 데이터베이스 제품을 사용하는 경우, 기업은 초기 건설 비용에 투자할 필요가 없으며 비용은 72위안/일, 평균 저장 비용은 GB당 0.18위안, 하루 1위안으로 얻은 평균 QPS는 83회/초입니다. 자체 구축에 비해 1위안 클라우드 데이터베이스에 대해 얻은 평균 QPS는 원본의 346%로 증가하여 가격 대비 가치가 매우 높습니다.

3.4.사용의 용이성

        클라우드 데이터베이스를 사용하는 사용자는 원본 데이터베이스를 실행하는 시스템을 제어할 필요도 없고 그것이 어디에 있는지 알 필요도 없습니다. 사용자는 로컬 데이터베이스를 사용하는 것처럼 클라우드 데이터베이스 사용을 시작하기 위해 유효한 연결 문자열(URL)만 필요합니다. MySQL 기반의 많은 클라우드 데이터베이스 제품(예: Tencent Cloud Database, Alibaba Cloud RDS 등)은 MySQL 프로토콜과 완벽하게 호환되며, 사용자는 MySQL 프로토콜 기반 클라이언트 또는 API를 통해 인스턴스에 액세스할 수 있습니다. 사용자는 코드 수정 없이 원본 MySQL 애플리케이션을 클라우드 스토리지 플랫폼으로 원활하게 마이그레이션할 수 있습니다.

3.5. 고성능

        대규모 분산 스토리지 서비스 클러스터를 채택하여 대용량 데이터 액세스, 여러 전산실의 자동 중복 백업, 읽기 및 쓰기 자동 분리를 지원합니다.

3.6. 유지 보수가 필요 없는

        사용자는 백엔드 머신 및 데이터베이스의 안정성, 네트워크 문제, 전산실 재해, 단일 데이터베이스 압박 등 다양한 위험에 주의할 필요가 없습니다. 클라우드 데이터베이스 서비스 제공업체는 24시간 전문 서비스를 제공합니다. 확장 및 마이그레이션이 투명합니다. 서비스에 영향을 미치지 않으며, 전방위, 전천후 3차원 모니터링이 가능해 사용자가 한밤중에 데이터베이스 장애를 겪을 필요가 없습니다.

3.7.안전

        데이터 격리를 제공하고, 서로 다른 애플리케이션의 데이터가 서로 영향을 주지 않고 서로 다른 데이터베이스에 존재하게 하며, 보안 검사를 제공하고, 악의적인 공격을 적시에 감지 및 거부할 수 있으며, 데이터 손실이 발생하지 않도록 다지점 데이터 백업을 제공합니다.

        Tencent Cloud Database를 예로 들면 개발자는 Tencent Cloud에서 클라우드 서버 인스턴스 자원을 빠르게 신청하고 IP/PORT를 통해 MySQL 인스턴스에 직접 액세스할 수 있습니다. MySQL 인스턴스를 설치할 필요가 없습니다. 원본 SQL 애플리케이션을 Tencent로 마이그레이션할 수 있습니다. 원클릭 클라우드 플랫폼으로 인건비를 대폭 절감하는 동시에 클라우드 데이터베이스는 MySQL 프로토콜과 완벽하게 호환되며, MySQL 프로토콜 기반 클라이언트나 API를 통해 인스턴스에 쉽게 액세스할 수 있습니다. 또한 대규모 분산 스토리지 서비스 클러스터를 사용하여 대규모 데이터 액세스, 7×24시간 전문 스토리지 서비스를 지원하고 최대 99.99%의 서비스 가용성을 갖춘 MySQL 클러스터 서비스를 제공할 수 있으며 데이터 신뢰성은 99.999%를 초과합니다. Tencent Cloud 데이터베이스와 자체 구축 데이터베이스의 비교는 표 6-2에 나와 있습니다.

4. 클라우드 데이터베이스는 개인화된 데이터 스토리지 요구 사항에 이상적인 선택입니다.

        빅데이터 시대에 모든 기업은 거의 매일 대량의 데이터를 생성하고 있습니다. 다양한 유형의 기업은 스토리지 요구 사항이 다르며 클라우드 데이터베이스는 다양한 기업의 맞춤형 스토리지 요구 사항을 충족할 수 있습니다.

        우선, 클라우드 데이터베이스는 대기업의 대규모 데이터 스토리지 요구 사항을 충족할 수 있습니다. 클라우드 데이터베이스는 현재 빅데이터의 데이터 폭발 시대에 광범위한 응용 가능성을 가지고 있습니다. IDC 연구 보고서에 따르면, 정형 데이터에 대한 기업의 스토리지 수요는 매년 약 20% 증가하는 반면, 비정형 데이터에 대한 스토리지 수요는 매년 약 60% 증가할 것으로 예상됩니다. 기존 관계형 데이터베이스는 수평 확장이 어렵고 이러한 대규모 데이터를 전혀 저장할 수 없습니다. 따라서 확장성이 높은 클라우드 데이터베이스는 기업의 대용량 데이터 스토리지 관리에 적합한 선택이 됩니다.

        둘째, 클라우드 데이터베이스는 중소기업의 저렴한 데이터 스토리지 요구 사항을 충족할 수 있습니다. 중소기업은 IT 인프라에 대한 투자가 상대적으로 제한되어 있으며 제3자로부터 데이터베이스 서비스를 편리하고 신속하며 저렴하게 얻기를 매우 원합니다. 클라우드 데이터베이스는 멀티 테넌트(Multi-tenant) 방식을 채택해 동시에 여러 사용자에게 서비스를 제공함으로써 단일 사용자의 사용 비용을 절감하고, 클라우드 데이터베이스 서비스 이용 시 자원 낭비나 추가 비용 발생 없이 온디맨드 방식으로 비용을 지불하는 것이 일반적이다. . 따라서 클라우드 데이터베이스 사용 비용은 매우 저렴하며, 중소기업의 경우 기업 정보화의 문턱을 크게 낮추어 기업이 더 낮은 비용으로 전문가 수준의 고품질 데이터베이스 서비스를 얻을 수 있어 효과적으로 정보화를 개선할 수 있습니다. 기업정보화 수준.

        또한 클라우드 데이터베이스는 동적으로 변화하는 기업의 데이터 스토리지 요구 사항을 충족할 수 있습니다. 기업이 다양한 기간에 저장해야 하는 데이터의 양은 지속적으로 변화하며 때로는 증가하기도 하고 감소하기도 합니다. 소규모 애플리케이션의 경우 시스템 부하의 변화는 시스템의 유휴 중복 리소스에 의해 처리될 수 있지만, 대규모 애플리케이션의 경우 기존 관계형 데이터베이스는 애플리케이션 요구 사항을 충족할 수 없을 뿐만 아니라 확장성이 좋지 않지만 기업에 높은 스토리지 비용과 관리 오버헤드를 가져옵니다. 클라우드 데이터베이스의 뛰어난 확장성을 통해 기업은 수요가 증가할 때 즉시 데이터베이스 기능을 개선하고, 수요가 감소할 때 초과 데이터베이스 기능을 즉시 해제하여 기업의 동적 데이터 스토리지 요구 사항을 더 잘 충족할 수 있습니다.

        물론 이는 클라우드 데이터베이스가 다양한 유형의 개인화된 스토리지 요구 사항을 충족할 수 있다는 의미는 아니지만 기업이 클라우드 데이터베이스에 데이터를 저장해야 함을 의미합니다. 자체 구축 데이터베이스를 선택할지 클라우드 데이터베이스를 선택할지는 기업의 특정 요구 사항에 따라 다릅니다. 일부 대기업의 경우 일반적으로 자체 구축된 데이터베이스를 사용합니다. 한편으로는 기업이 상대적으로 강력한 재정 자원을 보유하고 있으며 데이터베이스 유지 관리를 담당하는 내부 IT 팀이 있습니다. 다른 한편으로 데이터는 현대 기업의 핵심 자산이며 관련이 있습니다. 많은 높은 수준의 상업 비밀 데이터 보안 고려 사항으로 인해 기업은 내부 데이터를 공용 클라우드 데이터베이스에 저장하는 것을 꺼려합니다.클라우드 데이터베이스 제공업체는 항상 데이터 보안을 강조하지만 이것이 여전히 기업의 우려를 해소할 수는 없습니다. 재정적 자원과 IT 예산이 제한된 일부 중소기업의 경우 데이터베이스 구축 및 유지 관리에 많은 돈을 투자하는 것이 불가능합니다. 기업 데이터는 특별히 민감하지 않습니다. 따라서 투자가 필요 없는 데이터베이스 서비스인 클라우드 데이터베이스는 초기 단계에서는 유지 관리가 필요 없으며 이후 단계에서는 매우 좋은 결과를 얻을 수 있으며 고객의 요구 사항을 충족할 수 있습니다.

5. 클라우드 데이터베이스와 기타 데이터베이스의 관계

        관계형 데이터베이스는 관계형 데이터 모델을 사용하고, NoSQL 데이터베이스는 비관계형 데이터 모델을 사용하는데, 둘 다 서로 다른 데이터베이스 기술입니다. 데이터 모델의 관점에서 볼 때, 클라우드 데이터베이스는 새로운 데이터베이스 기술이 아니며 데이터베이스 기능을 서비스 형태로만 제공합니다. 클라우드 데이터베이스에는 자체 데이터 모델이 없습니다. 클라우드 데이터베이스에서 사용하는 데이터 모델은 관계형 데이터베이스에서 사용하는 관계형 모델(예: Microsoft의 SQL Azure 클라우드 데이터베이스 및 Alibaba Cloud RDS는 모두 관계형 모델을 사용함)일 수 있습니다. NoSQL 데이터베이스에서 사용하는 비관계형 모델입니다(예: Amazon Dynamo 클라우드 데이터베이스는 "키/값" 스토리지를 사용합니다). 동일한 회사가 서로 다른 데이터 모델을 사용하여 여러 클라우드 데이터베이스 서비스를 제공할 수도 있습니다. 예를 들어 Baidu Cloud Database는 분산 관계형 데이터베이스 서비스(관계형 데이터베이스 MySQL 기반)와 분산 비관계형 데이터베이스 서비스(기반)의 세 가지 유형의 데이터베이스 서비스를 제공합니다. 관계형 데이터베이스 MySQL) 문서 데이터베이스 MongoDB 기반), 키/값 비관계형 데이터베이스 서비스(키/값 데이터베이스 Redis 기반) 실제로 많은 기업이 클라우드 데이터베이스를 개발할 때 백엔드 데이터베이스는 기존의 다양한 관계형 데이터베이스나 NoSQL 데이터베이스 제품을 직접 사용한다. 예를 들어 Tencent Cloud Database는 MySQL을 백엔드 데이터베이스로 사용하고 Microsoft의 SQL Azure 클라우드 데이터베이스는 SQL Server를 백엔드 데이터베이스로 사용합니다. 시장의 전반적인 응용 상황으로 볼 때 NoSQL 응용 프로그램은 개발자에 대한 요구 사항이 더 높고 MySQL은 성숙한 미들웨어, 운영 및 유지 관리 도구를 갖추고 있으며 온화한 생태계 등을 형성했기 때문에 현 단계에서는 클라우드 데이터베이스가 백엔드 데이터베이스는 주로 MySQL과 NoSQL을 보완합니다.

        클라우드 데이터베이스 등 IT 서비스 모델이 등장하기 이전에는 기업이 데이터베이스를 활용하기 위해서는 자체적으로 관계형 데이터베이스나 NoSQL 데이터베이스를 구축해야 했는데, 이를 '자체 구축 데이터베이스'라고 불렀다. 클라우드 데이터베이스와 이러한 "자체 구축 데이터베이스"의 가장 본질적인 차이점은 클라우드 데이터베이스는 클라우드에 배포되는 데이터베이스라는 점입니다. SaaS 서비스 모델을 채택합니다. 사용자는 네트워크 임대를 통해 데이터베이스 서비스를 사용할 수 있습니다. 선불 결제가 필요하지 않으며 투자 및 사후 유지 관리 비용도 상대적으로 저렴합니다. 클라우드 데이터베이스는 사용자에게 완전히 투명하며 사용자는 자신의 데이터가 어디에 저장되어 있는지 알 수 없습니다. 클라우드 데이터베이스는 일반적으로 다중 테넌트 모델을 채택합니다. 즉, 여러 테넌트가 하나의 인스턴스를 공유하고 테넌트의 데이터가 격리되어 공유되므로 데이터 저장 문제를 해결하고 사용자의 데이터베이스 사용 비용을 절감합니다. 그러나 자체 구축한 관계형 데이터베이스와 NoSQL 데이터베이스 자체는 SaaS 서비스 모델을 채택하지 않아 사용자가 직접 IT 인프라를 구축하고 데이터베이스를 구성해야 하며, 비용이 상대적으로 비싸고, 전산실 유지 관리 및 데이터베이스도 수행해야 한다. 스스로 결함을 처리합니다.

рекомендация

отblog.csdn.net/java_faep/article/details/132754618