(1) 지연시간 및 처리량에 대한 명확한 요구사항
(2) 일관성 vs 가용성
(3) 중요한 구성 요소에 대한 읽기/쓰기 시나리오를 위한 API
(4) 데이터베이스 스키마
(5) 활용하는 주요 알고리즘
GeoHash
직접 구현하지는 않고 mongoDB에 구현된 geometry 쿼리를 활용한다.
var neighborhood = db.neighborhoods.findOne( { geometry: { $geoIntersects: { $geometry: { type: "Point", coordinates: [ -73.93414657, 40.82302903 ] } } } } )
db.restaurants.find( { location: { $geoWithin: { $geometry: neighborhood.geometry } } } ).count()