데이터베이스

비트맵 인덱스(Bitmap Index)

비트맵 인덱스(Bitmap Index)는 데이터베이스에서 인덱싱을 최적화하기 위해 사용하는 인덱스 기법 중 하나입니다. 비트맵 인덱스는 각 고유한 값에 대해 비트 배열(비트맵)을 생성하여 데이터를 효율적으로 검색할 수 있도록 합니다. 특히 값의 종류(카디널리티, Cardinality)가 적은 경우(예: 성별, 상태값, 부서 코드 등)에 매우 효과적입니다. (OLTP보단 OLAP에서 효과적)

1. 비트맵 인덱스의 동작 방식

비트맵 인덱스는 각 열(column)의 고유한 값(unique value)에 대해 개별적인 비트맵을 생성합니다.

예를 들어, 직원 데이터(employee)에 성별(gender) 컬럼이 있다고 가정해보겠습니다.

IDNameGender
1AlexMale
2BobFemale
3CarolFemale
4DaveMale
5EveMale

이제 “Gender” 컬럼에 대해 비트맵 인덱스를 생성하면 다음과 같이 됩니다.

  • Male (남성) 1 0 0 1 1 (1번, 4번, 5번이 남성)
  • Female (여성) 0 1 1 0 0 (2번, 3번이 여성)

이제 특정 성별을 검색하면 비트 연산(AND, OR 등)을 활용하여 매우 빠르게 결과를 도출할 수 있습니다.

2. 비트맵 인덱스의 장점

빠른 검색 속도
비트 연산(AND, OR, NOT)을 사용하므로 검색 성능이 뛰어납니다.

저장 공간 절약
비트맵은 0과 1로 구성되므로 일반적인 B-Tree 인덱스보다 저장 공간을 적게 차지합니다.

다중 조건 검색 최적화
비트 연산을 활용하여 복합 조건(예: WHERE gender=’Male’ AND status=’Active’)을 빠르게 처리할 수 있습니다.

읽기(Read) 작업 최적화
읽기 연산(SELECT)이 많은 환경에서 매우 효과적입니다.

3. 비트맵 인덱스의 단점

데이터 변경(INSERT, UPDATE, DELETE) 비용이 큼
비트맵 인덱스는 값이 변경될 때마다 비트맵을 다시 생성해야 하므로, 자주 변경되는 데이터(High Cardinality)에는 적합하지 않습니다.

고유 값(카디널리티)이 많은 경우 비효율적
카디널리티가 높은 데이터(예: 주민등록번호, 전화번호, 제품 ID 등)에는 오히려 일반 B-Tree 인덱스가 더 적합합니다.

4. 비트맵 인덱스 vs B-Tree 인덱스 비교

비교 항목비트맵 인덱스(Bitmap Index)B-Tree 인덱스
적합한 경우값의 종류(카디널리티)가 적을 때값의 종류(카디널리티)가 많을 때
검색 속도매우 빠름(비트 연산 활용)보통 (트리 탐색 필요)
공간 효율성저장 공간이 적음상대적으로 더 많이 차지
데이터 변경 속도느림 (비트맵 재구성 필요)상대적으로 빠름

5. 비트맵 인덱스 사용 사례

성별(Gender), 상태(Status), 부서코드(Department Code) 등 값의 종류가 적은 컬럼
읽기(SELECT) 위주의 데이터 웨어하우스 및 분석 시스템(OLAP)
다중 조건 검색(WHERE 절에서 AND/OR 조합이 많을 경우)

6. 비트맵 인덱스 생성 예제 (Oracle)

Oracle에서 비트맵 인덱스를 생성하는 SQL 예제입니다.

비트맵 인덱스를 삭제할 때는 다음과 같이 실행합니다.

7. 결론

비트맵 인덱스는 읽기 성능을 최적화하는 데 강력한 도구이지만, 자주 변경되는 데이터에는 적합하지 않습니다.
따라서, 사용 목적에 맞춰 비트맵 인덱스와 B-Tree 인덱스를 적절히 선택하는 것이 중요합니다.

zerg96

Recent Posts

충격! 코스피 8% 폭락에 SK텔레콤 AI 차단까지 – 한국의 AI 도박이 터졌다

코스피 8% 폭락, 서킷브레이커 발동, SK텔레콤 Claude AI 차단까지. 한국의 AI 레버리지 버블이 단 하루…

1개월 ago

당신 얼굴이 이미 쓰이고 있다… AI 딥페이크 범죄, 생각보다 훨씬 심각합니다

SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…

1개월 ago

당신 얼굴이 이미 쓰이고 있다 — AI 딥페이크 범죄, 생각보다 훨씬 심각합니다

SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…

1개월 ago

달러·원 환율 급등, 지금 당신이 꼭 알아야 할 것들

달러/원 환율이 급등하는 이유와 실생활 영향을 정리했습니다. 지금 당장 활용할 수 있는 환전·투자 대응 전략까지…

1개월 ago

미래에셋·미래에셋벤처투자·미래에셋생명 동반 급등, 스페이스X와 무슨 관계?

미래에셋·미래에셋벤처투자·미래에셋생명이 동반 급등한 이유는 스페이스X 상장 기대감입니다. 세 회사가 스페이스X와 어떻게 연결되어 있는지 상세히 분석했습니다.

1개월 ago

스페이스X 상장 D-데이? 일론 머스크가 절대 말 안 하는 진짜 이유

스페이스X 상장이 계속 미뤄지는 진짜 이유를 파헤쳤습니다. 화성 계획, 스타링크 분리, 국방 계약... 머스크가 절대…

1개월 ago