Azure SQL DB의 리소스 소비에 가장 큰 영향 중 하나는 애플리케이션 계층에서 반복적으로 데이터를 가져오는 것입니다. 해당 쿼리가 동일한 프로시저를 호출하거나 동일한 SQL 문을 하루에 수백, 수천 또는 수백만 번 실행하는 속도에 관계없이 데이터베이스 성능에 큰 타격을 줄 수 있습니다. 수천 번의 절단으로 인해 시스템이 쉽게 무너질 수 있습니다. 명령문 실행이 너무 빨리 진행되어 sp_whoisactive와 같은 도구에도 표시되지 않기 때문에 DBA가 이러한 문제를 적극적으로 해결하기 어려운 경우가 있습니다. 실제 문제는 Query Performance Insights 또는 Query Store와 같은 기능에 대해 자세히 알아보기 시작할 때부터 시작됩니다.
Azure 포털


SSMS 쿼리 저장소 실행 횟수 측정항목이 포함된 상위 소비 쿼리


문제는 이 문제를 어떻게 해결하느냐는 것입니다. 코드는 미세 조정되었으며 최적의 성능으로 실행됩니다. 문제를 일으키는 것은 애플리케이션 호출의 양일 뿐입니다. 한 가지 대답은 Azure Cache for Redis입니다.
Azure Cache for Redis란 무엇인가요?
간단히 말해서 오픈 소스 Redis를 기반으로 Azure 내부 또는 외부의 애플리케이션에서 액세스할 수 있는 전용 메모리 캐시 데이터 저장소입니다. 이를 통해 데이터를 메모리 내 데이터 저장소에 로드하고, 여기에서 직접 읽고, 데이터베이스 호출 횟수를 줄일 수 있습니다. 이 캐시 계층에 데이터를 배치하면 애플리케이션이 반복 가능한 데이터 호출을 반복해서 수행할 필요가 없습니다. 이를 통해 성능 로드를 데이터베이스 계층에서 캐시로 이동함으로써 데이터베이스 성능을 크게 향상시키고 대기 시간을 줄이며 다른 데이터 요청을 위한 리소스를 확보할 수 있습니다. 이를 위해서는 애플리케이션 코드를 변경해야 합니다. 그러나 이는 잠재적으로 데이터베이스 성능을 실제로 향상시킬 수 있습니다. 여기 Microsoft 문서에서 상당히 복잡한 앱의 예를 볼 수 있습니다.
이는 성능상의 이득일 뿐만 아니라 금전적인 이득도 될 수 있습니다. 결과적으로 리소스 소비가 줄어들기 때문에 실제로 Azure SQL 데이터베이스를 축소할 수 있습니다.
시작하기
리소스를 생성하고 데이터베이스에서 Azure Cache for Redis를 선택하세요.

캐시 유형 옵션에 주의하세요. 환경에 맞는 올바른 가격 책정 계층을 선택할 수 있도록 가격 책정 계층에 대한 링크를 클릭하세요. 이 경우에는 가장 저렴한 Basic C0을 선택합니다. Basic C0은 250MB 캐시만 제공하지만 대략 월 16달러로 추산되며 더 큰 C0은 약간 비쌀 수 있습니다.

네트워킹의 경우 공용 또는 개인 끝점을 선택하고 다음을 선택해야 합니다

이제 원하는 Redis 버전을 선택하세요. 미리보기에는 버전 6이 있습니다. 다음으로 태그 옵션으로 이동합니다. 리소스에 태그를 지정할 필요가 없으므로 건너뜁니다. 마지막으로 리소스를 검토하고 생성합니다. 이제 Redis Cache 리소스가 생성되었으므로 이를 사용하고, 여기에 데이터를 저장하고, 애플리케이션을 통해 액세스하려면 더 많은 단계를 거쳐야 합니다. 그 단계는 여러분에게 맡기겠습니다. 이 게시물에서는 포털에서 찾을 수 있는 위치와 만드는 방법을 보여드리고 싶었습니다.
요약
한 시간에 수천 번 데이터 호출이 반복되는 환경에서 작업하는 경우 이는 조사해 볼 수 있는 정말 훌륭한 리소스가 될 수 있습니다. 성능 조정 도구 키트에 Azure Cache for Redis를 추가하는 것이 좋습니다. 여기에서 프로세스를 계속하는 데 필요한 모든 정보를 찾을 수 있습니다. 고려해야 할 모든 보안 사항에 대해서도 읽어보십시오. Microsoft 문서에는 여기에서도 찾을 수 있는 유용한 문서가 많이 있습니다.