R-Tree 인덱스

공간 인덱스는 R-Tree 알고리즘을 이용해 2차원 데이터를 인덱싱하고 검색하는 목적의 인덱스이다.

B-Tree는 인덱스를 구성하는 칼럼의 값이 1차원 스칼라 값인 반면, R-Tree 인덱스는 2차원의 공간 개념 값이라는 것이다.

위치 기반 서비스를 구현하기 위한 방법으로 MySQL 공간확장을 이용할 수 있다.

MySQL의 공간 확장에는 다음과 같이 세가지 기능이 포함돼 있다.

구조 및 특성

데이터 타입은 4개(Point, Line, Polygon, Geometry)가 존재한다.

R-Tree 알고리즘을 이해하려면 MBR이라는 개념에 대한 이해가 필요한데, MBR은 해당 도형을 감싸는 최소 크기의 사각형을 의미한다.

공간 데이터 MBR이 어떻게 구성되고, 최상위 - 차상위 - 최하위 순으로 루트노드 - 브랜치노드 - 리프노드의 인덱스로 이루어진다.

?) 8.22 이미지에서 루트노드라하면, R1과 R2가 하나의 MBR로 묶이는걸 생각했는데, 그렇지 않았다. 그냥 예시이기 떄문에 그런걸까?