- nebula 版本:3.5
- 部署方式:单机
- 安装方式:RPM
- 是否上生产环境:N
- 硬件信息
内存:64G
- 问题的具体描述
一天数据大概有四百万条,导入三天的数据量,能查询出来结果,但是导入一个月的数据后查询不出来了,一直超时,同时发现随着导入的数据量增加storagd内存占用比越来越高,后来尝试减小write_buffer_size和block_size,其内存占用率还是很高
问题:
1:当数据量非常大的时候像这种聚合统计再过滤的操作有什么办法能加速下吗?nebula是否适合做这种查询,是不是我的用法有问题,希望得到各位大佬指点
2:未来我希望导入并统计半年数据,这种数据量的情况下,像这种统计语句能计算的出来吗?集群的资源配置应该如何如何估算?
3:storagd内存占用高的原因?有什么办法能让他降低一些吗?
查询语句:
match_pid_tid = "match (s:securityop)-[ov:overring]->(o:`order`)-[re:refund]-(t:tender) " + \
"with id(s) as sid, collect(id(o)) as list_order_number, o.`order`.store_code as " + \
"store_code, t,count(re) as over_count, id(t) as tid, collect(distinct " + \
"o.`order`.business_day) as business_day " + \
"where over_count > " + str(min_over_count) + " " + \
"return sid, list_order_number, store_code, over_count, tid,business_day " + \
"order by over_count desc "
当前一个月的数据量:
内存使用情况:
graphd日志:
storaged配置: