다섯 살도 알 수 있게 · DB/데이터

다차원 색인구조가 뭐예요?

다차원 색인구조를, 재고 카드에 구역·유통기한·분류 같은 여러 딱지를 동시에 붙여 한 번에 찾는 이야기로 풀어봤어요.

B구역에 있으면서, 이번 주 유통기한인 상자요!분류 담당이 선반을 처음부터 다 뒤져야 해요

배송 기사가 B구역이면서 이번 주 유통기한인 상자를 찾아달래요.분류 담당이 선반을 처음부터 다 뒤져야 해요.

B구역 색인만 있어요✕유통기한은 색인이 없어요구역 색인이 있어도 유통기한 찾기까지 빨라지진 않아요

색인 하나는 그 기준의 검색만 빠르게 해요.구역 색인이 있어도 유통기한 찾기까지 빨라지진 않아요.

B✓가다차원 색인구조 = 카드 한 장에 여러 딱지를 동시에 붙이기구역유통기한분류구역·유통기한·분류를 섞어 찾아도 선반을 다 뒤지지 않아요

다차원 색인구조는 카드 한 장에 여러 딱지를 동시에 붙여요.구역·유통기한·분류를 섞어 찾아도 선반을 다 뒤지지 않아요.

여러 딱지 동시에 붙이기복합 색인도 쓰지만 앞쪽 컬럼 조건이 없으면 효율이 떨어져요
공간을 나눠 찾기R-트리 방식이에요
있다/없다로 빨리 거르기비트맵 색인이에요
비슷한 것끼리 묶어 찾기벡터 검색에 쓰여요
공간을 네모로 나눠 좁혀가요(R-트리)비트맵 색인B구역✓유통기한가분류있다/없다를 0·1로 겹쳐 빨리 걸러요찾는 목적에 따라 다른 모양의 다차원 색인을 써요

찾는 목적에 따라 다른 모양의 다차원 색인을 써요.위치를 찾으면 R-트리, 있다/없다를 거르면 비트맵을 써요.

ABCD딱지가 많아질수록 새 상자 넣기도 느려져요~뜻이 비슷한 데이터끼리 찾는 색인도 있어요(AI 분야의 벡터 색인)

딱지가 많아질수록 새 상자 넣기도 느려져요.뜻이 비슷한 데이터끼리 찾는 벡터 색인도 있어요.

한 줄로

다차원 색인구조는 하나의 기준이 아니라 여러 속성을 동시에 빠르게 찾도록 만든 색인이에요.

하나의 컬럼만 정렬해 두는 일반 색인과 달리, 다차원 색인은 공간(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
색인만 보고 답을 다 주는 경우. 선반까지 안 가도 돼서 더 빨라요.
다음 이야기
그 자리에서 맞춤 주문서 쓰기 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →