Tile38是地理定位数据存储,空间索引和实时地理围栏。它支持多种对象类型,包括纬度/经度点,边界框,XYZ平铺,Geohashes和GeoJSON。
主要特性:
- 地理空间索引,支持类似附近、包含、相交..
- 通过 webhooks或 pub/sub channels实现实时地理围栏
- 支持多种对象: lat/lon, bbox, Geohash, GeoJSON, QuadKey, and XYZ tile.
- 支持各种语言的客户端库 Clients Libraries
- 支持各种协议,包括: http(curl)、 websockets、 telnet、 Redis RESP.
- 服务器返回格式可以设定为: RESP或 JSON.
- 完整的命令行接口 command line interface.
- Leader / follower replication.
- 内存型数据库
优点:
- 兼容 redis 协议
- 功能函数丰富,比如超时设置, hook 调用通知, json 接口等
- golang 语言编写, 部署方便
- 支持主从, 以 redis 的 aof 格式存储数据
- 搜索函数比起 redis 丰富了很多
缺点:
- 不是特别稳定, github 还有很多未解决的 issue
- 没有配置文件, 都在代码里控制, 不清楚作者有没有这方面的打算
其他数据库:
- Mongodb: https://docs.mongodb.com/manual/geospatial-queries/
- PostgreSQL+Postgis: http://postgis.net/documentation/
- MySQL(MyISAM 5.6+,InnoDB 5.7+): https://dev.mysql.com/doc/refman/5.6/en/spatial-types.html
参考链接: