성능 기능
먼저 Azure SQL의 일부 성능 기능을 SQL Server와 비교하여 살펴보겠습니다.
Azure SQL Database 및 Azure SQL Managed Instance는 SQL Server 데이터베이스 엔진을 기준으로 하므로 SQL Server와 함께 제공되는 대부분의 기능을 Azure SQL에서도 사용할 수 있습니다. Azure SQL을 배포하고 구성할 때 데이터베이스 성능에 영향을 미치는 몇 가지 기능을 고려해야 합니다. 여기에는 최대 용량, 인덱스, 메모리 내 OLTP, 파티션, SQL Server 고급 기능 및 인텔리전트 성능 기능이 포함됩니다.
메모리, CPU 및 I/O 용량
Azure SQL Database 또는 SQL Managed Instance에 적합한 배포 및 서비스 계층을 선택하는 것이 성능에 중요할 수 있습니다. 두 번째 모듈에서는 Azure SQL의 다양한 배포 옵션에 대해 알아보았습니다. 배포의 일부로 다음과 같은 중요한 최대 용량을 고려합니다.
- Azure SQL Database는 최대 128개 vCore, 4TB 메모리 및 4TB 데이터베이스 크기를 지원할 수 있습니다.
- 하이퍼스케일 배포 옵션은 최대 100TB 크기의 데이터베이스를 지원합니다.
- Azure SQL Managed Instance는 최대 80개 vCore, 400GB 메모리 및 8TB의 데이터베이스 크기를 지원할 수 있습니다.
- vCore 및 서비스 계층의 수는 최대 트랜잭션 로그 속도, IOPS, I/O 대기 시간 및 메모리와 같은 다른 리소스 용량에도 영향을 미칩니다.
- Windows 작업 개체는 메모리와 같은 특정 리소스 제한을 지원하는 데 사용됩니다. sys.dm_os_job_object를 사용하여 배포의 실제 용량을 찾습니다.
인덱스
인덱스는 SQL Server와 Azure SQL 모두에 있어 성능을 쿼리하는 데 매우 중요합니다. 인덱스 및 Azure SQL에 대해 고려할 중요한 사항은 다음과 같습니다.
- 클러스터형 및 비클러스터형을 비롯한 모든 인덱스 유형이 Azure SQL에서 지원됩니다.
- 온라인 및 다시 시작 가능한 인덱스는 완전히 지원됩니다. 온라인 및 다시 시작 가능한 인덱스는 최대 가용성을 위해 중요할 수 있습니다.
- columnstore 인덱스는 거의 모든 서비스 계층에서 사용할 수 있습니다. 예외는 설명서에서 확인할 수 있습니다.
메모리 내 OLTP
OLTP(온라인 트랜잭션 처리)의 특성을 지정하는 중요한 요소는 동시 트랜잭션이 많은 데이터를 실시간으로 읽고 쓰는 애플리케이션입니다. 메모리 내 OLTP는 많은 수의 동시 사용자가 데이터를 수정하는 애플리케이션과 같이 트랜잭션 대기 시간이 중요한 애플리케이션을 위한 기능입니다. 다음은 메모리 내 OLTP 및 Azure SQL과 관련된 중요한 사항입니다.
- 메모리 최적화 테이블은 중요 비즈니스용 계층에서만 사용할 수 있습니다.
- 메모리 최적화 FILEGROUP은 데이터베이스를 만들 때 Azure SQL Database 및 SQL Managed Instance에서 미리 만들어집니다(범용 계층에 대해서도 생성됨).
- 메모리 최적화 테이블을 위한 메모리 양은 vCore 종속 메모리 제한의 일부입니다.
파티션
SQL Server를 사용하는 경우 행이 많은 테이블에 대해 파티션을 사용하여 데이터를 테이블의 열로 세분화함으로써 성능이 향상하는 경우가 많습니다. Azure SQL에 파티션을 사용하는 경우 다음 사항을 고려하세요.
- 파티션은 Azure SQL Database 및 SQL Managed Instance에 대해 지원됩니다.
- SQL Managed Instance에서는 파티션이 있는 파일 그룹만 사용할 수 있습니다.
최근 SQL Server 성능 향상
IQP(지능형 쿼리 처리)와 같이 SQL Server 2019 이후 도입된 많은 성능 기능은 Azure SQL Database 및 Azure SQL Managed Instance에서도 사용할 수 있습니다. 그러나 몇 가지 예외가 있습니다. 예를 들어, tempdb
메타데이터 최적화는 아직 Azure SQL에 사용할 수 없습니다. IQP 기능 지원의 최종 목록을 보려면 지능형 쿼리 처리 기능을 검토합니다.
인텔리전트 성능
인텔리전트 성능은 지능형 쿼리 처리, 자동 플랜 수정 및 자동 조정(인덱스 포함)을 포함하는 Azure SQL의 기능을 다룹니다. 이러한 기능에 대한 자세한 내용은 이후 단원에서 배우게 됩니다.