위치 기반 서비스 서버는 위치 정보를 저장하고 조회할 때 사용한다.
내가 있는 위치에서 가장 가까운 가게를 찾고 싶다면 나의 위치 정보와 가게의 위치 정보를 조회후 비교하는 과정이 필요하다.
그 때 위치 기반 서비스 서버가 이러한 역할을 수행한다. 그런데 일반 웹 서버에서 가게의 위치 정보를 요청받아 위치 데이터를 저장하거나 조회하면 안 되는 걸까? 왜 굳이 위치 기반 서비스 서버라는 것을 사용해야 할까?
위치 정보는 경도와 위도 좌표를 사용하는데, 위도와 경도 두 가지 숫자 값을 데이터베이스에 그대로 저장하면 데이터 양이 늘어나게 된다. 또한 두 개의 값을 한꺼번에 비교하여 조회한다면 검색 속도는 현저하게 떨어지게 될 것이다.
따라서 위치 정보를 효율적으로 저장하고 조회하는 별도의 방법이 필요하다.
이러한 방법을 제공하는 것이 위치 기반 서비스 서버이다!
▲ 위치 기반 서비스의 주요 기능
위치 정보는 공간데이터라고도 한다.
만약 현재 위치에서 가장 가까운 가게를 찾아달라고 위치 기반 서비스 서버에 요청하면 서버에서는 현재 위치와 가장 가까운 가게의 위치를 데이터베이스에서 검색한다.
이 때 검색 속도가 떨어지지 않도록 공간 인덱싱(Spatial Indexing) 방법을 사용한다. (보통 일반 데이터는 데이터베이스에서 B-Tree 인덱싱 방법을 사용).
커피숍과 관련 있는 데이터를 조회하려면 먼저 커피숍 데이터를 저장할 수 있어야 하는데, 클라이언트에서 커피숍 데이터를 확인한 후 서버에 데이터 추가를 요청하면 위치 기반 서비스 서버에서는 요청 데이터를 받아 저장한다.
현재 위치가 아니라 특정 영역을 지정하고 그 영역 안에 있는 가게를 모두 찾아 줄수도 있다.
'Study > IT 이야기' 카테고리의 다른 글
서버와 클라이언트의 데이터를 주고받는 방법 (0) | 2019.04.24 |
---|---|
모바일 서버의 중요한 기능?? (0) | 2019.03.06 |
JSON-RPC 서버의 중요한 기능?? (0) | 2019.03.06 |
채팅 서버의 중요한 기능? (0) | 2019.03.06 |
서버 유형은 어떤 것이 있을까? (0) | 2019.03.06 |