> ## Content Index
> Fetch the complete content index at: https://kr.vizney.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# 태블로 서버 가이드: 아키텍처와 핵심 프로세스
- URL: https://kr.vizney.com/tableau-server-guide-architecture-core-process/
- Published: 2025-11-24T23:56:10.000Z
- Updated: 2026-02-23T23:51:56.000Z
- Author: 황예환
- Tags: Knowledge Base

태블로 서버(Tableau Server)를 운영하다 보면 대시보드 로딩 속도가 느려지거나, 특정 노드에서 추출 새로 고침이 실패하는 등 다양한 기술적 문제에 직면하게 됩니다. 이러한 문제를 직관이 아닌 논리로 해결하기 위해서는 태블로 서버가 내부적으로 어떻게 작동하는지, 즉 **아키텍처(Architecture)**를 정확히 이해하는 것이 필수적입니다.

이번 글에서는 태블로 서버를 지탱하는 9가지 핵심 프로세스의 역할과 상호작용 원리를 상세히 알아보겠습니다.

---

### 태블로 서버 아키텍처 개요

태블로 서버는 겉으로 보기에는 하나의 단일 프로그램처럼 보이지만, 실제로는 다양한 역할을 수행하는 여러 **프로세스(Process)**들이 유기적으로 연결된 **분산 시스템**입니다.

사용자가 웹 브라우저나 태블로 데스크탑을 통해 서버에 요청을 보내면, 이 요청은 가장 먼저 서버의 문지기인 **게이트웨이**를 통과합니다. 이후 요청의 성격(로그인, 대시보드 조회, 데이터 추출 등)에 따라 적절한 내부 프로세스로 전달되어 처리됩니다.

이러한 구조 덕분에 태블로 서버는 단일 컴퓨터(노드)에 설치할 수도 있고, 사용자가 많아지면 여러 컴퓨터에 프로세스를 나누어 배치하는 **클러스터(Cluster)** 형태로 확장하여 부하를 분산할 수도 있습니다. 즉, 아키텍처를 이해한다는 것은 이 데이터의 흐름과 각 프로세스의 역할을 파악하는 것을 의미합니다.

---

### 1\. 게이트웨이 (Gateway)

모든 요청의 시작점입니다.

- **역할:** 클라이언트(브라우저, 데스크탑 등)의 요청을 받아 적절한 내부 프로세스로 라우팅(Routing)하고 로드 밸런싱을 수행합니다.
- **특징:** Apache HTTP Server를 기반으로 하며, 이미지나 CSS 같은 정적 파일은 내부 프로세스를 거치지 않고 직접 처리합니다.

---

### 2\. 애플리케이션 서버 (Application Server)

사용자가 웹 포털(VizPortal)에서 경험하는 대부분의 인터페이스를 담당합니다.

- **역할:** 로그인(인증) 및 권한 부여를 처리하고, 콘텐츠 탐색 및 검색을 위한 웹 UI를 렌더링합니다.
- **특징:** REST API 요청을 처리하며, 평소 리소스 사용량은 낮지만 API 호출이 빈번한 환경에서는 부하가 발생할 수 있습니다.

---

### 3\. 검색 및 찾아보기 (Search & Browse)

서버 내 콘텐츠 검색을 담당하는 숨은 조력자입니다.

- **역할:** 사용자가 프로젝트나 워크북을 검색할 때 필요한 검색 인덱스를 제공합니다.
- **특징:** Apache Solr 기술을 기반으로 하며, 리포지토리의 메타데이터를 인덱싱하여 빠른 검색을 지원합니다.

---

### 4\. VizQL Server

태블로 기술의 심장이자 시각화 엔진입니다.

- **역할:** 사용자의 드래그 앤 드롭 동작(시각적 요청)을 SQL 쿼리로 변환하고, 데이터베이스에서 가져온 결과를 다시 그래프 형태로 렌더링합니다.
- **성능:** 대시보드 로딩 속도에 가장 큰 영향을 미치며, CPU와 메모리를 많이 사용하는 프로세스입니다.

---

### 5\. 캐시 서버 (Cache Server)

서버 성능 최적화를 위한 공유 메모리 저장소입니다.

- **역할:** VizQL Server, Backgrounder, Data Server 등 여러 프로세스 간에 쿼리 결과를 공유하여 중복 연산을 방지합니다.
- **특징:** Redis(인메모리 데이터 저장소)를 기반으로 하며, 적절히 구성할 경우 대시보드 응답 속도를 획기적으로 개선할 수 있습니다.

---

### 6\. 데이터 서버 (Data Server)

태블로의 강력한 데이터 거버넌스를 담당하는 프록시(Proxy)입니다.

- **역할:** 클라이언트의 쿼리를 실제 데이터베이스로 전달하고, 데이터 소스에 대한 중앙 집중식 권한 관리를 수행합니다.
- **장점:** 게시된 데이터 소스(Published Data Source)를 통해 여러 워크북이 하나의 데이터 연결을 공유할 수 있게 하여 DB 부하를 줄여줍니다.

---

### 7\. 데이터 엔진 (Data Engine) & 파일 저장소 (File Store)

고성능 데이터 처리를 위한 듀오입니다.

- **데이터 엔진:** 'Hyper' 기술을 기반으로 추출(Extract) 파일을 생성하고 조회합니다. CPU와 메모리 자원을 최대로 활용하여 고성능을 냅니다.
- **파일 저장소:** 노드 간에 추출 파일(.hyper)을 자동으로 복제(Replication)하여, 어떤 노드에서도 데이터에 접근할 수 있도록 동기화합니다.

---

### 8\. 백그라운더 (Backgrounder)

사용자가 보지 않는 곳에서 작동하는 스케줄러입니다.

- **역할:** 추출 새로 고침(Extract Refreshes), 구독 이메일 전송, 알림 발송 등 예약된 작업을 처리합니다.
- **운영 팁:** CPU를 매우 많이 사용하는 작업이므로, 안정적인 운영을 위해 VizQL(시각화) 노드와 분리하여 독립된 노드에 배치하는 것을 권장합니다.

---

### 9\. 리포지토리 (Repository)

서버의 모든 메타데이터가 저장되는 곳입니다.

- **역할:** 사용자 정보, 그룹, 권한, 콘텐츠 위치 등 서버 운영에 필요한 모든 데이터를 저장합니다.
- **특징:** PostgreSQL 데이터베이스를 기반으로 합니다.

---

태블로 서버의 각 프로세스 역할을 명확히 이해하는 것은 장애 대응과 성능 튜닝의 기본입니다. 다음 포스팅에서는 이 지식을 바탕으로 **'성능 최적화와 튜닝'**에 대해 다뤄보겠습니다.