es 过亿数据查询咨询

查看 276|回复 29
AutumnVerse   
lat lng 不要用 double 存,有专门的 location 类型。
不过单看你这个查询,索引和查询语句都没问题,不应该这么慢,应该是 es 哪里配置有问题。不过你这个内存确实太小了,线上 es 服务器,基本上 200g 内存起步
fjkfwz406   
调大 shards ,按照 serialNumber router 到一个 shard 上,可以避免查多个 shard 然后 merge 的消耗
opengps   
车辆定位,是个前同行
seedhk
OP
  
@AutumnVerse lat 和 lng 因为不会涉及查询,还需要改成 location 吗?
您说的具体配置问题可能是哪里问题? 内存如果换成 3 个节点每个 8g ,是否会好一些?
seedhk
OP
  
@fjkfwz406 shards 数据增加吗?
另外测试过 serialNumber route 到一个 shard 上的,速度也快不起来
seedhk
OP
  
@opengps 请问下您之前涉及这块需求了吗? 是如何处理的
opengps   
@seedhk #15 你只是要查询最新,那可以从源头上解决,直接内存里缓存所有设备的最后一条数据,而不是去数据库执行查询
shalou8023   
可以考虑下时序数据库 Clickhouse 之类的
awesomePower   
我试了下,用数据库也很快。随机生成一亿两千万数据,字段比你的例子还多两个。用随机 300 个 serialNumber 查一下,只要 0.3 秒
1018ji   
每个节点内存太小了,ES 的数据要全部放到内存里最好。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部