728x90
- DB
- Index
Index 작동 원리- Index 종류
B-Tree 인덱스Hash Indexes- Bitmap Index
- GIST(Generalized Search Tree)
- R-Tree
- Full Text Index
- Spatial Index
- Trie(Prefix Tree) Index
- Covering Index
- 영속성
- 트랜잭션
- ORM
- ACID
- N+1 문제
- DB 정규화
- Data Replication
- sharding 전략
- CAP 이론
- Index
Bitmap Index 란?
- 인덱스 컬럼의 데이터를 bit 값인 0 또는 1로 변환하여 인덱스 키로 사용함.
- 저카디널리티(적은 수의 고유한 값)를 가진 컬럼에 유용하게 적용됨.
- 각각의 컬럼 값에 대해 비트맵(이진 숫자의 배열)을 생성하고, 각 비트는 행의 존재 여부를 나타냄.
장단점
장점
저장 방식 : 각 값에 대해 비트 배열이 할당되며, 특정 컬럼 값이 특정 행에 있으면 해당 비트는 1로 설정되고, 그렇지 않으면 0 으로 설정됨.
효율적인 공간 사용 : 비트맵은 매우 공간 효율적이기 때문에, 작은 공간에 많은 데이터의 존재 여부를 표현할 수 있음.
빠른 검색 속도 : 특정 조건에 대한 검색이나, 여러 조건의 조합(AND, OR, NOT 연산)을 통한 복합 쿼리 처리 시 매우 빠른 성능을 보임. 비트 연산은 CPU에서 매우 빠르게 처리될 수 있으므로, 적절한 상황에서 쿼리 성능이 크게 향상될 수 있음.
쿼리 최적화 : 비트맵 인덱스는 복잡한 조인이나, 여러 조건의 필터링이 필요한 쿼리에서도 고성능을 유지할 수 있도록 도와줌
단점
낮은 쓰기 성능 : DB 에서의 데이터의 추가, 삭제, 수정 작업이 빈번할 때, 비트맵 인덱스는 성능저하를 일으킬 수 있음. -> 인덱스 자체를 수정해야하기 때문
고카디널리티 데이터에는 비효율적 : 많은 고유값이 있는 컬럼에 비트맵 인덱스를 사용하면, 인덱스의 크기가 커지고, 그로 인해 성능이 저하될 수 있음.
728x90
'99클럽 TIL' 카테고리의 다른 글
99클럽 코테 스터디 9일차 TIL DB Full Text Index (0) | 2024.05.28 |
---|---|
99클럽 코테 스터디 8일차 TIL DB R-Tree (0) | 2024.05.27 |
99클럽 코테 스터디 5일차 TIL DB Hash Indexes (0) | 2024.05.24 |
99클럽 코테 스터디 4일차 TIL DB B-Tree 인덱스 (0) | 2024.05.23 |
99클럽 코테 스터디 3일차 TIL DB Index 작동 원리 (0) | 2024.05.22 |
Comment