비트맵 인덱스(BitMap Index)

Ga0·2023년 7월 10일
1

SQL

목록 보기
3/6

"전에 올린 POST : B-트리 인덱스에서 처음으로 인덱스를 다루었다."
"이번엔 비트맵 인덱스라는 것이 무엇인지 설명하고자 한다."

비트맵 인덱스

  • 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법
  • 비트맵 인덱스 목적 : 키 값을 포함하는 행의 주소를 제공
  • B-트리 인덱스와 달리 카디널리티 값이 낮은 경우(특정 데이터 집합의 유니크한 값의 개수가 높은 경우 : 중복도가 높은 경우)에 사용하기 좋다.
  • 비트 맵을 흔히 색상표로 예시를 많이 드는데, 아래와 같은 형태로 표현된다.
  • 분포도가 좋은 컬럼에 적합하며 성능 향상 효과를 얻을 수 있다.
  • 데이터가 Bit로 구성되어 있기 때문에 효율적인 논리 연산이 가능하고 저장 공간이 작다.(공간 효율)
  • 다중 조건을 만족하는 튜플 개수 계산에 적합(= 색상표로만 예시를 들어 감이 안올 수 있는데, 예를 들어 성별(F or M)와 업무형태(자택 or 출퇴근)과 같은 두개의 정보를 갖는 작업에 효율적이라는 것이다.)
  • 동일한 값이 반복되는 경우가 많아 압축 효율이 좋다.

정리!

  • 비트맵 인덱스는 OLAP(Online Analytical Processing : 온라인 분석 처리)에 사용되며, 대량의 데이터를 한꺼번에 입력한 뒤 분석 or 통계 정보를 출력할 때 많이 사용한다.
  • 또, 데이터 값의 종류가 적고, 동일한 데이터가 많을 때 주로 사용한다.

0개의 댓글