영어 버전 문서로 돌아가기SQL 최적화
SQL 최적화(SPSS Modeler)
마지막 업데이트 날짜: 2024년 12월 20일
수많은 데이터 준비 및 마이닝 작업을 데이터베이스에서 직접 푸시하여 성능을 향상시킬 수 있습니다.
SPSS Modeler 의 가장 강력한 기능 중 하나는 데이터베이스에서 직접 많은 데이터 준비 및 마이닝 조작을 수행하는 기능입니다. 실행을 위해 데이터베이스에 푸시백할 수 있는 SQL 코드를 생성함으로써 샘플링, 정렬, 새 필드 파생, 특정 유형의 그래프 작성 등의 수많은 작업을 클라이언트 또는 서버 컴퓨터가 아닌 데이터베이스에서 수행할 수 있습니다. 대형 데이터 세트에 대해 작업하는 경우, 이러한 푸시백은 다음과 같은 여러 가지 방법으로 성능을 크게 향상시킬 수 있습니다.
- DBMS에서 Cloud Pak for Data로 전송될 결과 세트의 크기를 줄입니다. ODBC 드라이버를 통해 큰 결과 세트를 읽는 경우, 네트워크 I/O 또는 드라이버 비효율성이 발생할 수 있습니다. 이러한 이유로 SQL 최적화로 인한 혜택이 가장 큰 작업이 행 및 열 선택 및 통합(선택, 표본, 통합 노드)이며 일반적으로 전송할 데이터 세트의 크기가 줄어듭니다. 또한 플로우의 중요한 포인트(합치기 또는 선택 노드 이후 등)에서 데이터베이스 내의 임시 테이블에 데이터를 캐싱하여 성능을 더 개선할 수도 있습니다.
- 데이터베이스의 성능 및 확장성을 활용하는 방법입니다. DBMS는 종종 병렬 처리, 더 강력한 하드웨어, 더 정교한 디스크 저장 공간 관리 및 지수를 활용할 수 있으므로 효율성이 높아집니다.
이러한 이점이 있는 경우, Cloud Pak for Data 는 각 SPSS Modeler 플로우에서 생성되는 SQL의 양을 최대화하도록 설계되었으므로 SQL로 컴파일할 수 없는 조작만 Cloud Pak for Data에서 실행됩니다. 단, 표준 SQL(SQL-92) 표현의 한계로 인해 특정 작업은 지원되지 않습니다.
현재 지원되는 데이터베이스에 대한 세부사항은 SPSS Modeler에 대해 지원되는 데이터 소스를 참조하십시오.
팁:
- 플로우를 실행할 때 데이터베이스로 푸시백되는 노드의 경우 옆에 작은 SQL 아이콘이 강조 표시됩니다. 플로우를 실행한 후 편집을 시작하면 다음에 플로우를 실행할 때까지 이 아이콘이 제거됩니다.
- 플로우를 실행하기 전에 푸시백할 노드를 보려면 SQL 미리보기를 클릭하십시오. 이를 통해 플로우를 실행하기 전에 플로우를 수정할 수 있습니다. 예를 들어, 비푸시백 조작을 가능한 한 다운스트림으로 이동하여 성능을 향상시킬 수 있습니다.
- 노드를 푸시백할 수 없는 경우 플로우의 모든 후속 노드가 푸시백되지 않습니다(해당 노드에서 푸시백이 중지됨). 이 경우 플로우에서 노드 순서를 구성하는 방식에 영향을 줄 수 있습니다.
주: SQL과 관련하여 다음 정보를 기억하십시오.
- SQL 구현의 사소한 차이로 인해 데이터베이스에서 실행되는 플로우는 Cloud Pak for Data에서 실행될 때 약간 다른 결과를 리턴할 수 있습니다. 비슷한 이유로 데이터베이스 벤더에 따라서도 이러한 차이가 발생할 수 있습니다. 예를 들어, 문자열 비교 및 문자열 데이터 정렬에서 대소문자 구분을 위한 데이터베이스 구성에 따라 SQL 푸시백을 사용하여 실행되는 SPSS Modeler 플로우는 SQL 푸시백을 사용하지 않고 실행되는 플로우와 다른 결과를 생성할 수 있습니다. 데이터베이스 구성에 대해서는 데이터베이스 관리자에게 문의하십시오. Cloud Pak for Data와의 호환성을 최대화하려면 데이터베이스 문자열 비교에서 대소문자를 구분해야 합니다.
- Cloud Pak for Data 를 사용하여 SQL을 생성할 때 SQL 푸시백을 사용한 결과가 일부 플랫폼 (예:Linux) 에서 일치하지 않을 수 있습니다. 그 이유는 다른 플랫폼에서는 부동 소수점이 다르게 처리되기 때문입니다.