|  |      1F281M6Dh8DXpD1g2      2023-08-22 16:01:03 +08:00 "查询 某经纬度坐标范围 X 米内的 近 1 个月发生的相关事件。" 这个肯定可以细化一下把除了今天之前的预先算好存下来 | 
|      3qtxxm OP | 
|  |      4F281M6Dh8DXpD1g2      2023-08-22 16:06:28 +08:00 @qtxxm 你想的太简单了,建议多想想 不然就打钱买大机器或者换 pg | 
|  |      5Morriaty      2023-08-22 16:32:49 +08:00 一个月 6000w 的数据,不差钱的话,3 台中配的 es 还是能轻松抗住这个请求的 | 
|      6hyqCrystal      2023-08-22 16:44:45 +08:00 讲道理 mongodb 已经不适合你的业务场景了 上 es 集群吧 | 
|      7kingbill      2023-08-22 16:50:23 +08:00 换 pg 吧,做 gis 相关貌似很擅长 | 
|  |      8Belmode      2023-08-22 17:31:49 +08:00 有个优化方案,你看可行。 把 mongo 中的那一个数据集表 a 再拆一下,只取坐标字段、时间和当前记录的 id ,放到一个新表 b 中(或者一开始落库的时候,就再多存一份) 尽可能减少 b 的大小(如果一个月还是很多数据,那么按照 10 天拆分表 b1 ,b2, b3),这样就可以使用地理索引和时间字段索引快速查询近一个月发生事件的 id 使用 id 去表 a 中查询这个事件详情(这一步应该很快) 这个方案是尽可能继续使用 mongo ,不大改造的前提下,增加查询速度。 | 
|  |      9MoYi123      2023-08-22 17:34:52 +08:00 不太懂 mongodb 啊,  https://www.mongodb.com/docs/manual/geospatial-queries/#geospatial-indexes 你现在已经用了这个吗? 还是硬算的? | 
|  |      10rrfeng      2023-08-22 17:35:04 +08:00 via Android 日增这么多,上分片呗。 | 
|  |      11james2013      2023-08-22 17:37:34 +08:00 使用 1 个库专门存近 1 个月的用户操作记录,定期删除一次过期数据,比如 1 个小时,然后使用这个库专门查询这种记录 | 
|  |      12fivesmallq      2023-08-22 17:43:02 +08:00 ES 我估计可以,之前几千万的数据量经纬度查询还是很快的。 | 
|  |      13dw2693734d      2023-08-22 17:48:14 +08:00 via iPhone postgres 用 postgis 插件,加上 citus 搞一搞分片 | 
|  |      14winglight2016      2023-08-22 17:51:39 +08:00 推荐 ES 的几位,是否有试过 1 亿以上的索引查询?我这里不知道是 ES 机器配置低了,还是数据量大了,查询统计都挺慢的,而且因为不能关联索引查询,已经考虑迁移到其他数据库了 | 
|  |      15E520      2023-08-22 18:03:37 +08:00 clickhouse 啊! | 
|      18Elilili      2023-08-22 18:52:06 +08:00 双写一份数据,构建 geohash 索引 | 
|      19youngce      2023-08-22 19:03:14 +08:00 via iPhone 硬算就是慢吧,好歹用一下 GIS 特性 | 
|      20kinXdle      2023-08-23 10:34:35 +08:00 timescaledb + postgis | 
|      21guangming3055      2023-08-23 10:44:00 +08:00 @winglight2016 三亿主文档,数十亿的嵌套子文档,阿里云 6 节点 8 核 32G 服务器,查询非常迅速,地理位置什么的没有任何问题 | 
|      22qtxxm OP @guangming3055 牛逼。不过这 6 节点 机器费用,我们这边估计批不下来 | 
|      23webszy      2023-08-24 22:29:07 +08:00 @winglight2016 咱都 1 亿数据量了,能不能加点服务器 | 
|  |      24winglight2016      2023-08-25 08:41:14 +08:00 @guangming3055 机器配置差不多,不过我们只有三节点,我都已经在琢磨用 clickhouse 或者 mongodb 来代替 es 存日志了 @webszy 因为不是业务数据库所以预算没那么高,凑合能查日志就行 | 
|      25qtxxm OP @winglight2016 一个月前看到过某个厂用 CK 替换 ES 存储日志的文章,成本下降挺多的 |