集群部署方式
头条MongoDB服务化:https://wiki.bytedance.net/pages/viewpage.action?pageId=213740872
采用shared cluster架构:https://yq.aliyun.com/articles/32434?spm=5176.8091938.0.0.myHNU1
sharding策略
相关博客和文档
地理位置相关博客:http://www.mongoing.com/mongodb-geo-index-1/
地理位置操作官方文档:https://docs.mongodb.com/manual/geospatial-queries/
地理位置查询(MongoDB 3.6版本)
https://docs.mongodb.com/manual/reference/operator/query-geospatial/
https://docs.mongodb.com/manual/reference/operator/aggregation/geoNear/index.html
创建空间索引
每个集合上创建2dsphere索引:
db.restaurants.createIndex({ location: "2dsphere" })
db.neighborhoods.createIndex({ geometry: "2dsphere" })
2dsphere Index介绍
https://docs.mongodb.com/v3.6/core/2dsphere/#
2dsphere索引支持在类似地球的球体上做几何计算的查询。
注意:
1、不能使用空间索引字段做shard key
2、可以在sharded collection上创建空间索引
Go Mongo Client
mgo与session(重点):
使用指南
go geohash lib:
https://github.com/GongDexing/Geohash 支持geohash编码和附近的点召回
https://github.com/mmcloughlin/geohash 支持geohash编码和反编码,附近的点召回
网友评论