Tableau Server 데이터 엔진
Hyper는 크거나 복잡한 데이터 집합의 데이터 수집 및 분석 쿼리를 빠르게 처리하도록 최적화된 Tableau의 인메모리 데이터 엔진 기술입니다. Hyper는 Tableau Server, Tableau Desktop, Tableau Cloud 및 Tableau Public에서 데이터 엔진을 구동합니다. 이 데이터 엔진은 추출 만들기, 새로 고침 또는 쿼리 시에 사용됩니다. 또한 다중 연결이 있는 페더레이션된 데이터 원본을 지원하기 위해 교차 데이터베이스 조인에도 사용됩니다.
프로세스 | |
상태 | |
로깅 | 에 위치합니다. 자세한 내용은 Tableau Server 로그 및 로그 파일 위치를 참조하십시오. |
메모리 및 CPU 사용량
데이터 엔진은 컴퓨터에서 사용 가능한 모든 CPU 및 메모리를 활용하여 최대한 빠른 응답 시간을 제공하도록 설계되었습니다.
CPU 사용량
Hyper 기술은 CPU에서 새로운 명령 집합을 활용하며 사용 가능한 모든 코어를 병렬화하고 확장할 수 있습니다. Hyper 기술은 많은 코어를 효율적으로 확장하고 각 단일 코어의 사용률을 가능한 한 극대화하도록 설계되었습니다. 이는 쿼리 처리 중에 시간당 총 CPU의 평균 75% 사용을 기대할 수 있음을 의미합니다. 더 많은 CPU를 추가하면 성능이 향상되어야 합니다.
참고: 시간당 평균 사용량 75%가 기본값이며 전용 서버 노드에서 데이터 엔진을 실행하는 경우 외에는 변경하지 않은 상태로 두어야 합니다. 전용 노드에서 데이터 엔진을 실행하는 방법에 대한 자세한 내용은 추출 쿼리가 많은 환경 최적화를 참조하십시오.
Microsoft Windows, Apple macOS 및 Linux와 같은 최신 운영 체제는 CPU가 완전히 사용되더라도 수신 및 기타 활성 프로세스를 동시에 실행할 수 있는 메커니즘을 갖추고 있습니다. 또한 데이터 엔진은 자체 모니터링을 통해 Tableau Server 리소스 관리자(SRM)에 설정된 제한을 유지함으로써 종합적인 리소스 소비를 관리하고 오버로드로 인해 컴퓨터에서 실행되는 다른 프로세스를 위한 리소스가 완전히 고갈되는 상황을 방지합니다. Tableau Server 리소스 관리자는 리소스 사용을 모니터링하고 미리 정의된 제한이 초과될 경우 데이터 엔진에 알려 사용량을 줄이도록 합니다.
데이터 엔진은 사용 가능한 CPU를 활용하도록 설계되었기 때문에 CPU 사용량이 때때로 급증하는 것이 정상입니다. 하지만 장시간 동안(1시간 이상) 높은 CPU 사용률(예: 95%)이 나타나는 경우 다음과 같은 의미일 수 있습니다.
쿼리 부하가 높습니다. 서버가 여러 클라이언트 요청의 과부하로 인해 스트레스를 받고 있으며 쿼리가 큐에 대기 중인 경우 이 현상이 발생할 수 있습니다. 이 현상이 자주 발생하면 클라이언트에 서비스를 제공하기 위해 더 많은 하드웨어가 필요하다는 의미입니다. 이 경우 더 많은 CPU를 추가하면 성능이 향상될 수 있습니다.
오래 실행되는 쿼리가 하나 있습니다. 이 경우 Tableau Server 리소스 관리자는 시간 제한 설정을 기준으로 오래 실행되는 쿼리를 중지합니다. 이 동작은 버전 10.5 이전의 Tableau Server에서도 동일합니다.
Tableau Server 리소스 관리자(SRM)에 대한 자세한 내용은 일반 성능 지침을 참조하십시오.
메모리 사용량
데이터 엔진의 메모리 사용량은 쿼리에 응답하는 데 필요한 데이터의 양에 따라 달라집니다. 데이터 엔진은 쿼리를 먼저 인메모리에서 실행합니다. 쿼리를 처리하는 동안 중간 데이터 구조를 저장하기 위해 작업 집합 메모리가 할당됩니다. 대부분의 경우 시스템에는 이러한 유형의 처리를 수행할 수 있는 충분한 메모리가 있지만 사용 가능한 메모리가 충분하지 않거나 RAM의 80% 이상이 사용되고 있는 경우 데이터 엔진이 임시로 쓰기를 디스크로 스풀링할 수 있습니다. 임시 파일은 쿼리에 응답한 후 삭제됩니다. 따라서 스풀링은 더 많은 메모리가 필요하다는 표시입니다. 스풀링으로 인한 성능 문제를 방지하려면 메모리 사용량을 모니터링하고 메모리를 적절히 업그레이드해야 합니다.
컴퓨터에서 메모리 리소스를 관리하기 위해 데이터 엔진의 최대 메모리 제한이 Tableau Server 리소스 관리자(SRM)에 의해 설정됩니다.
서버 구성, 확장성 및 성능
파일 저장소, 응용 프로그램 서버(VizPortal), VizQLServer, 데이터 서버 또는 백그라운더의 인스턴스가 설치된 노드당 하나의 데이터 엔진 인스턴스가 자동으로 Tableau Server에 설치됩니다. 데이터 엔진은 자체적으로 확장할 수 있으며 필요에 따라 더 많은 CPU 및 메모리를 사용하므로 데이터 엔진의 여러 인스턴스가 필요하지 않습니다. 서버 프로세스에 대한 자세한 내용은 Tableau Server 프로세스를 참조하십시오.
파일 저장소가 설치된 노드에 설치된 데이터 엔진 인스턴스는 뷰 요청에 대한 데이터를 쿼리하는 데 사용됩니다. 백그라운더가 설치된 노드에 설치된 데이터 엔진 인스턴스는 추출 만들기 및 새로 고침에 사용됩니다. 이는 성능 조정을 수행할 때 중요한 고려 사항입니다. 자세한 내용은 성능 조정을 참조하십시오.
데이터 서버, VizQL 서버 및 응용 프로그램 서버(VizPortal) 모두 데이터 엔진의 로컬 인스턴스를 사용하여 교차 데이터베이스 조인을 수행하고 섀도 추출을 만듭니다. 섀도 추출 파일은 레거시가 아닌 Excel이나 텍스트 또는 통계 파일에 기반하는 통합 문서로 작업할 때에만 생성됩니다. Tableau는 데이터를 보다 빠르게 로드하기 위해 섀도 추출 파일을 만듭니다.
Tableau Server 10.5에서는 백그라운더를 설치할 때 데이터 엔진의 인스턴스 하나가 자동으로 설치됩니다. 백그라운더 프로세스에서는 동일한 노드에 설치되어 있는 데이터 엔진의 단일 인스턴스(hyperd.exe)를 사용합니다.
중요! 데이터 엔진이 파일 저장소와 동일한 노드에 설치된 경우 예외가 있습니다. 파일 저장소가 Tableau Server 외부에 구성되어 있는 경우 데이터 엔진은 더 이상 파일 저장소와 함께 설치되지 않습니다. Tableau Server가 외부 파일 저장소로 구성되어 있는 이 구성에서 데이터 엔진은 위에서 언급한 것처럼 계속 다른 프로세스와 함께 설치됩니다. 또한 다른 프로세스가 없는 노드에서 데이터 엔진을 구성할 수 있지만 파일 저장소가 외부에 구성된 경우에만 가능합니다. 외부 파일 저장소에 대한 자세한 내용은 Tableau Server 외부 파일 저장소를 참조하십시오.
확장성:
새 데이터 엔진을 확장할 수 있습니다. 코어가 완전하게 활용되므로 더 많은 코어를 추가하면 개별 쿼리가 더 빠르게 실행되고, 그에 따라 더 많은 쿼리를 더 짧은 시간 내에 실행할 수 있습니다.
스풀링으로 인한 성능 문제를 방지하려면 메모리 사용량을 모니터링하고 메모리를 적절히 업그레이드해야 합니다.
확장성에 대한 자세한 내용은 Tableau Server Scalability(Tableau Server 확장성)를 참조하십시오.
성능:
성능 이점
10.5 버전부터는 다음과 같은 주요 이점을 제공하는 Hyper 기술이 Tableau 데이터 엔진에 통합되었습니다.
빠른 추출 만들기: Hyper 기술은 원본 시스템이 데이터를 제공하는 속도 만큼 빠르게 추출을 생성하며 정렬이 필요하지 않습니다.
더 큰 추출 지원: 이 릴리스 이전에는 모든 데이터를 단일 추출로 만들지 못하는 경우가 있었습니다. Hyper 기술을 사용하면 훨씬 더 많은 양의 데이터를 단일 추출에 포함할 수 있습니다.
빠른 추출 분석: 큰 추출 또는 복잡한 계산이 포함된 통합 문서에 대한 데이터가 더 빠르게 쿼리되는 것을 볼 수 있습니다.
다음은 Hyper로 구동되는 데이터 엔진이 크거나 복잡한 추출에서 더 뛰어난 성능을 내고 더 빠른 쿼리를 위해 최적화된 몇 가지 이유입니다.
Hyper 기술은 데이터를 더 빨리 소비하도록 설계되었습니다. 이전 버전과 달리 이 데이터 엔진은 정렬과 같은 사후 처리를 수행하지 않습니다. Hyper를 사용하면 정렬과 같은 사후 처리 단계가 필요하지 않으므로 데이터 엔진이 더 큰 추출에서 뛰어난 성능을 제공할 수 있습니다.
Hyper 기술은 메모리에 최적화되었습니다. 필요한 경우 모든 데이터가 메모리에 유지된다는 의미입니다. 결과적으로 데이터 액세스 시간이 빨라집니다.
Hyper 기술은 CPU에 최적화되었습니다. 이제 데이터 엔진이 쿼리 실행을 완전히 병렬화하며 쿼리 실행 시간이 컴퓨터의 코어 수와 거의 선형으로 비례하는 방식으로 사용 가능한 CPU를 활용한다는 의미입니다.
Hyper는 컴파일 쿼리 엔진입니다. 쿼리는 최대 성능을 위해 기계 코드로 해석되거나 컴파일되며 데이터 엔진이 최신 하드웨어(CPU, 대규모 주 메모리 용량)의 성능을 최대한 활용할 수 있습니다.
Hyper 기술은 고급 쿼리 최적화를 사용하여 쿼리를 더 빠르게 만듭니다. 각 열의 최소값 및 최대값 구체화, 검색 범위를 최적화하는 미니 인덱스, 보다 세분화된 데이터 블록 수준 사전, 조인 및 하위 쿼리 성능 최적화를 위한 고급 로직 등과 같은 많은 추가적인 고급 기술어 포함된 새로운 데이터 엔진은 성능 및 확장성 측면에서 이전 Tableau 데이터 엔진에 비해 많은 향상된 기능을 제공합니다.