소개
본 장에서는 ZetaData의 기본 개념과 구조, 특장점을 설명합니다.
개요
현재 데이터 웨어하우스(Data Warehouse) 시장은 데이터의 폭증으로 인해 큰 한계에 도달했습니다. 데이터의 크기는 테라바이트(terabytes)를 넘어 페타바이트(petabytes)로 확장되며, 단일 데이터 웨어하우스의 규모로 인해 기업 전체의 데이터 양은 더욱 증가하게 됩니다. 이러한 데이터 증가는 결국 성능과 비용 문제를 야기하게 됩니다.
기존 SAN(Storage Area Network) 환경으로 구성된 데이터 웨어하우스에서는 I/O 성능에서 병목 현상이 발생합니다. 일반적인 스토리지 I/O 성능 증가율은 데이터 증가 비율을 충분히 반영하지 못하고 있습니다.
또한 SAN 환경에서는 확장성에 한계가 있습니다. 이를 해결하기 위해서는 더욱 고가의 장비를 마련하여 DB 를 재설치하고 데이터를 이관해야 합니다. 이 또한 어느 시점에는 더 이상 확장(Scale-up)할 수 없게 되어 기 존 데이터를 외부로 백업하거나 삭제해야 합니다. 즉, 향후 데이터 증가 추세를 해결하려면 수평적 확장성과 대용량 데이터에 대한 고속 접근 성능이 필요합니다.
이에 대한 해결책 중 하나로 '빅 데이터' 시장에서 오픈 소스인 Hadoop을 찾을 수 있습니다. Hadoop은 무한 확장이 가능한 파일 시스템인 HDFS와 이를 분석하기 위한 MapReduce 프레임워크를 제공합니다. 그러나 Hadoop을 이용하여 범용 RDBMS만큼 고차원의 분석을 수행하는 것은 쉽지 않습니다.
Hadoop은 다음과 같은 문제점을 가지고 있습니다.
MapReduce를 사용하면 SQL과 같이 간단한 쿼리를 작성하고 활용하기 어렵습니다.
엄격한 일관성(Strict Consistency)을 가지지 않습니다.
또 다른 해결책으로는 Appliance 시장에서 찾을 수 있습니다. 대기업들이 일반적으로 사용하는 방식으로, Oracle 사의 Exadata, EMC사의 Greenplum, MS사의 PDW 등이 있습니다. 이들은 수백 terabytes에서 petabytes까지 지원하는 스토리지 데이터베이스 통합 솔루션을 제공합니다. 또한 하드웨어(H/W)와 소프트웨어(S/W)를 동 시에 제공합니다. 대부분 분석에 최적화되어 있으며 SQL 표준을 준수하여 다양한 환경에서 일관된 쿼리 작성이 용이합니다.
이러한 Appliance DW 방식의 문제점은 종속성에 있습니다. H/W와 S/W 일체형을 도입해야 하기 때문에 모든 면에서 특정 벤더에게 종속될 수 있습니다. 예를 들어 Exadata의 경우, Exadata S/W와 Sun H/W를 도입해야 합니다. 고객마다 원하는 H/W가 다를 수 있지만, 항상 정해진 H/W를 사용해야 합니다.
또 다른 문제점은 가격입니다. 위의 Appliance들은 매우 고가의 장비로, H/W와 S/W 가격이 수억에서 수십 억 원에 이르게 됩니다. 따라서 특정 규모 이상의 기업이 아니라면 도입하기 어렵습니다. 이러한 문제점들을 해 결하기 위해 ZetaData가 출시됐습니다.
주요 기능
ZetaData는 다음과 같은 주요 기능을 가집니다.
대용량의 데이터를 처리하기 위한 수평적 스토리지 구조
ZetaData는 DB와 이를 지원하기 위한 스토리지 소프트웨어로 이루어져 있습니다. 스토리지 소프트웨어는 로컬 디스크(Local Disk)가 여러 개 장착된 서버에 설치되며, 이를 스토리지 서버라고 합니다. 이러한 스토 리지 서버 각각은 서로 독립된 구성요소이므로, 스토리지 서버가 하나 늘어난다고 해도 다른 스토리지 서버에 영향을 주지 않습니다.. 단지 TAS Layer에서 이를 하나의 볼륨으로 보이게 합니다. 이러한 구조로 인 해 대용량 확장이 가능한 스토리지 구조를 제공할 수 있습니다.
Flash Device를 활용한 I/O Cache Tiering
H/W에 플래시 디바이스가 있다면 이를 이용하여 I/O Cache Tiering을 할 수 있습니다. 즉, 플래시 디바이스 를 I/O 캐시로 사용하게 되어 OLTP 환경에서도 매우 빠른 응답속도를 제공합니다. 필요하다면 플래시 디 바이스를 I/O 캐시가 아닌 디스크로 사용할 수 있습니다.
InfiniBand를 네트워크 인터커넥트로 사용하여 SAN보다 고대역폭 I/O 제공
ZetaData는 InfiniBand를 기본 네트워크 인터커넥트로 채택하고 있습니다. InfiniBand는 기존 네트워크 기술 들보다 훨씬 높은 대역폭을 자랑하며, Fiber Channel로 구축된 SAN 환경 보다 수 배 높은 대역폭을 제공합니다.
RDMA 프로토콜을 적용하여 통신 지연시간 단축
ZetaData는 기본적으로 RDMA(Remote Direct Memory Access) 프로토콜을 이용해 노드 간에 데이터를 주고받습니다. RDMA 프로토콜을 사용함으로써 통신 지연시간과 CPU 사용률을 크게 줄이고 있습니다.
컬럼 방향 압축을 통한 압축률 극대화
기존의 로우 방향 데이터 저장 구조를 컬럼 방향으로 바꾼 후 압축함으로써 극대화된 압축 효율을 얻을 수 있습니다. 또한 데이터의 접근 빈도에 따라 서로 다른 압축 방법을 적용하여, 자주 사용하는 데이터는 조 회 속도를 높이고 자주 사용하지 않는 데이터는 압축률을 높일 수 있습니다.
검증된 Tibero 7 데이터베이스 제공
Tibero 7은 10년 이상 실환경에서 검증을 받아온 RDBMS로, 다른 DBMS들과의 BMT(Bench Marking Test)에서도 우수한 성능을 입증하고 있으며, 공공, 금융, 기업 등 다양한 분야에서 적용되고 있습니다. 핵심 및 분석 업무를 고려한 자원 효율적 아키텍처를 채택하여 대규모 데이터 처리와 클라우드 환경 요구에 효과적으로 대응하며, 안정성, 고성능, 호환성, 편의성을 보장합니다.
Tibero는 다음과 같은 고급 기능을 제공합니다.
분산 데이터베이스 링크
데이터 이중화
데이터베이스 클러스터
병렬 쿼리 처리
쿼리 최적화기
TAS, CM 활용한 안정적인 클러스터링 운영
ZetaData의 여러 분산 스토리지 서버를 하나로 묶고 Volume Managing을 하기 위하여 TAS를 제공합니다. TAS를 이용하여 일반 스토리지 솔루션처럼 Striping, Mirroring, Logical Volulme Managing 등의 기능을 사용할 수 있습니다. CM(Cluster Manager)은 클러스터링 운영을 안정적으로 가능하게 합니다.

SSVR 인스턴스
SSVR 인스턴스는 로컬 디스크를 관리하고 DBMS의 작업 중 I/O 작업을 위해 독립적으로 구성됩니다. TAC 인스턴스에 접근하는 방식과 동일하게 tbSQL을 이용하여 SSVR 인스턴스에 접속하여 관리할 수 있습니다. 로 컬 디스크 관리, 통계 정보 확인을 위한 정보를 제공합니다. SSVR 인스턴스를 설치하기 위한 바이너리는 기존 Tibero 바이너리와 동일한 형태로 제공됩니다.
SSVR 인스턴스 내 프로세스들
SSVR 인스턴스에는 아래의 프로세스들이 생성됩니다.
프로세스
설명
MGWP
시스템을 관리하기 위한 용도의 프로세스입니다. 기본적으로 워커 프로세스와 동일 한 역할을 수행하지만 리스너를 거치지 않고 스페셜 포트를 통해 직접 접속을 처리합니다. SYS 계정만 접속이 허용됩니다.
FGWP0000
클라이언트와 실제로 통신을 하며 사용자의 요구 사항을 처리하는 프로세스입니다. 구체적으로 로컬 디스크 관리, 통계 정보 확인을 위한 정보 제공 등을 합니다.
SSVR
실제 입출력 요청을 받고, 이를 처리합니다.
플래시 캐시의 관리나 스토리지 데이터 맵의 관리도 수행합니다. 대부분의 작업이
SSVR 프로세스에서 수행됩니다.
TAS/TAC 인스턴스 전용 SSVR 통신 프로세스
TAS 인스턴스와 TAC 인스턴스가 SSVR 인스턴스에 I/O 요청을 보내고 결과를 받기 위해 TAS 인스턴스 와 TAC 인스턴스에 다음의 프로세스가 추가로 생성됩니다.
프로세스
설명
SSIO
SSIO는 ZetaData 환경에서 TAS 인스턴스와 TAC 인스턴스가 SSVR 인스턴스와
I/O 요청 메시지를 교환하기 위해 생성되는 프로세스입니다.
Last updated