Study/IT 이야기

위치 기반 서비스 서버의 중요한 기능??

AC 2019. 3. 6. 15:48





위치 기반 서비스 서버는 위치 정보를 저장하고 조회할 때 사용한다.


내가 있는 위치에서 가장 가까운 가게를 찾고 싶다면 나의 위치 정보와 가게의 위치 정보를 조회후 비교하는 과정이 필요하다.


그 때 위치 기반 서비스 서버가 이러한 역할을 수행한다. 그런데 일반 웹 서버에서 가게의 위치 정보를 요청받아 위치 데이터를 저장하거나 조회하면 안 되는 걸까? 왜 굳이 위치 기반 서비스 서버라는 것을 사용해야 할까?



위치 정보는 경도와 위도 좌표를 사용하는데, 위도와 경도 두 가지 숫자 값을 데이터베이스에 그대로 저장하면 데이터 양이 늘어나게 된다. 또한 두 개의 값을 한꺼번에 비교하여 조회한다면 검색 속도는 현저하게 떨어지게 될 것이다.


따라서 위치 정보를 효율적으로 저장하고 조회하는 별도의 방법이 필요하다.


이러한 방법을 제공하는 것이 위치 기반 서비스 서버이다!



▲ 위치 기반 서비스의 주요 기능




위치 정보는 공간데이터라고도 한다. 


만약 현재 위치에서 가장 가까운 가게를 찾아달라고 위치 기반 서비스 서버에 요청하면 서버에서는 현재 위치와 가장 가까운 가게의 위치를 데이터베이스에서 검색한다. 


이 때 검색 속도가 떨어지지 않도록 공간 인덱싱(Spatial Indexing) 방법을 사용한다. (보통 일반 데이터는 데이터베이스에서 B-Tree 인덱싱 방법을 사용). 


커피숍과 관련 있는 데이터를 조회하려면 먼저 커피숍 데이터를 저장할 수 있어야 하는데, 클라이언트에서 커피숍 데이터를 확인한 후 서버에 데이터 추가를 요청하면 위치 기반 서비스 서버에서는 요청 데이터를 받아 저장한다. 


현재 위치가 아니라 특정 영역을 지정하고 그 영역 안에 있는 가게를 모두 찾아 줄수도 있다.


LIST