Tech Specs

PostgreSQL의 한계를 뛰어넘는
고성능 · 고가용성 DB 솔루션, TarzanDB

TarzanDB는 오픈소스 PostgreSQL의 구조적 한계를 보완하고, 대규모 데이터 환경에서도 안정적인 운영이 가능하도록 설계되었습니다.

외부 캐시 연계를 통한 빠른 쿼리 응답, 장애 발생에도 중단 없는 서비스를 위한 고가용성(HA), 장기적인 운영 인사이트 확보를 위한 성능·통계 정보 수집, Vacuum 이슈에 대한 실시간 대응, 그리고 다양한 DB를 한눈에 관리할 수 있는 통합 모니터링 도구까지 폭넓은 기능을 제공합니다. 시장의 요구를 반영한 맞춤형 기능으로 고객의 가치 실현을 위해 적극 지원합니다.

고가용성(HA) 솔루션

TarzanDB는 상용솔루션에서 제공하는 Disk 블록복제방식과 공유 Disk 방식을 포함한 다양한 아키텍처의 고가용성(HA)을 제공하여 고객 환경에 최적화된 서비스 구성이 가능합니다.

  • 상용 솔루션 기능인 Disk 블록복제방식과 공유 Disk 방식은 빠른 Failover/Failback 수행으로 안정적인 운영 환경 제공
  • 2노드 전용 또는 3노드 이상의 Replication 방식은 읽기 워크로드 분산을 통한 효율적 자원 활용과 쿼럼구성을 통해 안정적 운영 환경 구성
상용 솔루션 기능
Disk 블록복제 방식의 Active-Standby 고가용성 구성도
  • THA Agent는 Active 서버의 데이터 블록을 실시간으로 복제하여 Sync
  • 빠른 Failover/Failback 수행
상용 솔루션 기능
공유 Disk 방식의 Active-Standby 고가용성 구성도
  • Network을 통해 데이터베이스 파일을 공유 하여 Sync 작업 불필요
  • 빠른 Failover/Failback과 높은 처리 성능 제공
Replication 방식의 Active-Secondary 고가용성 구성도
  • Primary 서버의 WAL Log를 Secondary 서버에서 읽어서 Sync
  • 읽기 워크로드 분산으로 효율적인 자원 활용

HA Quick Fail-back

TarzanDB는 THA(Tarzan High Availability)를 활용하여 고가용성(High Availability)을 지원합니다. 또한 장애 발생 시 Auto Fail-over는 물론, Master 서버 복구 후 정상화를 위한 Quick Fail-back 기능을 제공합니다.

  • 고가용성(HA) 환경에서 Master(Primary) 서버를 고사양으로, Slave(Secondary) 서버를 저사양으로 구축한 경우에는 최대한 빠른 시간 내 Fail-back 수행 필요
  • TarzanDB는 엔지니어의 개입을 최소화 하고 빠르게 Fail-back을 수행할 수 있는 GUI 기능 및 CLI 명령어 제공
PostgreSQL 장애 발생 시 Standby에서 Active로 전환되는 고가용성 구성 흐름도
Standby PostgreSQL 서버에서 장애가 발생하면, THA Agent를 통해 Heartbeat가 중단되고 HA Layer에서 이를 감지하여 Active 서버로 전환됩니다. 기존 Active 서버는 중단되며, 새로운 Active 서버는 사용자 요청을 처리합니다. 데이터 동기화(Data Sync)는 평상시와 동일하게 THA Agent 간에 수행됩니다.
장애 복구 후 기존 Active 서버로 복원되는 PostgreSQL 고가용성 구성도
기존 Active 서버가 복구되면, 현재 Active 역할을 하고 있던 서버는 다시 Standby로 전환되고, 복구된 PostgreSQL 서버가 다시 Active 역할을 수행하게 됩니다. 이 과정에서도 THA Agent 간의 Heartbeat 및 Data Sync는 계속 유지되며, HA Layer에서 이를 자동 감지하여 상태를 전환합니다.

*THA Agent : TarzanDB High Availability

통합 모니터링 솔루션

TarzanDB는 다양한 PostgreSQL 기반 DBMS의 실시간 모니터링 및 알람 기능을 포함한 통합 모니터링 환경을 제공합니다.

  • System 실시간 상태 모니터링 및 알람
  • Database 실시간 상태 모니터링 및 알람
  • PostgreSQL 기반의 벤더사 제품 통합 모니터링 가능
  • H/W, OS 등 System 정보와 Query 빈도, Lock, Slow Query 및 Vacuum 등 DBMS 상태에 대한 효율적인 모니터링 및 분석이 가능한 최적의 통합 Dashboard
TarzanDB와 PostgreSQL 생태계 구조 다이어그램. 세 가지 PostgreSQL 영역을 대상으로 동작하는 TarzanDB의 UI 화면 예시
TarzanDB는 PostgreSQL 기반의 다양한 구성에 대해 확장성과 호환성을 제공합니다. 왼쪽부터 TarzanDB Extensions, PostgreSQL Community, PostgreSQL 기반 Databases 영역으로 구성되어 있으며, 각 영역은 PostgreSQL 로고로 연결되고, 실제 UI 예시는 모니터 화면에 시각화되어 있습니다. TarzanDB는 이 세 가지 영역에 걸쳐 통합된 관리 및 시각화를 제공합니다.

DB 성능 및 통계 정보 수집

TarzanDB는 별도 구성 없이 시스템 및 DB 성능, 통계 정보를 장기간 수집 · 보관 기능(TMO)을 포함하고 있으며, 시스템 장애 발생 시 원인 추적, 재발 방지 등을 위한 분석 데이터를 제공합니다.

  • PostgreSQL은 재기동 시, 시스템 및 Database 성능 및 통계 정보(Metrics)가 초기화되어 장애 원인 분석이 어려움
  • 시스템 자원의 한계로 인해 오래된 데이터의 장기간 보관 대신, 주기적 삭제에 따른 장기간 추세 분석이 어려움
  • TarzanDB는 장애 발생에 따른 정확한 원인 분석 및 장기간 추세 분석 환경 제공을 위해 시스템 및 Database의 성능 및 통계 정보를 장기간 수집 · 보관 기능 제공
PostgreSQL을 중심으로 구성된 기능 다이어그램. 8개의 아이콘이 원형으로 배치됨
중앙에 PostgreSQL 로고가 있고, 주변에 8가지 주요 기능이 원형으로 배치되어 있습니다. 각각의 기능은 다음과 같습니다: 통계 분석, 데이터 이관, 보안 관리, 데이터 탐색, 스케줄 관리, 데이터 동기화, 관계형 모델, 백업 및 복구. 이 아이콘들은 PostgreSQL이 제공하는 다양한 기능을 시각적으로 나타냅니다.

Vacuum Monitoring

TarzanDB는 DBMS 성능 저하 방지 및 안정적인 시스템 운영을 위한 실시간 Vacuum Monitoring 기능과 Vacuum 설정(Tuning) Guide를 제공합니다.

  • PostgreSQL은 Dead Tuple 관리 및 Table Reorganize 등을 위해 주기적인 관리 작업인 Vacuum 수행
  • Dead Tuple이 많은 경우, 빈번한 Vacuum이 발생되고, 이는 DBMS 성능 저하를 유발하여 PostgreSQL의 주요 이슈 사항
  • 특히 데이터가 많은 Table에서 Lock이 발생하는 Vacuum Full은 서비스 장애 유발
  • TarzanDB는 빈번한 Vacuum, Vacuum Full 발생에 대한 체계적인 모니터링을 수행하고, 안정적인 운영 지원을 위한 개선 방안 제시
PostgreSQL의 Vacuum 처리 과정: 불필요한 공간만 정리하여 테이블은 유지됨
PostgreSQL의 일반 Vacuum 동작은 테이블의 사용되지 않는 공간만 정리하여, 전체 블록 수는 유지한 채로 불필요한 행만 제거됩니다. 데이터 블록은 그대로 존재하며, 삭제된 데이터는 회색으로 표시되고, 남은 유효한 데이터는 파란색으로 유지됩니다. Vacuum 후에도 블록 구조는 변하지 않습니다.
PostgreSQL의 Vacuum Full 처리 과정: 불필요한 공간까지 정리되어 테이블이 압축됨
PostgreSQL의 Vacuum Full은 불필요한 공간을 완전히 제거하여 테이블 자체를 재정렬하고 압축합니다. 회색으로 표시된 삭제된 데이터를 포함한 블록 전체가 제거되고, 파란색으로 남은 유효 데이터만 새로운 블록에 재배치됩니다. 결과적으로 저장 공간이 절약되고 테이블 크기가 줄어듭니다.
  • Live Tuple
  • Free Slot
  • Dead Tuple

AI DBA

TarzanDB는 Vector Store와 RAG를 활용한 AI DBA/Chatbot을 제공합니다. 단순한 제품 QnA부터 Query 생성, 이종 데이터베이스간 Query 변경, 시스템/데이터베이스 장애 분석에 활용 가능하며, DBA의 업무 효율을 높입니다.

  • TarzanDB나 PostgreSQL에 대한 일반적인 궁금증을 인터넷 검색과 AI로 검색할 때 발생하는 시간 낭비 최소화
  • 시스템 및 DB 메트릭 정보를 수집하고 있더라도 전문 지식이 없으면 장애 원인 분석이 어려움
  • LLM을 통한 PostgreSQL의 범용 정보와 RAG 기반의 TarzanDB 특화 정보, 장애 사례를 통합하여 정확한 원인 분석과 대응 방안 제시
Vector Store와 RAG 기반 Chatbot Agent 아키텍처 구성도
사용자와 관리자의 질의는 Chatbot Agent를 거쳐 Sementic Search 및 RAG로 처리되며, 소개자료·기술문서·PostgreSQL 매뉴얼·장애 이슈 히스토리는 Vectorizing/Embedding Indexing을 통해 Vector Store에 저장됩니다. System·DBMS Metrics Data와 DBMS Log는 Vector Store와 연계되어 Query Advisor, System/장애 분석에 활용됩니다.

데이터 마이그레이션 솔루션

TarzanDB는 Oracle, Tibero와 같은 고비용 데이터베이스로부터 쉬운 전환을 위해 Data Migrator (Cheeta)를 제공합니다. Cheeta는 다중 전송 기능으로 빠른 Migration을 수행하며 CDC 및 배치처리 방식을 지원합니다.

  • 고비용 데이터베이스인 Oracle, Tibero의 완벽을 위한 데이터 Migrator, Cheeta 제공
  • 다중 테이블 전송 기능과 파티션 분할 전송 기능 도입으로 대용량 Migration에 최적화
  • CDC/배치 타입의 전송 방식을 테이블 별로 선택적 적용 가능
  • Hot&Cold 데이터 분할 전송 기능을 도입하여 2 Phase Migration 가능
TarzanDB Cheeta 로고

Data Pipeline & Movement

  • 다중 테이블 동시 전송
  • 대용량 테이블 파티션 단위 분할 전송
  • 유연한 재처리 (재적재 · CDC 재개)
  • CDC · 배치 · Audit CDC 통합 지원
  • Hot & Cold 데이터 분할 전송
Data Pipeline & Movement에서 Integration & Replicate Layer로 이어지는 흐름 화살표

Integration & Replicate Layer

Catalog
Integration & Replicate Layer 구성 다이어그램
Catalog를 통해 원본과 대상 데이터베이스 간 매핑 정보를 관리하고, 이를 기반으로 데이터 통합 및 복제 레이어가 동작합니다.