다섯 살도 알 수 있게 · DB/데이터
다차원 색인구조가 뭐예요?
다차원 색인구조를, 재고 카드에 구역·유통기한·분류 같은 여러 딱지를 동시에 붙여 한 번에 찾는 이야기로 풀어봤어요.
배송 기사가 B구역이면서 이번 주 유통기한인 상자를 찾아달래요.분류 담당이 선반을 처음부터 다 뒤져야 해요.
색인 하나는 그 기준의 검색만 빠르게 해요.구역 색인이 있어도 유통기한 찾기까지 빨라지진 않아요.
다차원 색인구조는 카드 한 장에 여러 딱지를 동시에 붙여요.구역·유통기한·분류를 섞어 찾아도 선반을 다 뒤지지 않아요.
여러 딱지 동시에 붙이기복합 색인도 쓰지만 앞쪽 컬럼 조건이 없으면 효율이 떨어져요
공간을 나눠 찾기R-트리 방식이에요
있다/없다로 빨리 거르기비트맵 색인이에요
비슷한 것끼리 묶어 찾기벡터 검색에 쓰여요
찾는 목적에 따라 다른 모양의 다차원 색인을 써요.위치를 찾으면 R-트리, 있다/없다를 거르면 비트맵을 써요.
딱지가 많아질수록 새 상자 넣기도 느려져요.뜻이 비슷한 데이터끼리 찾는 벡터 색인도 있어요.
한 줄로
다차원 색인구조는 하나의 기준이 아니라 여러 속성을 동시에 빠르게 찾도록 만든 색인이에요.
하나의 컬럼만 정렬해 두는 일반 색인과 달리, 다차원 색인은 공간(R-트리, k-d 트리), 값의 유무(비트맵), 벡터 유사도 등 여러 방식으로 여러 조건을 동시에 다뤄요. 단점은 색인이 많아질수록 입력(쓰기) 비용이 커지고, 기준(차원)이 너무 많아지면 오히려 효율이 떨어지는 '차원의 저주'가 생긴다는 점이에요.
어른들은 이렇게 불러요
- 복합 색인
Composite Index - 여러 컬럼을 묶어 만든 색인. 컬럼 순서도 검색 성능에 영향을 줘요.
- R-트리
R-tree - 공간을 네모로 나눠 좁혀가는 색인. 지도·좌표 데이터에 많이 써요.
- 비트맵 색인
Bitmap Index - 있다/없다를 0·1로 겹쳐보는 색인. 값 종류가 적을 때 빨라요.
- 차원의 저주
Curse of Dimensionality - 기준(차원)이 너무 많아지면 색인 검색이 느려짐. 색인이 오히려 덜 효과적이 돼요.
- 공간 색인
Spatial Index - 위치 기준으로 찾는 색인. R-트리가 대표적인 구현이에요.
- 벡터 색인
Vector Index - 뜻이 비슷한 것끼리 찾는 색인. AI 분야에서 임베딩 검색에 써요. → 의미로 찾는 창고
- 쓰기 비용
Write Overhead - 새 상자 넣을 때마다 드는 수고. 색인이 많을수록 입력은 느려져요.
- 커버링 색인
Covering Index - 색인만 보고 답을 다 주는 경우. 선반까지 안 가도 돼서 더 빨라요.
다음 이야기
그 자리에서 맞춤 주문서 쓰기 →