본문 바로가기
데이터베이스

Sybase IQ 특징 및 장단점 - Column-wise, Bit-wise Index

by Data Lib 2023. 11. 9.

이번 포스팅에서는 Sybase IQ 에 대해서 알아보도록 하겠습니다. Sybase IQ는 DW 전용 데이터베이스 입니다. 처음 Data Warehouse 프로젝트를 할 때 개인적으로 기존 오라클 대비 얼마나 빠를까 의심했는데요. 통계적 쿼리는 상대도 안될만큼 빨리나오는 것을 보고 놀랐습니다.

 

 

Sybase IQ의 특징을 보면 왜 그런 결과가 나왔느지 이해가 가는데요. 우선 DW 전용 데이터베이스의 출현 배겨을 알아보고, Sybase IQ의 특징 및 장단점을 살펴보겠습니다. 
 

출현 배경

1. 다양한 분석 요구사항 증가

업무 시스템의 일반적인 통계 데이터가 아니라 다차원 분석, 시계열 분석에 대한 요구사항이 늘어났습니다. 단순한 데이터의 저장고가 아니라 많은 데이터를 다차원적으로 신속하게 분석하여 의사결정하는 시스템이 필요했던거죠. 계약 등의 업무처리가 아닌 고객, 상품 등에 대해  분석 needs가 커졌습니다. 


2. 하드웨어 가격 하락과 기술향상

시대가 변할 수록 하드웨어 가격은 저렴해지고 성능은 향상되어 갔습니다. 그런 이유로 대용량, 병렬 처리를 지원하는 데이터베이스의 등장이 필요했습니다. 


3. Row가 아닌 Column단위 Access

업무 시스템은 트랜잭션 단위 즉, row 단위로 레코드를 조회하지만 통계 분석 데이터의 많은 부분이 컬럼 단위 조회가 발생합니다. 그 부분에 대한 아이디어로 column 기반 데이터베이스가 출시했습니다. 결국 DW에 적합한 데이터베이스를 사용하게 됩니다. 

 

그렇다면 어떤 기술을 적용해 확연히 다른 성능을 자랑할까요? 바로 Column-wise Data와 Bit-wise Index 구조입니다.  
 

Column-wise Data 구조

기존 RDBMS는 데이터 액세스 방식이 레코드 레벨로 발생합니다. DW에 사용되는 질의는 레코드의 모든 항목이 필요한 것이 아니라 특정 몇 개의 컬럼 만을 필요합니다. Sybase IQ는 필요한 컬럼만 액세스하여 불필요한 I/O를 줄이고 한 번 I/O에 많은 양의 데이터를 읽어 들일 수 있습니다.

 

오른쪽 그림이 기존 RDBMS의 데이터 액세스 방식입니다. 왼쪽은 Sybase IQ의 액세스 방식입니다. 이렇게하면 하나의 컬럼의 sum, avg 등 통계 값은 더 빨리 계산되는 것은 당연하겠죠. 
 

Column-wise Data 구조
Column-wise Data 구조


Bit-wise Index 구조

칼럼의 카디날리티에 해당하는 수를 비트 형태로 표현합니다. 이렇게 표현된 각 비트를 개별적으로 저장하여 인덱스 생성하게 됩니다. 쉽게 말하면 컬럼이 얼마나 유일한 값이 많냐를 비트로 저장한다는 것입니다. 이 비트를 인덱스로 만들어 페이지의 크기를 줄이는 방식입니다. 

 

비트 단위로 저장된 각각의 인덱스는 서로 다른 압축 저장 기법을 사용하며 페이지 크기에 따라 다르게 사용됩니다. 말이 좀 어렵지만 인덱싱을 통해 읽어들이는 페이지의 크기를 줄인다라고 요약하면 되겠네요. 데이터베이스의 성능의 결국 데이터 블럭의 IO로 귀결됩니다. 그 부분을 효율화 시킨거라고 이해할 수 있겠죠. 
 

Bit-wise Index 구조
Bit-wise Index 구조

 

Sybase 장단점

Sybase IQ는 독자적인 Column-based 인덱싱 기술, 쿼리 프로세싱 기술, 성능 극대화 알고리즘을 혁신적으로 조화시켜 디자인한 고성능 DW용 엔진을 가지고 있습니다. 기존의 RDBMS보다 100배 빠른 ad-hoc query(비정형 질의) 처리 가능한 장점이 있습니다. 사용자 증가에 따른 부하나 새로운 비즈니스 요구에 따른 질의 변경에도 일정한 처리 속도 유지할 수 있습니다. 기존 RDBMS와 달리 시간과 자원을 투자하여 성능 유지를 위한 튜닝을 필요로 하지 않습니다. 

장점

  • Client/Server용으로 설계되어 성능과 분산처리 지원이 탁월
  • 타 데이터베이스에 비하여 DBMS를 운영하기 위하여 적은 하드웨어 자원으로도 충분
  • Replication Server 특성 우수
  • Record Tracking 우수
  • Open Server/MDI Gateway 지원

단점

  • Oracle과 같은 일번적인 RDBMS보다 DBMS 관리가 복잡함
  • MySQL과 같은 확장 기능 부재
  • Sybase 자체 개발 등의 지원도구 부족
  • IBM의 네티자(Netezza), HP의 버티카(Vertica), 오라클의 엑사데이터(Exadata) 등 대체 가능한 고성능 DBMS의 등장으로 독창성 훼손