미스터 역마살

Azure Database 개념 본문

IT/Azure

Azure Database 개념

Mr. YeokMaSsal 2022. 7. 23. 18:49
728x90
반응형

Azure Database 개념도

Azure Database의 구성이다. Azure Database는 우리가 흔히 알고있는 AWSRDS와는 조금은 다른 형태이며, 먼저 Azure Database의 특징은 ORACLE PaaS형 제품이 존재하지 않는다. 따라서 ORACLE을 사용하기 위해서는 vm에 설치형으로 사용해야만 한다. 그리고 AzureMS 제품이다 보니 Azure SQL이라는 ms sql 상품만 모아놓은 것이 있다. Azure SQL이라는 그룹 아래 2가지의 PaaS형 제품과 IaaS 제품으로 제공이 된다. 지금 보면 4가지 처럼 보이시겠지만 Azure SQL Database singlelasticpool은 하나의 상품으로 관리 된다.

 

Azure SQL

Azure SQL 종류

1. Azure SQL Database (Paas)

Azure SQL Database는 관계형 데이터베이스 자체가 서비스형태로 제공되는 것으로 PaaS의 형태다. 데이터베이스 버전은 항상 최신 버전으로 유지되고 Enterprise . Azure SQL Managed Instance와는 달리 기존 SQL Server에서 사용할 수 있던 기능들이 상당수 없어서 Azure SQL Database로의 마이그레이션 작업은 꽤 어려울 수 있다.

2. Azure SQL Managed Instance (PaaS)

Azure SQL Managed Instance는 PaaS로 제공되어 왔던 Azure SQL Database와 Azure VM에 직접 SQL Server를 설치해서 사용하는 IaaS의 중간 정도에 위치해 있는 서비스이다.. 그렇기 때문에 Azure SQL Managed Instance를 사용하게 되면 기존에 온프레미스 환경에서 SQL Server를 사용하던 것과 동일한 기능을 대부분 그대로 사용하는 것이 가능하다. 또한 자동 패치 및 업데이트, 자동 백업, 관리 오버페드 및 TCO를 대폭 줄이는 고가용성과 같은 PaaS 기능을 사용할 수 있다.

3. SQL Server on Azure VM (IaaS)

VM에 SQL Server를 설치해서 사용하는 것을 말한다. SQL Server의 전체 기능을 다 이용할 수 있으며 사용자는 OS및 DB의 패치, 백업, 유지관리 및 업그레이드에 대해 직접 관리하여야 한다. 또한 Always On 기능을 통해 HA 구성도 가능하다.


Azure Database 특징

  • ORACLE PaaS형 제품이 없다.
  • SQL Server DBAzure SQL 이라는 카테고리 내 존재한다.
  • Azure SQL PaaS형 제품은 2가지(Azure SQL Database, managed Instance)가 존재한다.

상황에 맞는 제품

만약 Lift and Shift로 DB Migration을 하고 db에 대한 컨트롤 및 admin의 권한을 원할 경우 SQL Server on Azure VM(IaaS) 사용을 권장한다.

만약 팀에서 Application 개발에 집중하길 원하고 인프라 및 DB에 대한 관리 업그레이드, 백업을 원하지 않을 경우 Azure SQL Managed Instance 사용을 권장 한다.

Azure SQL Database는 Cloud native로 개발이나 멀티 테넌트 앱에서 개발시 사용하기 적합하다.

 

Azure SQL (PaaS) 종류 및 차이점

 

Azure Database vs AWS

Azure Database 를 우리가 잘 알고있는 AWS에 대입 해보면 다음과 같다. 먼저 RDS의 경우 Azure SQL에서는 Managed instance라는 제품이 해당이 되고 또한 앞에 봤던 Postgresql, mysql, maraidb 등도 RDS와 동일한 PaaS형 제품이다. 그리고 서버리스를 포함한 PaaS형 제품은 Azure SQL Database이다.
Managed InstanceSQL Database의 차이는 다음에 다루도록 하자.
그리고 In-memorRedis로 매칭이 되고 Document dbNo SQLAzure COSMOS로 볼수 있다.

 

Azure SQL Database 리소스 형식

여기 보는것 처럼 Azure SQL Database는 Single과 Elastic pool 2가지 유형이 존재하며 각 사이트의 상황에 맞는 리소스형태를 사용해야 한다.

1. Single 

  • 단일 데이터베이스를 배포하며 리소스의 공유 없이 할당되 리소스를 온전히 해당 데이터베이스만 사용함
  • 일반적으로 SQL DATABASE 생성시 사용하는 리소스 형식

  • 해당 데이터베이스는 70%이상의 시간을 리소스를 사용하지 않고 30%의 시간만 리소스를 사용
  • 12:1090DTU까지 사용량이 치솟았지만 전체 평균 사용량은 5DTU미만임
  • 12:10의 사용량 때문에 90DTU이상 감당할 수 있는 리소스가 필요함

 

2. Elastic Pool

  • 여러 데이터 베이스간 리소스를 공유할 수 있음
  • Elastic Pool은 서로다른 사용 패턴을 가진 각각의 데이터베이스들을 관리할 때 적절함

  • 4개의 데이터베이스를 Elastic Pool로 생성하여 관리함
  • 일 서버 4개 구성시 단일서버 비용 X 4 만큼의 비용을 지불해야하지만 Elastic Pool이용할 경우 서로 리소스를 공유하기 때문에 단일서버 사용 대비 DTU사용을 ¼줄이는 효과를 가져옴
  • 평소 사용량이 적으며 특정 시간대나 갑자기 사용량이 많은 데이터베이스의 경우, 패턴이 서로다른 경우는 Elastic pool에 등록하고 사용하게 되면 좀 더 적은 비용으로 유지관리를 할 수 있음

 

쉽게 말해 Single은 우리가 일반적으로 db를 생성해서 사용하는 형태라고 보시면 된다. 그리고 엘라스틱풀은 db를 여러 개를 생성하여 사용하는데 대신 이 db들이 cpu나 메모리, 스토리지 등의 리소스를 서로 공유해서 사용하는 특징을 가지게 된다.

 

Azure SQL Database & Managed Instance 서비스 계층 

Azure SQL Database & Managed Instance2가지의 서비스 계층을 제공 한다.

 

그리고 Azure SQL Database에서만 제공하는 DTU 모델은 세부적으로 3가지 서비스 계층으로 나뉜다.

 

Azure SQL Database Managed InstancevCore 모델에는 2가지의 세부 서비스 계층을 제공 한다.


 

 

 

 

728x90
Comments