Tableau Archi구조도 및 서버 구성 요소
⚡ 스마트 요약
Tableau 서버 Architecture는 계층형 멀티 프로세스 설계를 통해 데스크톱, 웹 및 모바일 클라이언트를 다양한 데이터 계층에 연결합니다. 이 페이지에서는 각 계층, 서버를 통한 요청 경로, 개별 백그라운드 프로세스, 그리고 단일 노드 배포와 다중 노드 배포에 대해 설명합니다.
Tableau Server는 다양한 데이터 계층을 연결할 수 있도록 설계되었습니다. 데스크톱, 모바일 및 웹 클라이언트를 연결할 수 있습니다. Tableau Desktop은 강력한 데이터 시각화 도구입니다. 가용성이 높고 보안이 뛰어납니다.
가상 머신과 물리적 머신 모두에서 실행될 수 있습니다. 다중 사용자, 다중 프로세스 및 다중 스레드 시스템입니다.
이처럼 강력한 기능을 제공하려면 견고한 아키텍처가 필요합니다. Tableau Server를 연구해 보겠습니다. Archi이 튜토리얼에서 강의합니다.
Tableau 서버 Archi강의
Tableau Server에서 사용되는 다양한 계층은 다음 아키텍처 다이어그램에 나와 있습니다.

다이어그램을 아래에서 위로 읽으면 데이터 소스는 맨 아래에 있고, 커넥터는 그 위에 있으며, 서버 구성 요소는 중간에 있고, 클라이언트는 맨 위에 있습니다. 아래의 다섯 섹션 각각은 이러한 밴드 중 하나를 다룹니다.
Tableau의 다양한 구성 요소를 살펴보겠습니다. Archi강의
데이터 서버
Tableau의 주요 구성 요소 Archi여기서 구조는 연결할 수 있는 데이터 소스를 의미합니다. 첫 번째 계층은 데이터 계층 전체, 즉 데이터 서버를 가리킨다는 점에 유의하십시오. 방법 Tableau Server 내부에서 실행되는 부분은 아래 "Tableau Server 구성 요소"에서 별도로 설명합니다.
Tableau는 여러 데이터 소스에 연결할 수 있습니다. 이러한 데이터 소스는 온프레미스 또는 원격 위치에 있을 수 있습니다. 데이터베이스, Excel 파일, 웹 애플리케이션 등 다양한 데이터 소스에 동시에 연결할 수 있습니다. Tableau는 이기종 환경의 데이터를 연결하고, 여러 데이터 소스의 데이터를 통합하며, 다양한 유형의 데이터 소스 간의 관계를 설정할 수 있습니다.
데이터 커넥터
데이터 커넥터는 외부 데이터 원본을 Tableau 데이터 서버에 연결하기 위한 인터페이스를 제공합니다.
Tableau에는 내장 ODBC/SQL 커넥터가 있습니다. 이 ODBC 커넥터를 사용하면 자체 커넥터를 사용하지 않고도 모든 데이터베이스에 연결할 수 있습니다. Tableau는 라이브 및 익스포트 연결 옵션을 모두 제공합니다.tract 데이터. 사용량에 따라 ex 간에 쉽게 전환할 수 있습니다.trac테드와 실시간 데이터.
- 실시간 연결 또는 실시간 데이터: Tableau는 외부 데이터베이스에 직접 연결하여 실시간 데이터에 접근할 수 있습니다. 기존 데이터베이스 시스템의 인프라를 활용하여 동적 MDX(다차원 표현식)를 전송하고 SQL 이 기능은 데이터를 가져오는 대신 Tableau에서 실시간 데이터에 연결할 수 있도록 해줍니다. 이를 통해 조직이 빠르고 최적화된 데이터베이스 시스템에 투자한 비용을 최대한 활용할 수 있습니다. 많은 기업에서 데이터베이스 규모는 방대하며 주기적으로 업데이트됩니다. 이러한 경우 Tableau는 실시간 데이터에 연결하여 프런트엔드 시각화 도구 역할을 합니다.
- Extracted 또는 메모리 내 데이터: Tableau에는 ex 옵션이 있습니다.trac외부 데이터 소스의 데이터를 가져올 수 있습니다. Tableau 예제 형식으로 로컬 복사본을 만들 수 있습니다.tracHyper 데이터 엔진에서 생성된 .hyper 형식을 사용하는 t 파일입니다. 예를 들면 다음과 같습니다.trac단 한 번의 클릭으로 수백만 개의 레코드를 데이터 엔진에 입력할 수 있습니다. Tableau의 데이터 엔진은 메모리와 디스크를 함께 사용하여 데이터를 저장하고 처리합니다. 필터를 사용하면 Tableau는 데이터를 특정 범위 내에서 처리할 수 있습니다.trac방대한 데이터 세트에서 몇 개의 레코드만 추출합니다. 이는 특히 대규모 데이터 세트를 처리할 때 성능을 향상시킵니다. 예:trac저장된 데이터 또는 메모리 내 데이터를 사용하면 사용자는 데이터 소스에 연결하지 않고도 오프라인에서 데이터를 시각화할 수 있습니다.
Tableau Server의 구성 요소
Tableau Server에 존재하는 다양한 구성 요소는 다음과 같습니다.
- 응용 프로그램 서버
- VizQL 서버
- 데이터 서버
가) 애플리케이션 서버:
애플리케이션 서버는 인증 및 권한 부여를 제공하는 데 사용됩니다. 웹 및 모바일 인터페이스에 대한 관리 및 권한을 처리합니다. Tableau Server의 각 세션 ID를 기록하여 보안을 보장합니다. 관리자는 서버에서 세션의 기본 시간 초과를 구성할 수 있습니다.
B) VizQL 서버:
VizQL 서버는 데이터 소스의 쿼리를 시각화로 변환하는 데 사용됩니다. 클라이언트 요청이 전달되면 VizQL 프로세스에서는 쿼리를 데이터 소스에 직접 보내고 이미지 형식의 정보를 검색합니다. 이 이미지 또는 시각화가 사용자에게 표시됩니다. Tableau Server는 로드 시간을 줄이기 위해 시각화 캐시를 만듭니다. 시각화를 볼 수 있는 권한이 있는 많은 사용자가 캐시를 공유할 수 있습니다.
다) 데이터 서버:
데이터 서버는 외부 데이터 소스의 데이터를 관리하고 저장하는 데 사용됩니다. 중앙 데이터 관리 시스템입니다. 메타데이터 관리, 데이터 보안, 데이터 저장, 데이터 연결 및 드라이버 요구 사항을 저장합니다. 메타데이터, 계산 필드, 세트, 그룹 및 매개변수와 같은 데이터 세트의 관련 세부 정보를 저장합니다. 데이터 소스는 다음과 같을 수 있습니다.tract 데이터는 외부 데이터 소스와 실시간으로 연결됩니다.
게이트웨이
게이트웨이는 사용자의 요청을 Tableau 구성 요소로 전달하는 역할을 합니다. 클라이언트가 요청을 보내면, 해당 요청은 처리를 위해 외부 로드 밸런서로 전달됩니다. 게이트웨이는 다양한 구성 요소에 프로세스를 분산하는 역할을 합니다. 외부 로드 밸런서가 없는 경우, 게이트웨이가 로드 밸런서 역할도 수행합니다. 단일 서버 구성의 경우, 하나의 기본 서버 또는 게이트웨이가 모든 프로세스를 관리합니다. 다중 서버 구성의 경우, 하나의 물리적 시스템이 기본 서버로 작동하고 나머지는 작업자 서버로 사용됩니다. Tableau Server 환경에서는 하나의 시스템만 기본 서버로 사용할 수 있습니다.
고객사
Tableau Server의 대시보드 및 시각화는 다양한 클라이언트를 사용하여 보고 편집할 수 있습니다. 클라이언트는 Tableau Desktop, 웹 브라우저 및 모바일 응용 프로그램입니다.
| 고객사 | 환경 |
|---|---|
| 태블로 데스크톱 | Tableau Desktop은 비즈니스 분석 도구입니다. Tableau Server에서 대시보드를 만들고 보고 게시하는 데 도움이 됩니다. 사용자는 다양한 데이터 원본에 액세스하고 Tableau Desktop에서 시각화를 구축할 수 있습니다. |
| 모바일 | 서버의 대시보드는 모바일 브라우저와 애플리케이션을 사용하여 대화형으로 시각화할 수 있습니다. 브라우저와 응용 프로그램을 사용하여 통합 문서의 내용을 보고 편집할 수 있습니다. |
| Web | 같은 웹 브라우저 Google Chrome, 사파리, Firefox Microsoft Edge Tableau 서버를 지원합니다. 대시보드의 콘텐츠와 시각화는 이러한 웹 브라우저를 통해 편집할 수 있습니다. |
계층 이름을 지정하면 어떤 계층이 존재하는지 설명할 수 있습니다. 다음 섹션에서는 단일 요청이 모든 계층을 거치는 과정을 보여줌으로써 순서를 구체화합니다.
Tableau 서버 요청의 전체 흐름 과정
게시된 대시보드를 열면 위에서 설명한 구성 요소 간의 일련의 전달 과정이 시작됩니다. 이 전달 과정을 따라가면 보기 속도가 느린 이유와 먼저 점검해야 할 프로세스를 가장 빠르게 파악할 수 있습니다.
- 요청이 게이트웨이에 도착합니다. 브라우저, 모바일 앱 또는 Tableau Desktop 클라이언트가 HTTPS 요청을 보냅니다. 외부 로드 밸런서가 있는 경우 로드 밸런서가 노드를 선택하고, 그렇지 않으면 기본 노드의 게이트웨이가 자체적으로 해당 역할을 수행합니다.
- 애플리케이션 서버는 신원과 권한을 확인합니다. 요청은 애플리케이션 서버 프로세스로 전달되며, 해당 프로세스는 세션을 검증하고, 사용자가 통합 문서에 대한 권한을 가지고 있는지 확인하고, 세션 식별자를 기록합니다.
- 캐시 서버를 참조합니다. 쿼리가 실행되기 전에 서버는 공유 쿼리 캐시를 확인합니다. 일치하는 항목이 있으면 시각화가 즉시 반환되고 나머지 단계는 건너뛰어집니다. 따라서 두 번째로 대시보드를 여는 사용자는 일반적으로 첫 번째 사용자보다 대기 시간이 훨씬 짧습니다.
- VizQL은 쿼리를 생성합니다. 캐시 누락 시, VizQL 프로세스는 통합 문서에 저장된 시각적 사양을 기본 소스에 대한 쿼리로 변환합니다.
- 데이터 서버가 연결을 확인합니다. 통합 문서에서 게시된 데이터 원본을 사용하는 경우 데이터 서버는 연결 세부 정보, 계산 필드, 그룹 및 집합을 제공합니다. 활성 연결은 쿼리를 외부 데이터베이스로 전달합니다.trac이 질문에 대한 답변은 파일 저장소에 저장된 .hyper 파일을 사용하는 Hyper 데이터 엔진에서 제공됩니다.
- 결과가 표시되고 반환됩니다. VizQL은 결과 집합을 뷰의 마크, 축 및 레이블로 변환하고, 렌더링된 출력을 게이트웨이를 통해 다시 전달하고, 다음 사용자를 위해 결과를 캐시에 기록합니다.
튜닝할 때 해당 체인에서 두 가지 사항에 주의해야 합니다. 첫째, ex입니다.trac둘째, 로컬에서 응답하면 사용량이 많은 운영 데이터베이스와의 왕복 통신을 완전히 방지할 수 있습니다. 또한, 캐시에 데이터가 충분히 채워져 있으면 대부분의 반복적인 보기를 단일 조회로 변환하므로, 서버를 재시작하거나 새 통합 문서 버전을 게시하면 캐시가 다시 활성화될 때까지 이러한 이점이 사라집니다.
위에 언급된 프로세스 중 일부는 계층 구조도에 나타나지 않으며, 아래 표에서 해당 프로세스를 확인할 수 있습니다.
Tableau Server 프로세스 유형 및 각 유형의 기능
Tableau Server 설치 시 여러 개의 명명된 프로세스가 동시에 실행됩니다. 관리자는 Tableau Services Manager 상태 페이지에서 각 프로세스를 개별적으로 확인할 수 있으므로, 각 프로세스를 식별하면 문제 해결 속도가 훨씬 빨라집니다.
| 방법 | 책임 |
|---|---|
| 게이트웨이 | 수신되는 모든 요청을 받아 올바른 노드와 프로세스로 라우팅합니다. |
| 응용 프로그램 서버 | 로그인, 권한, 검색, 탐색 및 관리자 인터페이스를 처리합니다. |
| VizQL 서버 | 시각적 사양을 쿼리로 변환하여 뷰를 로드하고 렌더링합니다. |
| 데이터 서버 | 게시된 데이터 소스, 메타데이터 및 연결 자격 증명을 관리합니다. |
| 데이터 엔진(하이퍼) | .hyper ex를 생성하고 쿼리합니다.tracts는 노드에 저장되어 있습니다. |
| 배경 | 예약된 작업을 실행합니다: 예tract 새로 고침, 구독, 알림 및 흐름 실행. |
| 저장소 | A PostgreSQL 통합 문서 메타데이터, 사용자, 권한 및 사용 기록을 저장하는 데이터베이스입니다. |
| 파일 저장소 | 매장 전tract 파일을 생성하고 필요한 노드 전체에 복제합니다. |
| 캐시 서버 | 공유 인메모리 쿼리 캐시는 다음에서 사용됩니다. VizQL, 데이터 서버 및 배경 설명. |
| Cluster 제어 장치 | 프로세스 상태를 모니터링하고 장애 조치를 트리거합니다. 예를 들어 수동 저장소로 전환하는 등의 작업을 수행합니다. |
| 조정 서비스 | 클러스터의 모든 노드에서 구성 및 토폴로지를 일관되게 유지합니다. |
배경 설명 자료는 특히 주목해야 할 부분인데, 그 이유는 이 과정이 가장 자주 역량 부족에 시달리기 때문입니다. 예:trac새로 고침 알림과 구독 이메일이 같은 담당자를 두고 경쟁하기 때문에 아침 시간에 작업이 겹치는 경우가 많습니다.ping 일정 지연은 둘 다 초래합니다.
Tableau Server 배포 방식(단일 노드 vs 다중 노드)
위에 나열된 모든 프로세스는 한 대의 머신에서 실행될 수 있으며, 소규모 팀의 경우 이것이 일반적인 구성입니다. 단일 노드 설치는 패치 및 모니터링이 간단하지만 이중화가 제공되지 않습니다. 머신이 중단되면 모든 대시보드도 작동을 멈추고, 부하가 큰 작업은 중단될 수 있습니다.trac새로 고침은 콘텐츠 시청자와 직접적인 경쟁 관계에 있습니다.
멀티노드 클러스터는 하나의 저장소와 하나의 토폴로지를 공유하는 두 대 이상의 머신에 동일한 프로세스를 분산시킵니다. 따라서 역할은 기본값이 아닌 의도적으로 할당됩니다.
- 배경 자료를 분리하세요. 이사 전trac전용 노드에서 새로 고침하면 야간 작업으로 인해 대화형 보기 속도가 느려지는 것을 방지할 수 있습니다.
- 게이트웨이를 복제하세요. 외부 로드 밸런서 뒤에서 여러 노드에 게이트웨이를 실행하면 단일 진입점으로 인한 장애 위험을 제거할 수 있습니다.
- 수동 저장소를 추가합니다. 두 번째 저장소 인스턴스를 사용하면 다음과 같은 이점을 얻을 수 있습니다. Cluster 활성 복사본이 응답하지 않으면 컨트롤러가 자동으로 페일오버됩니다.
- 규모 Viz동시성을 위한 QL. 더 보기 VizQL 인스턴스는 더 많은 동시 시청자를 처리할 수 있으며, 이는 사용량이 증가함에 따라 발생하는 일반적인 병목 현상입니다.
- 파일 저장소를 데이터 엔진 가까이에 두십시오. 쿼리하는 노드 extrac로컬 복사본이 필요하므로 이 두 파일은 일반적으로 같은 위치에 있습니다.
멀티노드로 전환하는 실질적인 계기는 데이터 양 자체의 양이 아닌 경우가 많습니다. 대개 고가용성에 대한 비즈니스 요구사항이거나, 데이터 업데이트 일정이 더 이상 한가한 시간대에 맞지 않게 되었기 때문입니다.

