SQL Server/SQL on Azure

Azure SQL Database 서비스

SungWookKang 2019. 10. 10. 00:41
반응형

Azure SQL Database 서비스

 

·       Version : Azure SQL

 

Azure SQL Database 관리 서비스로 제공되는 범용 관계형 데이터베이스 이며, Azure Portal에서 응용 프로그램 솔루션에 대한 고가용성 고성능 데이터 저장소 계층을 만들 있다. 데이터 또한graph, JSON, spatial(공간), XML 관계형 데이터와 비관계형 구조 모두 처리할 수있다. Azure SQL Database Microsoft SQL Server 데이터베이스 엔진을 기반으로 하며, high-performance In-Memory Optimize 기능및 지능형 쿼리 같은 고급 처리 기술을 사용할 있다. 실제 Microsoft에서는 최신 기능은  Azure SQL Database 출시한 다음 SQL Server 출시한다.

Azure SQL Database 대한 자세한 내용은 아래 링크를 참고 한다.

·       What is the Azure SQL Database service? : https://docs.microsoft.com/en-us/azure/sql-database/sql-database-technical-overview/?WT.mc_id=DP-MVP-4039834

 

SQL Database 사용하면 vCore 기반 구매 모델 DTU 기반 구매 모델이라는 가지 구매 모델 내에서 성능을 쉽게 정의하고 확장할 있다. (vCore DTU 대한 내용은 다른 포스트에서 자세히 다루도록 한다.) SQL Database 고가용성, 백업 기타 일반적인 유지 관리 작업을 기본 제공하는 완전히 관리되는 서비스이다. Microsoft SQL 운영체제 코드의 모든 패치 업데이트를 처리한다. 사용자는 기본 인프라를 관리할 필요가 없다.

 

[Deployment models]

Azure SQL Database Azure SQL 데이터베이스에 다음과 같은 옵션을 제공한다.

 

·       Single Database 완전히 관리되는 격리된 데이터베이스를 나타낸다. 안정적인 단일 데이터 원본이 필요한 경우 최신 클라우드 응용프로그램 마이크로 서비스를 사용하는 경우 옵션을 사용할 있다. 단일 데이터베이스는 Microsoft SQL Server 데이터베이스 엔진의 포함된 데이터베이스와 비슷하다.

·       Managed instance Microsoft SQL Server 데이터베이스 엔진의 완전히 관리되는 인스턴스이다. 함께 사용할 있는 데이터베이스 집합이 포함되어 있다. -프레미스 SQL Server 데이터베이스를 Azure 클라우드로 쉽게 마이그레이션할 있으며, 데이터베이스 엔서 제공하는 SQL Server 데이터베이스 기능을 사용해야하는 경우 옵션을 선택한다.

·       Elastic Pool CPU, 메모리등의 공유 리소스 집합을 포함하는 단일 데이터베이스 컬렉션이다. 단일 데이터베이스를 Elastic Pool 이동하거나 Elastic Pool에서 제거할 있다.

 

[Scalable performance and pools]

할당된 리소스의 양을 정의할 있다.

·       Single Database 사용하는 경우 데이터베이스는 다른 데이터베이스와 격리 되며 이식 가능하다. 데이터베이스에는 자체 보장된 컴퓨팅, 메모리 스토리지 리소스가 있다.  데이터베이스에 할당된 리소스양은 해당 데이터베이스 전용이며 Azure 다른 데이터베이스와 공유되지 않는다. 단일 데이터베이스 리소스를 동적으로 확장 축소 있다. 또한 hyperscale service tier 사용하면 빠른 백업 복원기능을 통해 100TB 까지 확장할 있다.

·       Elastic Pool 사용하면 풀에 있는 모든 데이터베이스에서 공유하는 리소스를 할당할 있다. 데이터베이스를 만들거나 기존 단일 데이터베이스를 리소스 풀로 이동하여 리소스 사용을 최대화 하고 비용을 절감할 있다. 또한 옵션을 사용하면 Elastic Pool 리소스를 동적으로 확장 축소할 있다.

·       Managed Instance 사용할 경우 각각의 관리되는 인스턴스가 다른 인스턴스에서 격리되고 리소스가 보장된다. Managed Instance 내에서 데이터베이스 인스턴스는 리소스 집합을 공유한다. Managed Instance 리소스를 동적으로 확장 축소할 있다.

 

동적확장성과 자동 크기 조정은 의미가 조금 다르다. 자동 크기 조정은 서비스가 조건에 따라 자동으로 크기를 조정하는 경인 반면, 동적 확장성은 가동 중지 시간 없이 수동 크기 조정을 허용한다. Single Database 옵션은 수동 동적확장성을 지원하지만 자동 크기 조정 기능은 지원하지 않는다. 많은 자동 환경을 위해 데이터베이스에서 개별 요구 사항에 따라 풀의 리소스를 공유할 있도록 하는 Elastic Pool 사용하는 것이 좋다.

 

[Purchasing models]

SQL Database 다음과 같은 구매 모델을 제공한다.

·       vCore 기반 구매 모델 : vCore , 메모리 , 스토리지 속도를 선택할 있다. vCore 기반 구매 모델을 사용하면 SQL Server Azure 하이브리드 혜택을 사용하여 비용을 절감 있다.

·       DTU 기반 구매 모델 : DTU 기반 구매 모델은 3 가지 서비스 계층에 컴퓨팅, 메모리 I / O 리소스를 혼합하여 다양한 워크로드를 지원합니다. 계층 내의 컴퓨팅 크기는 이러한 리소스를 다르게 혼합하여 추가 스토리지 리소스를 추가 있다.

·       서버리스 모델은 워크로드 요구를 기반으로 계산을 자동으로 조정하고 초당 사용 계산량을 청구한다. 또한 서버리스 컴퓨팅 계층은 스토리지만 청구될 비활성 기간 동안 데이터베이스를 자동으로 일시 중지하고 활동이 반환되면 데이터베이스를 자동으로 다시 시작한다.

 

 [Elastic pools to maximize resource utilization]

사용 패턴이 비교적 예측 가능한 경우 많은 비즈니스 애플리케이션에서 단일 데이터베이스를 만들고 필요에 따라 충분히 성능을 확정하거나 축소할 있다. 예측할 없는 경우 비즈니스 모델을 관리하기 어려운데 Elastic Pool 문제를 해결하도록 설계되어 있다. 개별 데이터베이스 대신 풀에 성능 리소스를 할당한다. 단일 테이터베이스 성능이 아닌 풀의 집합적 성능 리소스에 대해 비용을 지불한다.

 

Elastic Pool 사용하면 리소스에 대한 요구가 변동함에 따라 데이터베이스 성능을 높이거나 낮추는데 집중할 필요가 없다. 풀링된 데이터베이스는 필요에 따라 탄력적 풀의 성능 리소스를 사용한다. 풀링된 데이터베이스는 풀의 한도를 사용하지만 초과하지 않으므로 개별 데이터베이스 사용량을 예측할 없는 경우에도 비용을 계속 예측할 있다.

 

[Extensive monitoring and alerting capabilities]

Azure SQL Database 고급 모니터링 문제 해결 기능을 제공한다. 최신 버전의 SQL Server 데이터베이스 엔진에서 제공하는 기본 모니터링 뿐만 아니라 Azure에서 제공되는 PassS 모니터링 기능을 통해 많은 데이터베이스 인스턴스를 모니터링하고 문제를 해결 있다.

·       Azure  Storage : 적은 비용으로 방대한 양의 원격 분석을 보관

·       Azure Event Hubs : SQL Database 원격 분석을 사용자 지정 모니터링 솔루션 또는 파이프 라인과 통합한다.

·       Azure Monitor logs : 보고, 경고 완화 기능이있는 기본 제공 모니터링 솔루션.

 

 

[Availability capabilities]

Azure 가용 영역은 단일 지역 단일 데이터 센터 건물의 중단을 방지하려고한다. 건물의 전력 또는 네트워크 손실을 방지한다. SQL Database에서는 서로 다른 가용 영역 (다른 건물, 효과적으로) 서로 다른 복제본을 배치한다. SQL Database 기본 제공 비즈니스 영속성 글로벌 확장성 기능을 제공한다.

·       Automatic backups : SQL Database SQL 데이터베이스의 전체, 차등 트랜잭션 로그 백업을 자동으로 수행하여 특정 시점으로 복원할 있도록 한다. 단일 데이터베이스 풀링된 데이터베이스의 경우 장기 백업 보존을 위해 Azure Storage 전체 데이터베이스 백업을 저장하도록 SQL Database 구성할 있다. Managed Instance 경우 장기 백업 보존을 위해 복사 전용 백업도 수행할 있다.

·       Point-in-time restores : 모든 SQL Database 배포 옵션은 SQL 데이터베이스에 대해 자동 백업 보존기간내의 특정 시점으로 복구를 지원한다.

·       Active get-replication : 단일 데이터베이스 풀링된 데이터베이스 옵션을 사용하여 동일하거나 세계적으로 분산된 Azure 데이터센터에서 최대 4개의 읽기 가능한 보조 데이터베이스를 구성할 있다.

·       Auto-failover groups : 모든 SQL Database 배포 옵션을 사용하면 장애 조치 그룹을 사용하여 글로벌 규모로 고가용성 부하 분산을 사용하도록 설정할 있다. 여기에는 데이터베이스, Elastic Pool Managed Instance 지역 복제 장애조치가 포함된다.

·       Zone-redundant database :  SQL Database 사용하면 여러 가용 영역에 걸쳐 프리미엄 또는 비즈니스 크리티컬 데이터베이스 또는 Elastic Pool 프로비저닝 있다. 이러한 데이터베이스와 Elastic Pool에는 가용성을위한 중복 복제본이 여러 있으므로 이러한 복제본을 여러 가용 영역에 배치하면 복원력이 향상된다. 여기에는 데이터 손실없이 데이터 센터 스케일 오류에서 자동으로 복구하는 기능이 포함된다.

 

[참고자료]

·       What is the Azure SQL Database service? : https://docs.microsoft.com/en-us/azure/sql-database/sql-database-technical-overview/?WT.mc_id=DP-MVP-4039834

 

 

 

2019-10-09 / Sungwook Kang / http://sungwookkang.com

 

Azure SQL, Managed Instance, Azure overview

반응형