Azure SQL Managed Instance와 SQL Server의 Machine Learning Services에 대한 주요 차이점
이 문서에서는 Azure SQL Managed Instance의 Machine Learning Services와 SQL Server Machine Learning Services 사이에 나타나는 기능의 주요 차이점을 몇 가지 설명합니다.
언어 지원
SQL Managed Instance와 SQL Server의 Machine Learning Services에서는 Python 및 R 확장성 프레임워크를 지원합니다. SQL Managed Instance의 주요 차이점은 Python 및 R만 지원되며 Java와 같은 외부 언어를 추가할 수 없다는 것입니다.
초기 버전의 Python과 R은 다음 SQL Managed Instance 및 SQL Server에서 다릅니다.
플랫폼 | Python 런타임 버전 | R 런타임 버전 |
---|---|---|
Azure SQL Managed Instance | 3.7.2 | 3.5.2 |
SQL Server 2022* | - | - |
SQL Server 2019 | 3.7.1 | 3.5.2 |
SQL Server 2017 | 3.5.2 및 3.7.2(CU22 이상) | 3.3.3 및 3.5.2(CU22 이상) |
SQL Server 2016 | 사용할 수 없음 | 3.2.2 및 3.5.2(SP2 CU14 이상) |
SQL Server 2022부터 R, Python 및 Java용 런타임은 더 이상 SQL 설치 시 함께 배송 또는 설치되지 않습니다. 대신 원하는 R 및/또는 Python 사용자 지정 런타임과 패키지를 설치합니다. 자세한 내용은 Windows에서 SQL Server 2022 Machine Learning Services(Python 및 R) 설치를 참조하세요.
Python 및 R 패키지
SQL Managed Instance에서는 외부 런타임(예: Java)에 의존하거나 설치 또는 사용을 위해 OS API에 액세스해야 하는 패키지에 대한 지원이 없습니다.
Python 및 R 패키지에 대한 자세한 내용은 다음을 참조하세요.
sqlmlutils를 통한 패키지 관리
로컬로 빌드하여 이진 패키지를 출력으로 생성할 수 있는 경우 sqlmlutils
로 이진 패키지를 설치할 수 있습니다. 예를 들어 sqlmlutils를 사용하여 R 패키지 설치 또는 sqlmlutils를 사용하여 Python 패키지 설치를 참조하세요.
리소스 거버넌스
SQL Managed Instance에서 Resource Governor를 통해 R 리소스를 제한할 수 없으며 외부 리소스 풀은 지원되지 않습니다.
기본적으로 R 리소스는 확장성을 사용하는 경우 사용 가능한 SQL Managed Instance 리소스의 최대 20%로 설정됩니다. 이 기본 백분율을 변경하려면 https://azure.microsoft.com/support/create-ticket/에서 Azure 지원 티켓을 만듭니다.
확장성은 다음의 SQL 명령을 통해 사용하도록 설정됩니다(SQL Managed Instance가 다시 시작되고 몇 초간 사용할 수 없음).
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
확장성을 사용하지 않도록 설정하고 메모리/CPU 리소스의 100%를 SQL Server로 복원하려면 다음 명령을 사용합니다.
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
SQL Managed Instance에 사용할 수 있는 총 리소스는 선택한 서비스 계층에 따라 달라집니다. 자세한 내용은 Azure SQL Database 구매 모델을 참조하세요.
메모리 부족 오류
메모리 사용량은 R 스크립트에서 사용되는 양 및 실행되는 병렬 쿼리 수에 따라 달라집니다. R에 사용할 수 있는 메모리가 충분하지 않으면 오류 메시지가 표시됩니다. 일반적인 오류 메시지는 다음과 같습니다.
Unable to communicate with the runtime for 'R' script for request id: *******. Please check the requirements of 'R' runtime
'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004. ...an external script error occurred: "..could not allocate memory (0 Mb) in C function 'R_AllocStringBuffer'"
An external script error occurred: Error: cannot allocate vector of size.
이러한 오류 중 하나를 수신하는 경우 데이터베이스를 더 높은 서비스 계층으로 확장하여 문제를 해결할 수 있습니다.
Azure SQL Managed Instance에서 메모리 부족 오류가 발생하면 sys.dm_os_out_of_memory_events를 검토합니다.
SQL Managed Instance 풀
Machine Learning Services는 현재 Azure SQL Managed Instance 풀(미리 보기)에서 지원되지 않습니다.
아웃바운드 네트워크 액세스
네트워크 액세스가 허용되지 않거나 차단되었으며 사용하도록 설정할 수 없습니다. Azure SQL Managed Instance에 대한 아웃바운드 네트워크 연결은 Machine Learning Services에 사용할 수 없습니다.
다음 단계
- 개요, Azure SQL Managed Instance의 Machine Learning Services를 참조하세요.
- Machine Learning Services에서 Python을 사용하는 방법을 알아보려면 Python 스크립트 실행을 참조하세요.
- Machine Learning Services에서 R을 사용하는 방법을 알아보려면 R 스크립트 실행을 참조하세요.